A fork of https://github.com/teal-fm/piper
at main 69 lines 2.2 kB view raw
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 3package bsky 4 5// schema: app.bsky.labeler.getServices 6 7import ( 8 "context" 9 "encoding/json" 10 "fmt" 11 12 "github.com/bluesky-social/indigo/lex/util" 13 "github.com/bluesky-social/indigo/xrpc" 14) 15 16// LabelerGetServices_Output is the output of a app.bsky.labeler.getServices call. 17type LabelerGetServices_Output struct { 18 Views []*LabelerGetServices_Output_Views_Elem `json:"views" cborgen:"views"` 19} 20 21type LabelerGetServices_Output_Views_Elem struct { 22 LabelerDefs_LabelerView *LabelerDefs_LabelerView 23 LabelerDefs_LabelerViewDetailed *LabelerDefs_LabelerViewDetailed 24} 25 26func (t *LabelerGetServices_Output_Views_Elem) MarshalJSON() ([]byte, error) { 27 if t.LabelerDefs_LabelerView != nil { 28 t.LabelerDefs_LabelerView.LexiconTypeID = "app.bsky.labeler.defs#labelerView" 29 return json.Marshal(t.LabelerDefs_LabelerView) 30 } 31 if t.LabelerDefs_LabelerViewDetailed != nil { 32 t.LabelerDefs_LabelerViewDetailed.LexiconTypeID = "app.bsky.labeler.defs#labelerViewDetailed" 33 return json.Marshal(t.LabelerDefs_LabelerViewDetailed) 34 } 35 return nil, fmt.Errorf("cannot marshal empty enum") 36} 37func (t *LabelerGetServices_Output_Views_Elem) UnmarshalJSON(b []byte) error { 38 typ, err := util.TypeExtract(b) 39 if err != nil { 40 return err 41 } 42 43 switch typ { 44 case "app.bsky.labeler.defs#labelerView": 45 t.LabelerDefs_LabelerView = new(LabelerDefs_LabelerView) 46 return json.Unmarshal(b, t.LabelerDefs_LabelerView) 47 case "app.bsky.labeler.defs#labelerViewDetailed": 48 t.LabelerDefs_LabelerViewDetailed = new(LabelerDefs_LabelerViewDetailed) 49 return json.Unmarshal(b, t.LabelerDefs_LabelerViewDetailed) 50 51 default: 52 return nil 53 } 54} 55 56// LabelerGetServices calls the XRPC method "app.bsky.labeler.getServices". 57func LabelerGetServices(ctx context.Context, c *xrpc.Client, detailed bool, dids []string) (*LabelerGetServices_Output, error) { 58 var out LabelerGetServices_Output 59 60 params := map[string]interface{}{ 61 "detailed": detailed, 62 "dids": dids, 63 } 64 if err := c.Do(ctx, xrpc.Query, "", "app.bsky.labeler.getServices", params, nil, &out); err != nil { 65 return nil, err 66 } 67 68 return &out, nil 69}