lexicons: add xrpc lexicons for secret management #370

merged
opened by oppi.li targeting master from push-vynsusnqpmus
+31
api/tangled/repoaddSecret.go
···
···
+
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
+
+
package tangled
+
+
// schema: sh.tangled.repo.addSecret
+
+
import (
+
"context"
+
+
"github.com/bluesky-social/indigo/lex/util"
+
)
+
+
const (
+
RepoAddSecretNSID = "sh.tangled.repo.addSecret"
+
)
+
+
// RepoAddSecret_Input is the input argument to a sh.tangled.repo.addSecret call.
+
type RepoAddSecret_Input struct {
+
Key string `json:"key" cborgen:"key"`
+
Repo string `json:"repo" cborgen:"repo"`
+
Value string `json:"value" cborgen:"value"`
+
}
+
+
// RepoAddSecret calls the XRPC method "sh.tangled.repo.addSecret".
+
func RepoAddSecret(ctx context.Context, c util.LexClient, input *RepoAddSecret_Input) error {
+
if err := c.LexDo(ctx, util.Procedure, "application/json", "sh.tangled.repo.addSecret", nil, input, nil); err != nil {
+
return err
+
}
+
+
return nil
+
}
+41
api/tangled/repolistSecrets.go
···
···
+
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
+
+
package tangled
+
+
// schema: sh.tangled.repo.listSecrets
+
+
import (
+
"context"
+
+
"github.com/bluesky-social/indigo/lex/util"
+
)
+
+
const (
+
RepoListSecretsNSID = "sh.tangled.repo.listSecrets"
+
)
+
+
// RepoListSecrets_Output is the output of a sh.tangled.repo.listSecrets call.
+
type RepoListSecrets_Output struct {
+
Secrets []*RepoListSecrets_Secret `json:"secrets" cborgen:"secrets"`
+
}
+
+
// RepoListSecrets_Secret is a "secret" in the sh.tangled.repo.listSecrets schema.
+
type RepoListSecrets_Secret struct {
+
CreatedAt string `json:"createdAt" cborgen:"createdAt"`
+
CreatedBy string `json:"createdBy" cborgen:"createdBy"`
+
Key string `json:"key" cborgen:"key"`
+
Repo string `json:"repo" cborgen:"repo"`
+
}
+
+
// RepoListSecrets calls the XRPC method "sh.tangled.repo.listSecrets".
+
func RepoListSecrets(ctx context.Context, c util.LexClient, repo string) (*RepoListSecrets_Output, error) {
+
var out RepoListSecrets_Output
+
+
params := map[string]interface{}{}
+
params["repo"] = repo
+
if err := c.LexDo(ctx, util.Query, "", "sh.tangled.repo.listSecrets", params, nil, &out); err != nil {
+
return nil, err
+
}
+
+
return &out, nil
+
}
+30
api/tangled/reporemoveSecret.go
···
···
+
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
+
+
package tangled
+
+
// schema: sh.tangled.repo.removeSecret
+
+
import (
+
"context"
+
+
"github.com/bluesky-social/indigo/lex/util"
+
)
+
+
const (
+
RepoRemoveSecretNSID = "sh.tangled.repo.removeSecret"
+
)
+
+
// RepoRemoveSecret_Input is the input argument to a sh.tangled.repo.removeSecret call.
+
type RepoRemoveSecret_Input struct {
+
Key string `json:"key" cborgen:"key"`
+
Repo string `json:"repo" cborgen:"repo"`
+
}
+
+
// RepoRemoveSecret calls the XRPC method "sh.tangled.repo.removeSecret".
+
func RepoRemoveSecret(ctx context.Context, c util.LexClient, input *RepoRemoveSecret_Input) error {
+
if err := c.LexDo(ctx, util.Procedure, "application/json", "sh.tangled.repo.removeSecret", nil, input, nil); err != nil {
+
return err
+
}
+
+
return nil
+
}
+37
lexicons/addSecret.json
···
···
+
{
+
"lexicon": 1,
+
"id": "sh.tangled.repo.addSecret",
+
"defs": {
+
"main": {
+
"type": "procedure",
+
"description": "Add a CI secret",
+
"input": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"required": [
+
"repo",
+
"key",
+
"value"
+
],
+
"properties": {
+
"repo": {
+
"type": "string",
+
"format": "at-uri"
+
},
+
"key": {
+
"type": "string",
+
"maxLength": 50,
+
"minLength": 1
+
},
+
"value": {
+
"type": "string",
+
"maxLength": 200,
+
"minLength": 1
+
}
+
}
+
}
+
}
+
}
+
}
+
}
+67
lexicons/listSecrets.json
···
···
+
{
+
"lexicon": 1,
+
"id": "sh.tangled.repo.listSecrets",
+
"defs": {
+
"main": {
+
"type": "query",
+
"parameters": {
+
"type": "params",
+
"required": [
+
"repo"
+
],
+
"properties": {
+
"repo": {
+
"type": "string",
+
"format": "at-uri"
+
}
+
}
+
},
+
"output": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"required": [
+
"secrets"
+
],
+
"properties": {
+
"secrets": {
+
"type": "array",
+
"items": {
+
"type": "ref",
+
"ref": "#secret"
+
}
+
}
+
}
+
}
+
}
+
},
+
"secret": {
+
"type": "object",
+
"required": [
+
"repo",
+
"key",
+
"createdAt",
+
"createdBy"
+
],
+
"properties": {
+
"repo": {
+
"type": "string",
+
"format": "at-uri"
+
},
+
"key": {
+
"type": "string",
+
"maxLength": 50,
+
"minLength": 1
+
},
+
"createdAt": {
+
"type": "string",
+
"format": "datetime"
+
},
+
"createdBy": {
+
"type": "string",
+
"format": "did"
+
}
+
}
+
}
+
}
+
}
+31
lexicons/removeSecret.json
···
···
+
{
+
"lexicon": 1,
+
"id": "sh.tangled.repo.removeSecret",
+
"defs": {
+
"main": {
+
"type": "procedure",
+
"description": "Remove a CI secret",
+
"input": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"required": [
+
"repo",
+
"key"
+
],
+
"properties": {
+
"repo": {
+
"type": "string",
+
"format": "at-uri"
+
},
+
"key": {
+
"type": "string",
+
"maxLength": 50,
+
"minLength": 1
+
}
+
}
+
}
+
}
+
}
+
}
+
}