-
Notifications
You must be signed in to change notification settings - Fork 86
/
labelergetServices.go
69 lines (57 loc) · 2.1 KB
/
labelergetServices.go
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
package bsky
// schema: app.bsky.labeler.getServices
import (
"context"
"encoding/json"
"fmt"
"github.com/bluesky-social/indigo/lex/util"
"github.com/bluesky-social/indigo/xrpc"
)
// LabelerGetServices_Output is the output of a app.bsky.labeler.getServices call.
type LabelerGetServices_Output struct {
Views []*LabelerGetServices_Output_Views_Elem `json:"views" cborgen:"views"`
}
type LabelerGetServices_Output_Views_Elem struct {
LabelerDefs_LabelerView *LabelerDefs_LabelerView
LabelerDefs_LabelerViewDetailed *LabelerDefs_LabelerViewDetailed
}
func (t *LabelerGetServices_Output_Views_Elem) MarshalJSON() ([]byte, error) {
if t.LabelerDefs_LabelerView != nil {
t.LabelerDefs_LabelerView.LexiconTypeID = "app.bsky.labeler.defs#labelerView"
return json.Marshal(t.LabelerDefs_LabelerView)
}
if t.LabelerDefs_LabelerViewDetailed != nil {
t.LabelerDefs_LabelerViewDetailed.LexiconTypeID = "app.bsky.labeler.defs#labelerViewDetailed"
return json.Marshal(t.LabelerDefs_LabelerViewDetailed)
}
return nil, fmt.Errorf("cannot marshal empty enum")
}
func (t *LabelerGetServices_Output_Views_Elem) UnmarshalJSON(b []byte) error {
typ, err := util.TypeExtract(b)
if err != nil {
return err
}
switch typ {
case "app.bsky.labeler.defs#labelerView":
t.LabelerDefs_LabelerView = new(LabelerDefs_LabelerView)
return json.Unmarshal(b, t.LabelerDefs_LabelerView)
case "app.bsky.labeler.defs#labelerViewDetailed":
t.LabelerDefs_LabelerViewDetailed = new(LabelerDefs_LabelerViewDetailed)
return json.Unmarshal(b, t.LabelerDefs_LabelerViewDetailed)
default:
return nil
}
}
// LabelerGetServices calls the XRPC method "app.bsky.labeler.getServices".
func LabelerGetServices(ctx context.Context, c *xrpc.Client, detailed bool, dids []string) (*LabelerGetServices_Output, error) {
var out LabelerGetServices_Output
params := map[string]interface{}{
"detailed": detailed,
"dids": dids,
}
if err := c.Do(ctx, xrpc.Query, "", "app.bsky.labeler.getServices", params, nil, &out); err != nil {
return nil, err
}
return &out, nil
}