Something went wrong. Try again.
Monorepo for Tangled
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384package models
import ( "slices" "time"
"github.com/bluesky-social/indigo/atproto/syntax")
type WebhookEvent string
const ( WebhookEventPush WebhookEvent = "push" WebhookEventRepoRenamed WebhookEvent = "repository:renamed")
type Webhook struct { Id int64 RepoDid syntax.DID Url string Secret string Active bool Events []string // comma-separated event types CreatedAt time.Time UpdatedAt time.Time}
// HasEvent checks if the webhook is subscribed to a specific eventfunc (w *Webhook) HasEvent(event WebhookEvent) bool { return slices.Contains(w.Events, string(event))}
type WebhookDelivery struct { Id int64 WebhookId int64 Event string DeliveryId string // UUID for tracking Url string RequestBody string ResponseCode int ResponseBody string Success bool CreatedAt time.Time}
// WebhookPayload represents the webhook payload structuretype WebhookPayload struct { Ref string `json:"ref"` Before string `json:"before"` After string `json:"after"` Repository WebhookRepository `json:"repository"` Pusher WebhookUser `json:"pusher"`}
// WebhookRepository represents repository information in webhook payloadtype WebhookRepository struct { Name string `json:"name"` FullName string `json:"full_name"` Description string `json:"description"` Fork bool `json:"fork"` HtmlUrl string `json:"html_url"` CloneUrl string `json:"clone_url"` SshUrl string `json:"ssh_url"` Website string `json:"website,omitempty"` StarsCount int `json:"stars_count,omitempty"` OpenIssues int `json:"open_issues_count,omitempty"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` Owner WebhookUser `json:"owner"`}
// WebhookUser represents user information in webhook payloadtype WebhookUser struct { Did string `json:"did"`}
// WebhookRenamePayload represents the payload for a repository:renamed eventtype WebhookRenamePayload struct { OldName string `json:"old_name"` NewName string `json:"new_name"` Repository WebhookRepository `json:"repository"` Sender WebhookUser `json:"sender"`}