// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
package org_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.
Active *bool `json:"active,omitempty" cborgen:"active,omitempty"`
// events: Event types to subscribe to.
Events []*string `json:"events" cborgen:"events"`
// repo: DID of the repository as minted by the knot.
Repo string `json:"repo" cborgen:"repo"`
// 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 string `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
}