// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
package org_tangled
// schema: org.tangled.temp.actor.defs
import (
"encoding/json"
"fmt"
"github.com/bluesky-social/indigo/lex/util"
)
const ()
// TempActorDefs_OnboardingPref is a "onboardingPref" in the org.tangled.temp.actor.defs schema.
type TempActorDefs_OnboardingPref struct {
CompletedAt *string `json:"completedAt,omitempty" cborgen:"completedAt,omitempty"`
NudgeDismissedAt *string `json:"nudgeDismissedAt,omitempty" cborgen:"nudgeDismissedAt,omitempty"`
StartedAt string `json:"startedAt" cborgen:"startedAt"`
}
// TempActorDefs_RecentIssue is a "recentIssue" in the org.tangled.temp.actor.defs schema.
//
// RECORDTYPE: TempActorDefs_RecentIssue
type TempActorDefs_RecentIssue struct {
LexiconTypeID string `json:"$type,const=org.tangled.temp.actor.defs#recentIssue" cborgen:"$type,const=org.tangled.temp.actor.defs#recentIssue"`
Open bool `json:"open" cborgen:"open"`
OwnerHandle string `json:"ownerHandle" cborgen:"ownerHandle"`
RepoName string `json:"repoName" cborgen:"repoName"`
Rkey string `json:"rkey" cborgen:"rkey"`
Title string `json:"title" cborgen:"title"`
Visited string `json:"visited" cborgen:"visited"`
}
// TempActorDefs_RecentPull is a "recentPull" in the org.tangled.temp.actor.defs schema.
//
// RECORDTYPE: TempActorDefs_RecentPull
type TempActorDefs_RecentPull struct {
LexiconTypeID string `json:"$type,const=org.tangled.temp.actor.defs#recentPull" cborgen:"$type,const=org.tangled.temp.actor.defs#recentPull"`
OwnerHandle string `json:"ownerHandle" cborgen:"ownerHandle"`
RepoName string `json:"repoName" cborgen:"repoName"`
Rkey string `json:"rkey" cborgen:"rkey"`
State string `json:"state" cborgen:"state"`
Title string `json:"title" cborgen:"title"`
Visited string `json:"visited" cborgen:"visited"`
}
// TempActorDefs_RecentRepo is a "recentRepo" in the org.tangled.temp.actor.defs schema.
//
// RECORDTYPE: TempActorDefs_RecentRepo
type TempActorDefs_RecentRepo struct {
LexiconTypeID string `json:"$type,const=org.tangled.temp.actor.defs#recentRepo" cborgen:"$type,const=org.tangled.temp.actor.defs#recentRepo"`
Name string `json:"name" cborgen:"name"`
OwnerDid *string `json:"ownerDid,omitempty" cborgen:"ownerDid,omitempty"`
OwnerHandle string `json:"ownerHandle" cborgen:"ownerHandle"`
Visited string `json:"visited" cborgen:"visited"`
}
// TempActorDefs_RecentsPref is a "recentsPref" in the org.tangled.temp.actor.defs schema.
type TempActorDefs_RecentsPref struct {
Items []*TempActorDefs_RecentsPref_Items_Elem `json:"items" cborgen:"items"`
}
type TempActorDefs_RecentsPref_Items_Elem struct {
TempActorDefs_RecentRepo *TempActorDefs_RecentRepo
TempActorDefs_RecentIssue *TempActorDefs_RecentIssue
TempActorDefs_RecentPull *TempActorDefs_RecentPull
}
func (t *TempActorDefs_RecentsPref_Items_Elem) MarshalJSON() ([]byte, error) {
if t.TempActorDefs_RecentRepo != nil {
t.TempActorDefs_RecentRepo.LexiconTypeID = "org.tangled.temp.actor.defs#recentRepo"
return json.Marshal(t.TempActorDefs_RecentRepo)
}
if t.TempActorDefs_RecentIssue != nil {
t.TempActorDefs_RecentIssue.LexiconTypeID = "org.tangled.temp.actor.defs#recentIssue"
return json.Marshal(t.TempActorDefs_RecentIssue)
}
if t.TempActorDefs_RecentPull != nil {
t.TempActorDefs_RecentPull.LexiconTypeID = "org.tangled.temp.actor.defs#recentPull"
return json.Marshal(t.TempActorDefs_RecentPull)
}
return nil, fmt.Errorf("cannot marshal empty enum")
}
func (t *TempActorDefs_RecentsPref_Items_Elem) UnmarshalJSON(b []byte) error {
typ, err := util.TypeExtract(b)
if err != nil {
return err
}
switch typ {
case "org.tangled.temp.actor.defs#recentRepo":
t.TempActorDefs_RecentRepo = new(TempActorDefs_RecentRepo)
return json.Unmarshal(b, t.TempActorDefs_RecentRepo)
case "org.tangled.temp.actor.defs#recentIssue":
t.TempActorDefs_RecentIssue = new(TempActorDefs_RecentIssue)
return json.Unmarshal(b, t.TempActorDefs_RecentIssue)
case "org.tangled.temp.actor.defs#recentPull":
t.TempActorDefs_RecentPull = new(TempActorDefs_RecentPull)
return json.Unmarshal(b, t.TempActorDefs_RecentPull)
default:
return nil
}
}
// TempActorDefs_SavedKnotPref is a "savedKnotPref" in the org.tangled.temp.actor.defs schema.
type TempActorDefs_SavedKnotPref struct {
Items []*TempActorDefs_SavedService `json:"items" cborgen:"items"`
}
// TempActorDefs_SavedService is a "savedService" in the org.tangled.temp.actor.defs schema.
type TempActorDefs_SavedService struct {
Id string `json:"id" cborgen:"id"`
Value string `json:"value" cborgen:"value"`
}
// TempActorDefs_SavedSpindlePref is a "savedSpindlePref" in the org.tangled.temp.actor.defs schema.
type TempActorDefs_SavedSpindlePref struct {
Items []*TempActorDefs_SavedService `json:"items" cborgen:"items"`
}