diff --git a/api/tangled/webhookcreateWebhook.go b/api/tangled/webhookcreateWebhook.go new file mode 100644 index 000000000..abb238739 --- /dev/null +++ b/api/tangled/webhookcreateWebhook.go @@ -0,0 +1,45 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.createWebhook + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookCreateWebhookNSID = "org.tangled.webhook.createWebhook" +) + +// WebhookCreateWebhook_Input is the input argument to a org.tangled.webhook.createWebhook call. +type WebhookCreateWebhook_Input struct { + // active: Whether the webhook should be active immediately. Defaults to true. + Active *bool `json:"active,omitempty" cborgen:"active,omitempty"` + // events: Event types to subscribe to (e.g. 'push', 'repository:renamed'). + Events []string `json:"events" cborgen:"events"` + // repoDid: DID of the repository as minted by the knot. + RepoDid string `json:"repoDid" cborgen:"repoDid"` + // secret: Optional HMAC secret used to sign payloads. If omitted, payloads are not signed. + Secret *string `json:"secret,omitempty" cborgen:"secret,omitempty"` + // url: Endpoint URL that will receive webhook payloads. + Url string `json:"url" cborgen:"url"` +} + +// WebhookCreateWebhook_Output is the output of a org.tangled.webhook.createWebhook call. +type WebhookCreateWebhook_Output struct { + // id: ID of the newly created webhook. + Id int64 `json:"id" cborgen:"id"` +} + +// WebhookCreateWebhook calls the XRPC method "org.tangled.webhook.createWebhook". +func WebhookCreateWebhook(ctx context.Context, c util.LexClient, input *WebhookCreateWebhook_Input) (*WebhookCreateWebhook_Output, error) { + var out WebhookCreateWebhook_Output + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.webhook.createWebhook", nil, input, &out); err != nil { + return nil, err + } + + return &out, nil +} diff --git a/api/tangled/webhookdeleteWebhook.go b/api/tangled/webhookdeleteWebhook.go new file mode 100644 index 000000000..0fe584035 --- /dev/null +++ b/api/tangled/webhookdeleteWebhook.go @@ -0,0 +1,32 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.deleteWebhook + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookDeleteWebhookNSID = "org.tangled.webhook.deleteWebhook" +) + +// WebhookDeleteWebhook_Input is the input argument to a org.tangled.webhook.deleteWebhook call. +type WebhookDeleteWebhook_Input struct { + // id: Webhook ID to delete. + Id int64 `json:"id" cborgen:"id"` + // repoDid: DID of the repository as minted by the knot. + RepoDid string `json:"repoDid" cborgen:"repoDid"` +} + +// WebhookDeleteWebhook calls the XRPC method "org.tangled.webhook.deleteWebhook". +func WebhookDeleteWebhook(ctx context.Context, c util.LexClient, input *WebhookDeleteWebhook_Input) error { + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.webhook.deleteWebhook", nil, input, nil); err != nil { + return err + } + + return nil +} diff --git a/api/tangled/webhooklistDeliveries.go b/api/tangled/webhooklistDeliveries.go new file mode 100644 index 000000000..477543139 --- /dev/null +++ b/api/tangled/webhooklistDeliveries.go @@ -0,0 +1,55 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.listDeliveries + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookListDeliveriesNSID = "org.tangled.webhook.listDeliveries" +) + +// WebhookListDeliveries_Delivery is a "delivery" in the org.tangled.webhook.listDeliveries schema. +type WebhookListDeliveries_Delivery struct { + CreatedAt string `json:"createdAt" cborgen:"createdAt"` + // deliveryId: UUID for tracking this delivery attempt. + DeliveryId string `json:"deliveryId" cborgen:"deliveryId"` + // event: Event type that triggered the delivery. + Event string `json:"event" cborgen:"event"` + Id int64 `json:"id" cborgen:"id"` + RequestBody *string `json:"requestBody,omitempty" cborgen:"requestBody,omitempty"` + ResponseBody *string `json:"responseBody,omitempty" cborgen:"responseBody,omitempty"` + ResponseCode *int64 `json:"responseCode,omitempty" cborgen:"responseCode,omitempty"` + Success bool `json:"success" cborgen:"success"` + Url string `json:"url" cborgen:"url"` +} + +// WebhookListDeliveries_Output is the output of a org.tangled.webhook.listDeliveries call. +type WebhookListDeliveries_Output struct { + Deliveries []*WebhookListDeliveries_Delivery `json:"deliveries" cborgen:"deliveries"` +} + +// WebhookListDeliveries calls the XRPC method "org.tangled.webhook.listDeliveries". +// +// id: Webhook ID. +// repoDid: DID of the repository as minted by the knot. +func WebhookListDeliveries(ctx context.Context, c util.LexClient, id int64, limit int64, repoDid string) (*WebhookListDeliveries_Output, error) { + var out WebhookListDeliveries_Output + + params := map[string]interface{}{} + params["id"] = id + if limit != 0 { + params["limit"] = limit + } + params["repoDid"] = repoDid + if err := c.LexDo(ctx, util.Query, "", "org.tangled.webhook.listDeliveries", params, nil, &out); err != nil { + return nil, err + } + + return &out, nil +} diff --git a/api/tangled/webhooklistWebhooks.go b/api/tangled/webhooklistWebhooks.go new file mode 100644 index 000000000..3ec391365 --- /dev/null +++ b/api/tangled/webhooklistWebhooks.go @@ -0,0 +1,49 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.listWebhooks + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookListWebhooksNSID = "org.tangled.webhook.listWebhooks" +) + +// WebhookListWebhooks_Output is the output of a org.tangled.webhook.listWebhooks call. +type WebhookListWebhooks_Output struct { + Webhooks []*WebhookListWebhooks_Webhook `json:"webhooks" cborgen:"webhooks"` +} + +// WebhookListWebhooks_Webhook is a "webhook" in the org.tangled.webhook.listWebhooks schema. +type WebhookListWebhooks_Webhook struct { + // active: Whether the webhook is currently enabled. + Active bool `json:"active" cborgen:"active"` + CreatedAt string `json:"createdAt" cborgen:"createdAt"` + // events: Event types this webhook is subscribed to (e.g. 'push', 'repository:renamed'). + Events []string `json:"events" cborgen:"events"` + // id: Webhook identifier. + Id int64 `json:"id" cborgen:"id"` + UpdatedAt *string `json:"updatedAt,omitempty" cborgen:"updatedAt,omitempty"` + // url: Endpoint URL that receives webhook payloads. + Url string `json:"url" cborgen:"url"` +} + +// WebhookListWebhooks calls the XRPC method "org.tangled.webhook.listWebhooks". +// +// repoDid: DID of the repository as minted by the knot. +func WebhookListWebhooks(ctx context.Context, c util.LexClient, repoDid string) (*WebhookListWebhooks_Output, error) { + var out WebhookListWebhooks_Output + + params := map[string]interface{}{} + params["repoDid"] = repoDid + if err := c.LexDo(ctx, util.Query, "", "org.tangled.webhook.listWebhooks", params, nil, &out); err != nil { + return nil, err + } + + return &out, nil +} diff --git a/api/tangled/webhookretryDelivery.go b/api/tangled/webhookretryDelivery.go new file mode 100644 index 000000000..785c04b93 --- /dev/null +++ b/api/tangled/webhookretryDelivery.go @@ -0,0 +1,34 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.retryDelivery + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookRetryDeliveryNSID = "org.tangled.webhook.retryDelivery" +) + +// WebhookRetryDelivery_Input is the input argument to a org.tangled.webhook.retryDelivery call. +type WebhookRetryDelivery_Input struct { + // deliveryId: UUID of the delivery to retry. + DeliveryId string `json:"deliveryId" cborgen:"deliveryId"` + // repoDid: DID of the repository as minted by the knot. + RepoDid string `json:"repoDid" cborgen:"repoDid"` + // webhookId: Webhook ID that owns the delivery. + WebhookId int64 `json:"webhookId" cborgen:"webhookId"` +} + +// WebhookRetryDelivery calls the XRPC method "org.tangled.webhook.retryDelivery". +func WebhookRetryDelivery(ctx context.Context, c util.LexClient, input *WebhookRetryDelivery_Input) error { + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.webhook.retryDelivery", nil, input, nil); err != nil { + return err + } + + return nil +} diff --git a/api/tangled/webhooktoggleWebhook.go b/api/tangled/webhooktoggleWebhook.go new file mode 100644 index 000000000..f971ddcea --- /dev/null +++ b/api/tangled/webhooktoggleWebhook.go @@ -0,0 +1,39 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.toggleWebhook + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookToggleWebhookNSID = "org.tangled.webhook.toggleWebhook" +) + +// WebhookToggleWebhook_Input is the input argument to a org.tangled.webhook.toggleWebhook call. +type WebhookToggleWebhook_Input struct { + // id: Webhook ID to toggle. + Id int64 `json:"id" cborgen:"id"` + // repoDid: DID of the repository as minted by the knot. + RepoDid string `json:"repoDid" cborgen:"repoDid"` +} + +// WebhookToggleWebhook_Output is the output of a org.tangled.webhook.toggleWebhook call. +type WebhookToggleWebhook_Output struct { + // active: New active state of the webhook. + Active bool `json:"active" cborgen:"active"` +} + +// WebhookToggleWebhook calls the XRPC method "org.tangled.webhook.toggleWebhook". +func WebhookToggleWebhook(ctx context.Context, c util.LexClient, input *WebhookToggleWebhook_Input) (*WebhookToggleWebhook_Output, error) { + var out WebhookToggleWebhook_Output + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.webhook.toggleWebhook", nil, input, &out); err != nil { + return nil, err + } + + return &out, nil +} diff --git a/api/tangled/webhookupdateWebhook.go b/api/tangled/webhookupdateWebhook.go new file mode 100644 index 000000000..e75d7d33c --- /dev/null +++ b/api/tangled/webhookupdateWebhook.go @@ -0,0 +1,36 @@ +// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. + +package tangled + +// schema: org.tangled.webhook.updateWebhook + +import ( + "context" + + "github.com/bluesky-social/indigo/lex/util" +) + +const ( + WebhookUpdateWebhookNSID = "org.tangled.webhook.updateWebhook" +) + +// WebhookUpdateWebhook_Input is the input argument to a org.tangled.webhook.updateWebhook call. +type WebhookUpdateWebhook_Input struct { + Active *bool `json:"active,omitempty" cborgen:"active,omitempty"` + Events []string `json:"events,omitempty" cborgen:"events,omitempty"` + // id: Webhook ID to update. + Id int64 `json:"id" cborgen:"id"` + // repoDid: DID of the repository as minted by the knot. + RepoDid string `json:"repoDid" cborgen:"repoDid"` + Secret *string `json:"secret,omitempty" cborgen:"secret,omitempty"` + Url *string `json:"url,omitempty" cborgen:"url,omitempty"` +} + +// WebhookUpdateWebhook calls the XRPC method "org.tangled.webhook.updateWebhook". +func WebhookUpdateWebhook(ctx context.Context, c util.LexClient, input *WebhookUpdateWebhook_Input) error { + if err := c.LexDo(ctx, util.Procedure, "application/json", "org.tangled.webhook.updateWebhook", nil, input, nil); err != nil { + return err + } + + return nil +}