~james/core

core/api/org_tangled/webhookcreateWebhook.go -rw-r--r-- 1.6 KiB
452f17b7 — james chore(import): snapshot james.dad.town/core at f70c71c7696a 14 hours ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// 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
}