From 52ad5599630d6cfa83750768b661cbd6c950376e Mon Sep 17 00:00:00 2001 From: oppiliappan Date: Tue, 29 Jul 2025 13:17:05 +0100 Subject: [PATCH] lexicons: add xrpc lexicons for secret management Change-Id: xxuqqlskpvuulqpsnpovqtzoypmnslql Signed-off-by: oppiliappan --- api/tangled/repoaddSecret.go | 31 +++++++++++++++ api/tangled/repolistSecrets.go | 41 ++++++++++++++++++++ api/tangled/reporemoveSecret.go | 30 +++++++++++++++ lexicons/addSecret.json | 37 ++++++++++++++++++ lexicons/listSecrets.json | 67 +++++++++++++++++++++++++++++++++ lexicons/removeSecret.json | 31 +++++++++++++++ 6 files changed, 237 insertions(+) create mode 100644 api/tangled/repoaddSecret.go create mode 100644 api/tangled/repolistSecrets.go create mode 100644 api/tangled/reporemoveSecret.go create mode 100644 lexicons/addSecret.json create mode 100644 lexicons/listSecrets.json create mode 100644 lexicons/removeSecret.json diff --git a/api/tangled/repoaddSecret.go b/api/tangled/repoaddSecret.go new file mode 100644 index 0000000..0b0a25a --- /dev/null +++ b/api/tangled/repoaddSecret.go @@ -0,0 +1,31 @@ +// 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 +} diff --git a/api/tangled/repolistSecrets.go b/api/tangled/repolistSecrets.go new file mode 100644 index 0000000..08922f6 --- /dev/null +++ b/api/tangled/repolistSecrets.go @@ -0,0 +1,41 @@ +// 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 +} diff --git a/api/tangled/reporemoveSecret.go b/api/tangled/reporemoveSecret.go new file mode 100644 index 0000000..b734343 --- /dev/null +++ b/api/tangled/reporemoveSecret.go @@ -0,0 +1,30 @@ +// 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 +} diff --git a/lexicons/addSecret.json b/lexicons/addSecret.json new file mode 100644 index 0000000..b41ab53 --- /dev/null +++ b/lexicons/addSecret.json @@ -0,0 +1,37 @@ +{ + "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 + } + } + } + } + } + } +} diff --git a/lexicons/listSecrets.json b/lexicons/listSecrets.json new file mode 100644 index 0000000..35b21c5 --- /dev/null +++ b/lexicons/listSecrets.json @@ -0,0 +1,67 @@ +{ + "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" + } + } + } + } +} diff --git a/lexicons/removeSecret.json b/lexicons/removeSecret.json new file mode 100644 index 0000000..24aee3a --- /dev/null +++ b/lexicons/removeSecret.json @@ -0,0 +1,31 @@ +{ + "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 + } + } + } + } + } + } +} -- 2.43.0