Signed-off-by: nelind nel.n.lindberg@gmail.com
+166
-64
api/tangled/cbor_gen.go
+166
-64
api/tangled/cbor_gen.go
···
6741
6741
6742
6742
return nil
6743
6743
}
6744
+
func (t *RepoPull_Target) MarshalCBOR(w io.Writer) error {
6745
+
if t == nil {
6746
+
_, err := w.Write(cbg.CborNull)
6747
+
return err
6748
+
}
6749
+
6750
+
cw := cbg.NewCborWriter(w)
6751
+
6752
+
if _, err := cw.Write([]byte{162}); err != nil {
6753
+
return err
6754
+
}
6755
+
6756
+
// t.Repo (string) (string)
6757
+
if len("repo") > 1000000 {
6758
+
return xerrors.Errorf("Value in field \"repo\" was too long")
6759
+
}
6760
+
6761
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("repo"))); err != nil {
6762
+
return err
6763
+
}
6764
+
if _, err := cw.WriteString(string("repo")); err != nil {
6765
+
return err
6766
+
}
6767
+
6768
+
if len(t.Repo) > 1000000 {
6769
+
return xerrors.Errorf("Value in field t.Repo was too long")
6770
+
}
6771
+
6772
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Repo))); err != nil {
6773
+
return err
6774
+
}
6775
+
if _, err := cw.WriteString(string(t.Repo)); err != nil {
6776
+
return err
6777
+
}
6778
+
6779
+
// t.Branch (string) (string)
6780
+
if len("branch") > 1000000 {
6781
+
return xerrors.Errorf("Value in field \"branch\" was too long")
6782
+
}
6783
+
6784
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("branch"))); err != nil {
6785
+
return err
6786
+
}
6787
+
if _, err := cw.WriteString(string("branch")); err != nil {
6788
+
return err
6789
+
}
6790
+
6791
+
if len(t.Branch) > 1000000 {
6792
+
return xerrors.Errorf("Value in field t.Branch was too long")
6793
+
}
6794
+
6795
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.Branch))); err != nil {
6796
+
return err
6797
+
}
6798
+
if _, err := cw.WriteString(string(t.Branch)); err != nil {
6799
+
return err
6800
+
}
6801
+
return nil
6802
+
}
6803
+
6804
+
func (t *RepoPull_Target) UnmarshalCBOR(r io.Reader) (err error) {
6805
+
*t = RepoPull_Target{}
6806
+
6807
+
cr := cbg.NewCborReader(r)
6808
+
6809
+
maj, extra, err := cr.ReadHeader()
6810
+
if err != nil {
6811
+
return err
6812
+
}
6813
+
defer func() {
6814
+
if err == io.EOF {
6815
+
err = io.ErrUnexpectedEOF
6816
+
}
6817
+
}()
6818
+
6819
+
if maj != cbg.MajMap {
6820
+
return fmt.Errorf("cbor input should be of type map")
6821
+
}
6822
+
6823
+
if extra > cbg.MaxLength {
6824
+
return fmt.Errorf("RepoPull_Target: map struct too large (%d)", extra)
6825
+
}
6826
+
6827
+
n := extra
6828
+
6829
+
nameBuf := make([]byte, 6)
6830
+
for i := uint64(0); i < n; i++ {
6831
+
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
6832
+
if err != nil {
6833
+
return err
6834
+
}
6835
+
6836
+
if !ok {
6837
+
// Field doesn't exist on this type, so ignore it
6838
+
if err := cbg.ScanForLinks(cr, func(cid.Cid) {}); err != nil {
6839
+
return err
6840
+
}
6841
+
continue
6842
+
}
6843
+
6844
+
switch string(nameBuf[:nameLen]) {
6845
+
// t.Repo (string) (string)
6846
+
case "repo":
6847
+
6848
+
{
6849
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
6850
+
if err != nil {
6851
+
return err
6852
+
}
6853
+
6854
+
t.Repo = string(sval)
6855
+
}
6856
+
// t.Branch (string) (string)
6857
+
case "branch":
6858
+
6859
+
{
6860
+
sval, err := cbg.ReadStringWithMax(cr, 1000000)
6861
+
if err != nil {
6862
+
return err
6863
+
}
6864
+
6865
+
t.Branch = string(sval)
6866
+
}
6867
+
6868
+
default:
6869
+
// Field doesn't exist on this type, so ignore it
6870
+
if err := cbg.ScanForLinks(r, func(cid.Cid) {}); err != nil {
6871
+
return err
6872
+
}
6873
+
}
6874
+
}
6875
+
6876
+
return nil
6877
+
}
6744
6878
func (t *RepoPull) MarshalCBOR(w io.Writer) error {
6745
6879
if t == nil {
6746
6880
_, err := w.Write(cbg.CborNull)
···
6748
6882
}
6749
6883
6750
6884
cw := cbg.NewCborWriter(w)
6751
-
fieldCount := 8
6885
+
fieldCount := 7
6752
6886
6753
6887
if t.Body == nil {
6754
6888
fieldCount--
···
6878
7012
}
6879
7013
}
6880
7014
6881
-
// t.CreatedAt (string) (string)
6882
-
if len("createdAt") > 1000000 {
6883
-
return xerrors.Errorf("Value in field \"createdAt\" was too long")
7015
+
// t.Target (tangled.RepoPull_Target) (struct)
7016
+
if len("target") > 1000000 {
7017
+
return xerrors.Errorf("Value in field \"target\" was too long")
6884
7018
}
6885
7019
6886
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil {
7020
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("target"))); err != nil {
6887
7021
return err
6888
7022
}
6889
-
if _, err := cw.WriteString(string("createdAt")); err != nil {
7023
+
if _, err := cw.WriteString(string("target")); err != nil {
6890
7024
return err
6891
7025
}
6892
7026
6893
-
if len(t.CreatedAt) > 1000000 {
6894
-
return xerrors.Errorf("Value in field t.CreatedAt was too long")
6895
-
}
6896
-
6897
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil {
6898
-
return err
6899
-
}
6900
-
if _, err := cw.WriteString(string(t.CreatedAt)); err != nil {
6901
-
return err
6902
-
}
6903
-
6904
-
// t.TargetRepo (string) (string)
6905
-
if len("targetRepo") > 1000000 {
6906
-
return xerrors.Errorf("Value in field \"targetRepo\" was too long")
6907
-
}
6908
-
6909
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("targetRepo"))); err != nil {
6910
-
return err
6911
-
}
6912
-
if _, err := cw.WriteString(string("targetRepo")); err != nil {
7027
+
if err := t.Target.MarshalCBOR(cw); err != nil {
6913
7028
return err
6914
7029
}
6915
7030
6916
-
if len(t.TargetRepo) > 1000000 {
6917
-
return xerrors.Errorf("Value in field t.TargetRepo was too long")
6918
-
}
6919
-
6920
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.TargetRepo))); err != nil {
6921
-
return err
6922
-
}
6923
-
if _, err := cw.WriteString(string(t.TargetRepo)); err != nil {
6924
-
return err
6925
-
}
6926
-
6927
-
// t.TargetBranch (string) (string)
6928
-
if len("targetBranch") > 1000000 {
6929
-
return xerrors.Errorf("Value in field \"targetBranch\" was too long")
7031
+
// t.CreatedAt (string) (string)
7032
+
if len("createdAt") > 1000000 {
7033
+
return xerrors.Errorf("Value in field \"createdAt\" was too long")
6930
7034
}
6931
7035
6932
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("targetBranch"))); err != nil {
7036
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len("createdAt"))); err != nil {
6933
7037
return err
6934
7038
}
6935
-
if _, err := cw.WriteString(string("targetBranch")); err != nil {
7039
+
if _, err := cw.WriteString(string("createdAt")); err != nil {
6936
7040
return err
6937
7041
}
6938
7042
6939
-
if len(t.TargetBranch) > 1000000 {
6940
-
return xerrors.Errorf("Value in field t.TargetBranch was too long")
7043
+
if len(t.CreatedAt) > 1000000 {
7044
+
return xerrors.Errorf("Value in field t.CreatedAt was too long")
6941
7045
}
6942
7046
6943
-
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.TargetBranch))); err != nil {
7047
+
if err := cw.WriteMajorTypeHeader(cbg.MajTextString, uint64(len(t.CreatedAt))); err != nil {
6944
7048
return err
6945
7049
}
6946
-
if _, err := cw.WriteString(string(t.TargetBranch)); err != nil {
7050
+
if _, err := cw.WriteString(string(t.CreatedAt)); err != nil {
6947
7051
return err
6948
7052
}
6949
7053
return nil
···
6974
7078
6975
7079
n := extra
6976
7080
6977
-
nameBuf := make([]byte, 12)
7081
+
nameBuf := make([]byte, 9)
6978
7082
for i := uint64(0); i < n; i++ {
6979
7083
nameLen, ok, err := cbg.ReadFullStringIntoBuf(cr, nameBuf, 1000000)
6980
7084
if err != nil {
···
7064
7168
}
7065
7169
7066
7170
}
7067
-
// t.CreatedAt (string) (string)
7068
-
case "createdAt":
7171
+
// t.Target (tangled.RepoPull_Target) (struct)
7172
+
case "target":
7069
7173
7070
7174
{
7071
-
sval, err := cbg.ReadStringWithMax(cr, 1000000)
7072
-
if err != nil {
7073
-
return err
7074
-
}
7075
7175
7076
-
t.CreatedAt = string(sval)
7077
-
}
7078
-
// t.TargetRepo (string) (string)
7079
-
case "targetRepo":
7080
-
7081
-
{
7082
-
sval, err := cbg.ReadStringWithMax(cr, 1000000)
7176
+
b, err := cr.ReadByte()
7083
7177
if err != nil {
7084
7178
return err
7085
7179
}
7180
+
if b != cbg.CborNull[0] {
7181
+
if err := cr.UnreadByte(); err != nil {
7182
+
return err
7183
+
}
7184
+
t.Target = new(RepoPull_Target)
7185
+
if err := t.Target.UnmarshalCBOR(cr); err != nil {
7186
+
return xerrors.Errorf("unmarshaling t.Target pointer: %w", err)
7187
+
}
7188
+
}
7086
7189
7087
-
t.TargetRepo = string(sval)
7088
7190
}
7089
-
// t.TargetBranch (string) (string)
7090
-
case "targetBranch":
7191
+
// t.CreatedAt (string) (string)
7192
+
case "createdAt":
7091
7193
7092
7194
{
7093
7195
sval, err := cbg.ReadStringWithMax(cr, 1000000)
···
7095
7197
return err
7096
7198
}
7097
7199
7098
-
t.TargetBranch = string(sval)
7200
+
t.CreatedAt = string(sval)
7099
7201
}
7100
7202
7101
7203
default:
+7
-2
api/tangled/repopull.go
+7
-2
api/tangled/repopull.go
···
22
22
CreatedAt string `json:"createdAt" cborgen:"createdAt"`
23
23
Patch string `json:"patch" cborgen:"patch"`
24
24
Source *RepoPull_Source `json:"source,omitempty" cborgen:"source,omitempty"`
25
-
TargetBranch string `json:"targetBranch" cborgen:"targetBranch"`
26
-
TargetRepo string `json:"targetRepo" cborgen:"targetRepo"`
25
+
Target *RepoPull_Target `json:"target" cborgen:"target"`
27
26
Title string `json:"title" cborgen:"title"`
28
27
}
29
28
···
33
32
Repo *string `json:"repo,omitempty" cborgen:"repo,omitempty"`
34
33
Sha string `json:"sha" cborgen:"sha"`
35
34
}
35
+
36
+
// RepoPull_Target is a "target" in the sh.tangled.repo.pull schema.
37
+
type RepoPull_Target struct {
38
+
Branch string `json:"branch" cborgen:"branch"`
39
+
Repo string `json:"repo" cborgen:"repo"`
40
+
}
+4
-2
appview/db/pulls.go
+4
-2
appview/db/pulls.go
···
94
94
Title: p.Title,
95
95
Body: &p.Body,
96
96
CreatedAt: p.Created.Format(time.RFC3339),
97
-
TargetRepo: p.RepoAt.String(),
98
-
TargetBranch: p.TargetBranch,
97
+
Target: &tangled.RepoPull_Target{
98
+
Repo: p.RepoAt.String(),
99
+
Branch: p.TargetBranch,
100
+
},
99
101
Patch: p.LatestPatch(),
100
102
Source: source,
101
103
}
+8
-4
appview/pulls/pulls.go
+8
-4
appview/pulls/pulls.go
···
1091
1091
Record: &lexutil.LexiconTypeDecoder{
1092
1092
Val: &tangled.RepoPull{
1093
1093
Title: title,
1094
-
TargetRepo: string(f.RepoAt),
1095
-
TargetBranch: targetBranch,
1094
+
Target: &tangled.RepoPull_Target{
1095
+
Repo: string(f.RepoAt),
1096
+
Branch: targetBranch,
1097
+
},
1096
1098
Patch: patch,
1097
1099
Source: recordPullSource,
1098
1100
},
···
1652
1654
Record: &lexutil.LexiconTypeDecoder{
1653
1655
Val: &tangled.RepoPull{
1654
1656
Title: pull.Title,
1655
-
TargetRepo: string(f.RepoAt),
1656
-
TargetBranch: pull.TargetBranch,
1657
+
Target: &tangled.RepoPull_Target{
1658
+
Repo: string(f.RepoAt),
1659
+
Branch: pull.TargetBranch,
1660
+
},
1657
1661
Patch: patch, // new patch
1658
1662
Source: recordPullSource,
1659
1663
},
+1
cmd/gen.go
+1
cmd/gen.go
+20
-8
lexicons/pulls/pull.json
+20
-8
lexicons/pulls/pull.json
···
10
10
"record": {
11
11
"type": "object",
12
12
"required": [
13
-
"targetRepo",
14
-
"targetBranch",
13
+
"target",
15
14
"title",
16
15
"patch",
17
16
"createdAt"
18
17
],
19
18
"properties": {
20
-
"targetRepo": {
21
-
"type": "string",
22
-
"format": "at-uri"
23
-
},
24
-
"targetBranch": {
25
-
"type": "string"
19
+
"target": {
20
+
"type": "ref",
21
+
"ref": "#target"
26
22
},
27
23
"title": {
28
24
"type": "string"
···
44
40
}
45
41
}
46
42
},
43
+
"target": {
44
+
"type": "object",
45
+
"required": [
46
+
"repo",
47
+
"branch"
48
+
],
49
+
"properties": {
50
+
"repo": {
51
+
"type": "string",
52
+
"format": "at-uri"
53
+
},
54
+
"branch": {
55
+
"type": "string"
56
+
}
57
+
}
58
+
},
47
59
"source": {
48
60
"type": "object",
49
61
"required": [