// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT. package ozone // schema: tools.ozone.moderation.getRecords import ( "context" "encoding/json" "fmt" "github.com/bluesky-social/indigo/lex/util" "github.com/bluesky-social/indigo/xrpc" ) // ModerationGetRecords_Output is the output of a tools.ozone.moderation.getRecords call. type ModerationGetRecords_Output struct { Records []*ModerationGetRecords_Output_Records_Elem `json:"records" cborgen:"records"` } type ModerationGetRecords_Output_Records_Elem struct { ModerationDefs_RecordViewDetail *ModerationDefs_RecordViewDetail ModerationDefs_RecordViewNotFound *ModerationDefs_RecordViewNotFound } func (t *ModerationGetRecords_Output_Records_Elem) MarshalJSON() ([]byte, error) { if t.ModerationDefs_RecordViewDetail != nil { t.ModerationDefs_RecordViewDetail.LexiconTypeID = "tools.ozone.moderation.defs#recordViewDetail" return json.Marshal(t.ModerationDefs_RecordViewDetail) } if t.ModerationDefs_RecordViewNotFound != nil { t.ModerationDefs_RecordViewNotFound.LexiconTypeID = "tools.ozone.moderation.defs#recordViewNotFound" return json.Marshal(t.ModerationDefs_RecordViewNotFound) } return nil, fmt.Errorf("cannot marshal empty enum") } func (t *ModerationGetRecords_Output_Records_Elem) UnmarshalJSON(b []byte) error { typ, err := util.TypeExtract(b) if err != nil { return err } switch typ { case "tools.ozone.moderation.defs#recordViewDetail": t.ModerationDefs_RecordViewDetail = new(ModerationDefs_RecordViewDetail) return json.Unmarshal(b, t.ModerationDefs_RecordViewDetail) case "tools.ozone.moderation.defs#recordViewNotFound": t.ModerationDefs_RecordViewNotFound = new(ModerationDefs_RecordViewNotFound) return json.Unmarshal(b, t.ModerationDefs_RecordViewNotFound) default: return nil } } // ModerationGetRecords calls the XRPC method "tools.ozone.moderation.getRecords". func ModerationGetRecords(ctx context.Context, c *xrpc.Client, uris []string) (*ModerationGetRecords_Output, error) { var out ModerationGetRecords_Output params := map[string]interface{}{ "uris": uris, } if err := c.Do(ctx, xrpc.Query, "", "tools.ozone.moderation.getRecords", params, nil, &out); err != nil { return nil, err } return &out, nil }