1// Copied from indigo:api/atproto/identitysignPlcOperation.go
2
3package agnostic
4
5// schema: com.atproto.identity.signPlcOperation
6
7import (
8 "context"
9 "encoding/json"
10
11 "github.com/bluesky-social/indigo/lex/util"
12)
13
14// IdentitySignPlcOperation_Input is the input argument to a com.atproto.identity.signPlcOperation call.
15type IdentitySignPlcOperation_Input struct {
16 AlsoKnownAs []string `json:"alsoKnownAs,omitempty" cborgen:"alsoKnownAs,omitempty"`
17 RotationKeys []string `json:"rotationKeys,omitempty" cborgen:"rotationKeys,omitempty"`
18 Services *json.RawMessage `json:"services,omitempty" cborgen:"services,omitempty"`
19 // token: A token received through com.atproto.identity.requestPlcOperationSignature
20 Token *string `json:"token,omitempty" cborgen:"token,omitempty"`
21 VerificationMethods *json.RawMessage `json:"verificationMethods,omitempty" cborgen:"verificationMethods,omitempty"`
22}
23
24// IdentitySignPlcOperation_Output is the output of a com.atproto.identity.signPlcOperation call.
25type IdentitySignPlcOperation_Output struct {
26 // operation: A signed DID PLC operation.
27 Operation *json.RawMessage `json:"operation" cborgen:"operation"`
28}
29
30// IdentitySignPlcOperation calls the XRPC method "com.atproto.identity.signPlcOperation".
31func IdentitySignPlcOperation(ctx context.Context, c util.LexClient, input *IdentitySignPlcOperation_Input) (*IdentitySignPlcOperation_Output, error) {
32 var out IdentitySignPlcOperation_Output
33 if err := c.LexDo(ctx, util.Procedure, "application/json", "com.atproto.identity.signPlcOperation", nil, input, &out); err != nil {
34 return nil, err
35 }
36
37 return &out, nil
38}