A fork of https://github.com/teal-fm/piper
at main 133 lines 5.2 kB view raw
1// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. 2 3package chat 4 5// schema: chat.bsky.convo.getLog 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// ConvoGetLog_Output is the output of a chat.bsky.convo.getLog call. 17type ConvoGetLog_Output struct { 18 Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"` 19 Logs []*ConvoGetLog_Output_Logs_Elem `json:"logs" cborgen:"logs"` 20} 21 22type ConvoGetLog_Output_Logs_Elem struct { 23 ConvoDefs_LogBeginConvo *ConvoDefs_LogBeginConvo 24 ConvoDefs_LogAcceptConvo *ConvoDefs_LogAcceptConvo 25 ConvoDefs_LogLeaveConvo *ConvoDefs_LogLeaveConvo 26 ConvoDefs_LogMuteConvo *ConvoDefs_LogMuteConvo 27 ConvoDefs_LogUnmuteConvo *ConvoDefs_LogUnmuteConvo 28 ConvoDefs_LogCreateMessage *ConvoDefs_LogCreateMessage 29 ConvoDefs_LogDeleteMessage *ConvoDefs_LogDeleteMessage 30 ConvoDefs_LogReadMessage *ConvoDefs_LogReadMessage 31 ConvoDefs_LogAddReaction *ConvoDefs_LogAddReaction 32 ConvoDefs_LogRemoveReaction *ConvoDefs_LogRemoveReaction 33} 34 35func (t *ConvoGetLog_Output_Logs_Elem) MarshalJSON() ([]byte, error) { 36 if t.ConvoDefs_LogBeginConvo != nil { 37 t.ConvoDefs_LogBeginConvo.LexiconTypeID = "chat.bsky.convo.defs#logBeginConvo" 38 return json.Marshal(t.ConvoDefs_LogBeginConvo) 39 } 40 if t.ConvoDefs_LogAcceptConvo != nil { 41 t.ConvoDefs_LogAcceptConvo.LexiconTypeID = "chat.bsky.convo.defs#logAcceptConvo" 42 return json.Marshal(t.ConvoDefs_LogAcceptConvo) 43 } 44 if t.ConvoDefs_LogLeaveConvo != nil { 45 t.ConvoDefs_LogLeaveConvo.LexiconTypeID = "chat.bsky.convo.defs#logLeaveConvo" 46 return json.Marshal(t.ConvoDefs_LogLeaveConvo) 47 } 48 if t.ConvoDefs_LogMuteConvo != nil { 49 t.ConvoDefs_LogMuteConvo.LexiconTypeID = "chat.bsky.convo.defs#logMuteConvo" 50 return json.Marshal(t.ConvoDefs_LogMuteConvo) 51 } 52 if t.ConvoDefs_LogUnmuteConvo != nil { 53 t.ConvoDefs_LogUnmuteConvo.LexiconTypeID = "chat.bsky.convo.defs#logUnmuteConvo" 54 return json.Marshal(t.ConvoDefs_LogUnmuteConvo) 55 } 56 if t.ConvoDefs_LogCreateMessage != nil { 57 t.ConvoDefs_LogCreateMessage.LexiconTypeID = "chat.bsky.convo.defs#logCreateMessage" 58 return json.Marshal(t.ConvoDefs_LogCreateMessage) 59 } 60 if t.ConvoDefs_LogDeleteMessage != nil { 61 t.ConvoDefs_LogDeleteMessage.LexiconTypeID = "chat.bsky.convo.defs#logDeleteMessage" 62 return json.Marshal(t.ConvoDefs_LogDeleteMessage) 63 } 64 if t.ConvoDefs_LogReadMessage != nil { 65 t.ConvoDefs_LogReadMessage.LexiconTypeID = "chat.bsky.convo.defs#logReadMessage" 66 return json.Marshal(t.ConvoDefs_LogReadMessage) 67 } 68 if t.ConvoDefs_LogAddReaction != nil { 69 t.ConvoDefs_LogAddReaction.LexiconTypeID = "chat.bsky.convo.defs#logAddReaction" 70 return json.Marshal(t.ConvoDefs_LogAddReaction) 71 } 72 if t.ConvoDefs_LogRemoveReaction != nil { 73 t.ConvoDefs_LogRemoveReaction.LexiconTypeID = "chat.bsky.convo.defs#logRemoveReaction" 74 return json.Marshal(t.ConvoDefs_LogRemoveReaction) 75 } 76 return nil, fmt.Errorf("cannot marshal empty enum") 77} 78func (t *ConvoGetLog_Output_Logs_Elem) UnmarshalJSON(b []byte) error { 79 typ, err := util.TypeExtract(b) 80 if err != nil { 81 return err 82 } 83 84 switch typ { 85 case "chat.bsky.convo.defs#logBeginConvo": 86 t.ConvoDefs_LogBeginConvo = new(ConvoDefs_LogBeginConvo) 87 return json.Unmarshal(b, t.ConvoDefs_LogBeginConvo) 88 case "chat.bsky.convo.defs#logAcceptConvo": 89 t.ConvoDefs_LogAcceptConvo = new(ConvoDefs_LogAcceptConvo) 90 return json.Unmarshal(b, t.ConvoDefs_LogAcceptConvo) 91 case "chat.bsky.convo.defs#logLeaveConvo": 92 t.ConvoDefs_LogLeaveConvo = new(ConvoDefs_LogLeaveConvo) 93 return json.Unmarshal(b, t.ConvoDefs_LogLeaveConvo) 94 case "chat.bsky.convo.defs#logMuteConvo": 95 t.ConvoDefs_LogMuteConvo = new(ConvoDefs_LogMuteConvo) 96 return json.Unmarshal(b, t.ConvoDefs_LogMuteConvo) 97 case "chat.bsky.convo.defs#logUnmuteConvo": 98 t.ConvoDefs_LogUnmuteConvo = new(ConvoDefs_LogUnmuteConvo) 99 return json.Unmarshal(b, t.ConvoDefs_LogUnmuteConvo) 100 case "chat.bsky.convo.defs#logCreateMessage": 101 t.ConvoDefs_LogCreateMessage = new(ConvoDefs_LogCreateMessage) 102 return json.Unmarshal(b, t.ConvoDefs_LogCreateMessage) 103 case "chat.bsky.convo.defs#logDeleteMessage": 104 t.ConvoDefs_LogDeleteMessage = new(ConvoDefs_LogDeleteMessage) 105 return json.Unmarshal(b, t.ConvoDefs_LogDeleteMessage) 106 case "chat.bsky.convo.defs#logReadMessage": 107 t.ConvoDefs_LogReadMessage = new(ConvoDefs_LogReadMessage) 108 return json.Unmarshal(b, t.ConvoDefs_LogReadMessage) 109 case "chat.bsky.convo.defs#logAddReaction": 110 t.ConvoDefs_LogAddReaction = new(ConvoDefs_LogAddReaction) 111 return json.Unmarshal(b, t.ConvoDefs_LogAddReaction) 112 case "chat.bsky.convo.defs#logRemoveReaction": 113 t.ConvoDefs_LogRemoveReaction = new(ConvoDefs_LogRemoveReaction) 114 return json.Unmarshal(b, t.ConvoDefs_LogRemoveReaction) 115 116 default: 117 return nil 118 } 119} 120 121// ConvoGetLog calls the XRPC method "chat.bsky.convo.getLog". 122func ConvoGetLog(ctx context.Context, c *xrpc.Client, cursor string) (*ConvoGetLog_Output, error) { 123 var out ConvoGetLog_Output 124 125 params := map[string]interface{}{ 126 "cursor": cursor, 127 } 128 if err := c.Do(ctx, xrpc.Query, "", "chat.bsky.convo.getLog", params, nil, &out); err != nil { 129 return nil, err 130 } 131 132 return &out, nil 133}