mirror of
https://tangled.org/evan.jarrett.net/at-container-registry
synced 2026-09-21 01:34:16 +00:00
1803 lines
39 KiB
Go
1803 lines
39 KiB
Go
// Code generated by github.com/whyrusleeping/cbor-gen. DO NOT EDIT.
|
|
|
|
package atproto
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"math"
|
|
"sort"
|
|
|
|
cid "github.com/ipfs/go-cid"
|
|
cbg "github.com/whyrusleeping/cbor-gen"
|
|
xerrors "golang.org/x/xerrors"
|
|
)
|
|
|
|
var _ = xerrors.Errorf
|
|
var _ = cid.Undef
|
|
var _ = math.E
|
|
var _ = sort.Sort
|
|
|
|
func (t *CrewRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
|
|
if _, err := cw.Write([]byte{165}); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Role (string) (string)
|
|
if len("role") > 8192 {
|
|
return xerrors.Errorf("Value in field \"role\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("role"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("role")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Role) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Role was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Role))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Role)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Member (string) (string)
|
|
if len("member") > 8192 {
|
|
return xerrors.Errorf("Value in field \"member\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("member"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("member")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Member) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Member was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Member))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Member)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.AddedAt (string) (string)
|
|
if len("addedAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"addedAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("addedAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("addedAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.AddedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.AddedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.AddedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.AddedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Permissions ([]string) (slice)
|
|
if len("permissions") > 8192 {
|
|
return xerrors.Errorf("Value in field \"permissions\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("permissions"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("permissions")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Permissions) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Permissions was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Permissions))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Permissions {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *CrewRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = CrewRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("CrewRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 11)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Role (string) (string)
|
|
case "role":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Role = string(sval)
|
|
}
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Member (string) (string)
|
|
case "member":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Member = string(sval)
|
|
}
|
|
// t.AddedAt (string) (string)
|
|
case "addedAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.AddedAt = string(sval)
|
|
}
|
|
// t.Permissions ([]string) (slice)
|
|
case "permissions":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Permissions: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Permissions = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Permissions[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *CaptainRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
fieldCount := 8
|
|
|
|
if t.Region == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if t.Provider == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Owner (string) (string)
|
|
if len("owner") > 8192 {
|
|
return xerrors.Errorf("Value in field \"owner\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("owner"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("owner")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Owner) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Owner was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Owner))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Owner)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Public (bool) (bool)
|
|
if len("public") > 8192 {
|
|
return xerrors.Errorf("Value in field \"public\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("public"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("public")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.Public); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Region (string) (string)
|
|
if t.Region != "" {
|
|
|
|
if len("region") > 8192 {
|
|
return xerrors.Errorf("Value in field \"region\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("region"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("region")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Region) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Region was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Region))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Region)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.Provider (string) (string)
|
|
if t.Provider != "" {
|
|
|
|
if len("provider") > 8192 {
|
|
return xerrors.Errorf("Value in field \"provider\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("provider"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("provider")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Provider) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Provider was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Provider))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Provider)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.DeployedAt (string) (string)
|
|
if len("deployedAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"deployedAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("deployedAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("deployedAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.DeployedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.DeployedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.DeployedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.DeployedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.AllowAllCrew (bool) (bool)
|
|
if len("allowAllCrew") > 8192 {
|
|
return xerrors.Errorf("Value in field \"allowAllCrew\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("allowAllCrew"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("allowAllCrew")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.AllowAllCrew); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.EnableBlueskyPosts (bool) (bool)
|
|
if len("enableBlueskyPosts") > 8192 {
|
|
return xerrors.Errorf("Value in field \"enableBlueskyPosts\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("enableBlueskyPosts"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("enableBlueskyPosts")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.EnableBlueskyPosts); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *CaptainRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = CaptainRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("CaptainRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 18)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Owner (string) (string)
|
|
case "owner":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Owner = string(sval)
|
|
}
|
|
// t.Public (bool) (bool)
|
|
case "public":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.Public = false
|
|
case 21:
|
|
t.Public = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
// t.Region (string) (string)
|
|
case "region":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Region = string(sval)
|
|
}
|
|
// t.Provider (string) (string)
|
|
case "provider":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Provider = string(sval)
|
|
}
|
|
// t.DeployedAt (string) (string)
|
|
case "deployedAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.DeployedAt = string(sval)
|
|
}
|
|
// t.AllowAllCrew (bool) (bool)
|
|
case "allowAllCrew":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.AllowAllCrew = false
|
|
case 21:
|
|
t.AllowAllCrew = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
// t.EnableBlueskyPosts (bool) (bool)
|
|
case "enableBlueskyPosts":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.EnableBlueskyPosts = false
|
|
case 21:
|
|
t.EnableBlueskyPosts = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *LayerRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
|
|
if _, err := cw.Write([]byte{168}); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Size (int64) (int64)
|
|
if len("size") > 8192 {
|
|
return xerrors.Errorf("Value in field \"size\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("size"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("size")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if t.Size >= 0 {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.Size)); err != nil {
|
|
return err
|
|
}
|
|
} else {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-t.Size-1)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Digest (string) (string)
|
|
if len("digest") > 8192 {
|
|
return xerrors.Errorf("Value in field \"digest\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("digest"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("digest")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Digest) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Digest was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Digest))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Digest)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.UserDID (string) (string)
|
|
if len("userDid") > 8192 {
|
|
return xerrors.Errorf("Value in field \"userDid\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("userDid"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("userDid")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.UserDID) > 8192 {
|
|
return xerrors.Errorf("Value in field t.UserDID was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.UserDID))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.UserDID)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.CreatedAt (string) (string)
|
|
if len("createdAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"createdAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("createdAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.CreatedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.CreatedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.CreatedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.MediaType (string) (string)
|
|
if len("mediaType") > 8192 {
|
|
return xerrors.Errorf("Value in field \"mediaType\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("mediaType"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("mediaType")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.MediaType) > 8192 {
|
|
return xerrors.Errorf("Value in field t.MediaType was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.MediaType))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.MediaType)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Repository (string) (string)
|
|
if len("repository") > 8192 {
|
|
return xerrors.Errorf("Value in field \"repository\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("repository"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("repository")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Repository) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Repository was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Repository))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Repository)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.UserHandle (string) (string)
|
|
if len("userHandle") > 8192 {
|
|
return xerrors.Errorf("Value in field \"userHandle\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("userHandle"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("userHandle")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.UserHandle) > 8192 {
|
|
return xerrors.Errorf("Value in field t.UserHandle was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.UserHandle))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.UserHandle)); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *LayerRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = LayerRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("LayerRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 10)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Size (int64) (int64)
|
|
case "size":
|
|
{
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
var extraI int64
|
|
switch maj {
|
|
case cbg.MajUnsignedInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 positive overflow")
|
|
}
|
|
case cbg.MajNegativeInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 negative overflow")
|
|
}
|
|
extraI = -1 - extraI
|
|
default:
|
|
return fmt.Errorf("wrong type for int64 field: %d", maj)
|
|
}
|
|
|
|
t.Size = int64(extraI)
|
|
}
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Digest (string) (string)
|
|
case "digest":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Digest = string(sval)
|
|
}
|
|
// t.UserDID (string) (string)
|
|
case "userDid":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.UserDID = string(sval)
|
|
}
|
|
// t.CreatedAt (string) (string)
|
|
case "createdAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.CreatedAt = string(sval)
|
|
}
|
|
// t.MediaType (string) (string)
|
|
case "mediaType":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.MediaType = string(sval)
|
|
}
|
|
// t.Repository (string) (string)
|
|
case "repository":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Repository = string(sval)
|
|
}
|
|
// t.UserHandle (string) (string)
|
|
case "userHandle":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.UserHandle = string(sval)
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *TangledProfileRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
|
|
if _, err := cw.Write([]byte{167}); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Links ([]string) (slice)
|
|
if len("links") > 8192 {
|
|
return xerrors.Errorf("Value in field \"links\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("links"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("links")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Links) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Links was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Links))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Links {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
// t.Stats ([]string) (slice)
|
|
if len("stats") > 8192 {
|
|
return xerrors.Errorf("Value in field \"stats\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("stats"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("stats")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Stats) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.Stats was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.Stats))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.Stats {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
|
|
// t.Bluesky (bool) (bool)
|
|
if len("bluesky") > 8192 {
|
|
return xerrors.Errorf("Value in field \"bluesky\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("bluesky"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("bluesky")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := cbg.WriteBool(w, t.Bluesky); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Location (string) (string)
|
|
if len("location") > 8192 {
|
|
return xerrors.Errorf("Value in field \"location\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("location"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("location")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Location) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Location was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Location))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Location)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Description (string) (string)
|
|
if len("description") > 8192 {
|
|
return xerrors.Errorf("Value in field \"description\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("description"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("description")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Description) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Description was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Description))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Description)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.PinnedRepositories ([]string) (slice)
|
|
if len("pinnedRepositories") > 8192 {
|
|
return xerrors.Errorf("Value in field \"pinnedRepositories\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("pinnedRepositories"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("pinnedRepositories")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.PinnedRepositories) > 8192 {
|
|
return xerrors.Errorf("Slice value in field t.PinnedRepositories was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajArray, uint64(len(t.PinnedRepositories))); err != nil {
|
|
return err
|
|
}
|
|
for _, v := range t.PinnedRepositories {
|
|
if len(v) > 8192 {
|
|
return xerrors.Errorf("Value in field v was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(v))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(v)); err != nil {
|
|
return err
|
|
}
|
|
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *TangledProfileRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = TangledProfileRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("TangledProfileRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 18)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.Links ([]string) (slice)
|
|
case "links":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Links: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Links = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Links[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
// t.Stats ([]string) (slice)
|
|
case "stats":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.Stats: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.Stats = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Stats[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
// t.Bluesky (bool) (bool)
|
|
case "bluesky":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if maj != cbg.MajOther {
|
|
return fmt.Errorf("booleans must be major type 7")
|
|
}
|
|
switch extra {
|
|
case 20:
|
|
t.Bluesky = false
|
|
case 21:
|
|
t.Bluesky = true
|
|
default:
|
|
return fmt.Errorf("booleans are either major type 7, value 20 or 21 (got %d)", extra)
|
|
}
|
|
// t.Location (string) (string)
|
|
case "location":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Location = string(sval)
|
|
}
|
|
// t.Description (string) (string)
|
|
case "description":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Description = string(sval)
|
|
}
|
|
// t.PinnedRepositories ([]string) (slice)
|
|
case "pinnedRepositories":
|
|
|
|
maj, extra, err = cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if extra > 8192 {
|
|
return fmt.Errorf("t.PinnedRepositories: array too large (%d)", extra)
|
|
}
|
|
|
|
if maj != cbg.MajArray {
|
|
return fmt.Errorf("expected cbor array")
|
|
}
|
|
|
|
if extra > 0 {
|
|
t.PinnedRepositories = make([]string, extra)
|
|
}
|
|
|
|
for i := 0; i < int(extra); i++ {
|
|
{
|
|
var maj byte
|
|
var extra uint64
|
|
var err error
|
|
_ = maj
|
|
_ = extra
|
|
_ = err
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.PinnedRepositories[i] = string(sval)
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|
|
func (t *StatsRecord) MarshalCBOR(w io.Writer) error {
|
|
if t == nil {
|
|
_, err := w.Write(cbg.CborNull)
|
|
return err
|
|
}
|
|
|
|
cw := cbg.NewCborWriter(w)
|
|
fieldCount := 8
|
|
|
|
if t.LastPull == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if t.LastPush == "" {
|
|
fieldCount--
|
|
}
|
|
|
|
if _, err := cw.Write(cbg.CborEncodeMajorType(cbg.MajMap, uint64(fieldCount))); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Type (string) (string)
|
|
if len("$type") > 8192 {
|
|
return xerrors.Errorf("Value in field \"$type\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("$type"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("$type")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Type) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Type was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Type))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Type)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.LastPull (string) (string)
|
|
if t.LastPull != "" {
|
|
|
|
if len("lastPull") > 8192 {
|
|
return xerrors.Errorf("Value in field \"lastPull\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("lastPull"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("lastPull")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.LastPull) > 8192 {
|
|
return xerrors.Errorf("Value in field t.LastPull was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.LastPull))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.LastPull)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.LastPush (string) (string)
|
|
if t.LastPush != "" {
|
|
|
|
if len("lastPush") > 8192 {
|
|
return xerrors.Errorf("Value in field \"lastPush\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("lastPush"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("lastPush")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.LastPush) > 8192 {
|
|
return xerrors.Errorf("Value in field t.LastPush was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.LastPush))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.LastPush)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.OwnerDID (string) (string)
|
|
if len("ownerDid") > 8192 {
|
|
return xerrors.Errorf("Value in field \"ownerDid\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("ownerDid"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("ownerDid")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.OwnerDID) > 8192 {
|
|
return xerrors.Errorf("Value in field t.OwnerDID was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.OwnerDID))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.OwnerDID)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.PullCount (int64) (int64)
|
|
if len("pullCount") > 8192 {
|
|
return xerrors.Errorf("Value in field \"pullCount\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("pullCount"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("pullCount")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if t.PullCount >= 0 {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.PullCount)); err != nil {
|
|
return err
|
|
}
|
|
} else {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-t.PullCount-1)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.PushCount (int64) (int64)
|
|
if len("pushCount") > 8192 {
|
|
return xerrors.Errorf("Value in field \"pushCount\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("pushCount"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("pushCount")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if t.PushCount >= 0 {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajUnsignedInt, uint64(t.PushCount)); err != nil {
|
|
return err
|
|
}
|
|
} else {
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajNegativeInt, uint64(-t.PushCount-1)); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
// t.UpdatedAt (string) (string)
|
|
if len("updatedAt") > 8192 {
|
|
return xerrors.Errorf("Value in field \"updatedAt\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("updatedAt"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("updatedAt")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.UpdatedAt) > 8192 {
|
|
return xerrors.Errorf("Value in field t.UpdatedAt was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.UpdatedAt))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.UpdatedAt)); err != nil {
|
|
return err
|
|
}
|
|
|
|
// t.Repository (string) (string)
|
|
if len("repository") > 8192 {
|
|
return xerrors.Errorf("Value in field \"repository\" was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("repository"))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string("repository")); err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(t.Repository) > 8192 {
|
|
return xerrors.Errorf("Value in field t.Repository was too long")
|
|
}
|
|
|
|
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Repository))); err != nil {
|
|
return err
|
|
}
|
|
if _, err := cw.WriteString(string(t.Repository)); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (t *StatsRecord) UnmarshalCBOR(r io.Reader) (err error) {
|
|
*t = StatsRecord{}
|
|
|
|
cr := cbg.NewCborReader(r)
|
|
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer func() {
|
|
if err == io.EOF {
|
|
err = io.ErrUnexpectedEOF
|
|
}
|
|
}()
|
|
|
|
if maj != cbg.MajMap {
|
|
return fmt.Errorf("cbor input should be of type map")
|
|
}
|
|
|
|
if extra > cbg.MaxLength {
|
|
return fmt.Errorf("StatsRecord: map struct too large (%d)", extra)
|
|
}
|
|
|
|
n := extra
|
|
|
|
nameBuf := make([]byte, 10)
|
|
for i := uint64(0); i < n; i++ {
|
|
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if !ok {
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
continue
|
|
}
|
|
|
|
switch string(nameBuf[:nameLen]) {
|
|
// t.Type (string) (string)
|
|
case "$type":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Type = string(sval)
|
|
}
|
|
// t.LastPull (string) (string)
|
|
case "lastPull":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.LastPull = string(sval)
|
|
}
|
|
// t.LastPush (string) (string)
|
|
case "lastPush":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.LastPush = string(sval)
|
|
}
|
|
// t.OwnerDID (string) (string)
|
|
case "ownerDid":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.OwnerDID = string(sval)
|
|
}
|
|
// t.PullCount (int64) (int64)
|
|
case "pullCount":
|
|
{
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
var extraI int64
|
|
switch maj {
|
|
case cbg.MajUnsignedInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 positive overflow")
|
|
}
|
|
case cbg.MajNegativeInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 negative overflow")
|
|
}
|
|
extraI = -1 - extraI
|
|
default:
|
|
return fmt.Errorf("wrong type for int64 field: %d", maj)
|
|
}
|
|
|
|
t.PullCount = int64(extraI)
|
|
}
|
|
// t.PushCount (int64) (int64)
|
|
case "pushCount":
|
|
{
|
|
maj, extra, err := cr.ReadHeader()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
var extraI int64
|
|
switch maj {
|
|
case cbg.MajUnsignedInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 positive overflow")
|
|
}
|
|
case cbg.MajNegativeInt:
|
|
extraI = int64(extra)
|
|
if extraI < 0 {
|
|
return fmt.Errorf("int64 negative overflow")
|
|
}
|
|
extraI = -1 - extraI
|
|
default:
|
|
return fmt.Errorf("wrong type for int64 field: %d", maj)
|
|
}
|
|
|
|
t.PushCount = int64(extraI)
|
|
}
|
|
// t.UpdatedAt (string) (string)
|
|
case "updatedAt":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.UpdatedAt = string(sval)
|
|
}
|
|
// t.Repository (string) (string)
|
|
case "repository":
|
|
|
|
{
|
|
sval, err := cbg.ReadStringWithMax(cr, 8192)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
t.Repository = string(sval)
|
|
}
|
|
|
|
default:
|
|
// Field doesn't exist on this type, so ignore it
|
|
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|