forked from tangled.org/core
Monorepo for Tangled — https://tangled.org

lexicons,api: new knot lexicon

Signed-off-by: Anirudh Oppiliappan <anirudh@tangled.sh>

Changed files
+153 -35
api
cmd
+130
api/tangled/cbor_gen.go
···
return nil
+
func (t *Knot) MarshalCBOR(w io.Writer) error {
+
if t == nil {
+
_, err := w.Write(cbg.CborNull)
+
return err
+
}
+
+
cw := cbg.NewCborWriter(w)
+
+
if _, err := cw.Write([]byte{162}); err != nil {
+
return err
+
}
+
+
// t.LexiconTypeID (string) (string)
+
if len("$type") > 1000000 {
+
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 err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("sh.tangled.knot"))); err != nil {
+
return err
+
}
+
if _, err := cw.WriteString(string("sh.tangled.knot")); err != nil {
+
return err
+
}
+
+
// t.CreatedAt (string) (string)
+
if len("createdAt") > 1000000 {
+
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) > 1000000 {
+
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
+
}
+
return nil
+
}
+
+
func (t *Knot) UnmarshalCBOR(r io.Reader) (err error) {
+
*t = Knot{}
+
+
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("Knot: map struct too large (%d)", extra)
+
}
+
+
n := extra
+
+
nameBuf := make([]byte, 9)
+
for i := uint64(0); i < n; i++ {
+
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
+
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.LexiconTypeID (string) (string)
+
case "$type":
+
+
{
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
+
if err != nil {
+
return err
+
}
+
+
t.LexiconTypeID = string(sval)
+
}
+
// t.CreatedAt (string) (string)
+
case "createdAt":
+
+
{
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
+
if err != nil {
+
return err
+
}
+
+
t.CreatedAt = 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 *KnotMember) MarshalCBOR(w io.Writer) error {
if t == nil {
_, err := w.Write(cbg.CborNull)
-35
api/tangled/knothealth.go
···
-
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
-
-
package tangled
-
-
// schema: sh.tangled.knot.health
-
-
import (
-
"context"
-
-
"github.com/bluesky-social/indigo/lex/util"
-
)
-
-
const (
-
KnotHealthNSID = "sh.tangled.knot.health"
-
)
-
-
// KnotHealth_Output is the output of a sh.tangled.knot.health call.
-
type KnotHealth_Output struct {
-
// status: Health status of the knot
-
Status string `json:"status" cborgen:"status"`
-
// timestamp: Timestamp of the health check
-
Timestamp *string `json:"timestamp,omitempty" cborgen:"timestamp,omitempty"`
-
// version: Version of the knot server
-
Version *string `json:"version,omitempty" cborgen:"version,omitempty"`
-
}
-
-
// KnotHealth calls the XRPC method "sh.tangled.knot.health".
-
func KnotHealth(ctx context.Context, c util.LexClient) (*KnotHealth_Output, error) {
-
var out KnotHealth_Output
-
if err := c.LexDo(ctx, util.Query, "", "sh.tangled.knot.health", nil, nil, &out); err != nil {
-
return nil, err
-
}
-
-
return &out, nil
-
}
+22
api/tangled/tangledknot.go
···
+
// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
+
+
package tangled
+
+
// schema: sh.tangled.knot
+
+
import (
+
"github.com/bluesky-social/indigo/lex/util"
+
)
+
+
const (
+
KnotNSID = "sh.tangled.knot"
+
)
+
+
func init() {
+
util.RegisterType("sh.tangled.knot", &Knot{})
+
} //
+
// RECORDTYPE: Knot
+
type Knot struct {
+
LexiconTypeID string `json:"$type,const=sh.tangled.knot" cborgen:"$type,const=sh.tangled.knot"`
+
CreatedAt string `json:"createdAt" cborgen:"createdAt"`
+
}
+1
cmd/gen.go
···
tangled.GitRefUpdate_Meta_LangBreakdown{},
tangled.GitRefUpdate_Pair{},
tangled.GraphFollow{},
+
tangled.Knot{},
tangled.KnotMember{},
tangled.Pipeline{},
tangled.Pipeline_CloneOpts{},