99 "encoding/base64"
1010 "fmt"
1111 "github.com/drone/go-scm/scm"
12- "time"
1312)
1413
1514type contentService struct {
@@ -29,30 +28,41 @@ func (s *contentService) Find(ctx context.Context, repo, path, ref string) (*scm
2928
3029func (s * contentService ) Create (ctx context.Context , repo , path string , params * scm.ContentParams ) (* scm.Response , error ) {
3130 endpoint := fmt .Sprintf ("repos/%s/contents/%s" , repo , path )
32- in := new (contentCreateUpdate )
33- in .Committer .Name = params .Signature .Name
34- in .Committer .Email = params .Signature .Email
35- in .Author .Name = params .Signature .Name
36- in .Author .Email = params .Signature .Email
37- in .Message = params .Message
38- in .Branch = params .Branch
39- in .Content = params .Data
40- in .SHA = params .SHA
31+ in := & contentCreateUpdate {
32+ Message : params .Message ,
33+ Branch : params .Branch ,
34+ Content : params .Data ,
35+ Sha : params .Sha ,
36+ Committer : commitAuthor {
37+ Name : params .Signature .Name ,
38+ Email : params .Signature .Email ,
39+ },
40+ Author : commitAuthor {
41+ Name : params .Signature .Name ,
42+ Email : params .Signature .Email ,
43+ },
44+ }
45+
4146 res , err := s .client .do (ctx , "PUT" , endpoint , in , nil )
4247 return res , err
4348}
4449
4550func (s * contentService ) Update (ctx context.Context , repo , path string , params * scm.ContentParams ) (* scm.Response , error ) {
4651 endpoint := fmt .Sprintf ("repos/%s/contents/%s" , repo , path )
47- in := new (contentCreateUpdate )
48- in .Committer .Name = params .Signature .Name
49- in .Committer .Email = params .Signature .Email
50- in .Author .Name = params .Signature .Name
51- in .Author .Email = params .Signature .Email
52- in .Message = params .Message
53- in .Branch = params .Branch
54- in .Content = params .Data
55- in .SHA = params .SHA
52+ in := & contentCreateUpdate {
53+ Message : params .Message ,
54+ Branch : params .Branch ,
55+ Content : params .Data ,
56+ Sha : params .Sha ,
57+ Committer : commitAuthor {
58+ Name : params .Signature .Name ,
59+ Email : params .Signature .Email ,
60+ },
61+ Author : commitAuthor {
62+ Name : params .Signature .Name ,
63+ Email : params .Signature .Email ,
64+ },
65+ }
5666 res , err := s .client .do (ctx , "PUT" , endpoint , in , nil )
5767 return res , err
5868}
@@ -77,18 +87,17 @@ type content struct {
7787}
7888
7989type contentCreateUpdate struct {
80- Branch string
81- Message string
82- Content []byte
83- SHA string
84- Author CommitAuthor
85- Committer CommitAuthor
90+ Branch string `json:"branch"`
91+ Message string `json:"message"`
92+ Content []byte `json:"content"`
93+ Sha string `json:"sha"`
94+ Author commitAuthor `json:"author"`
95+ Committer commitAuthor `json:"committer"`
8696}
8797
88- type CommitAuthor struct {
89- Date * time.Time
90- Name string
91- Email string
98+ type commitAuthor struct {
99+ Name string `json:"name"`
100+ Email string `json:"email"`
92101}
93102
94103func convertContentInfoList (from []* content ) []* scm.ContentInfo {
0 commit comments