feat: add upload logics
This commit is contained in:
@@ -22,35 +22,22 @@ type Memo struct {
|
||||
Uid string `json:"uid,omitempty"` // resp
|
||||
}
|
||||
|
||||
// Host string
|
||||
// Token string
|
||||
type PostData struct {
|
||||
Host string
|
||||
Token string
|
||||
Content string
|
||||
ChannelID int64
|
||||
ChannelTitle string
|
||||
Resources []Resource
|
||||
}
|
||||
|
||||
var client *req.Client
|
||||
|
||||
func InitClient(host, token string) {
|
||||
client = req.C().EnableInsecureSkipVerify().SetBaseURL(host).SetCommonBearerAuthToken(token)
|
||||
}
|
||||
|
||||
func Post(pd PostData) error {
|
||||
client := req.C().EnableInsecureSkipVerify().SetBaseURL(pd.Host).SetCommonBearerAuthToken(pd.Token)
|
||||
|
||||
resources := []Resource{}
|
||||
|
||||
for _, res := range pd.Resources {
|
||||
var result Resource
|
||||
|
||||
resp, err := client.R().SetSuccessResult(&result).SetBodyJsonMarshal(res).Post("/api/v1/resources")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "post resource failed")
|
||||
}
|
||||
|
||||
if !resp.IsSuccessState() {
|
||||
return errors.New("post memo failed, body: " + resp.String())
|
||||
}
|
||||
|
||||
resources = append(resources, result)
|
||||
}
|
||||
|
||||
var createMemoResp Memo
|
||||
|
||||
resp, err := client.R().
|
||||
@@ -73,7 +60,7 @@ func Post(pd PostData) error {
|
||||
}
|
||||
|
||||
resp, err = client.R().
|
||||
SetBodyJsonMarshal(Resources{Resources: resources}).
|
||||
SetBodyJsonMarshal(Resources{Resources: pd.Resources}).
|
||||
Patch(fmt.Sprintf("/api/v1/%s/resources", createMemoResp.Name))
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "patch resources failed")
|
||||
@@ -85,3 +72,18 @@ func Post(pd PostData) error {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func Upload(res Resource) (Resource, error) {
|
||||
var result Resource
|
||||
|
||||
resp, err := client.R().SetSuccessResult(&result).SetBodyJsonMarshal(res).Post("/api/v1/resources")
|
||||
if err != nil {
|
||||
return Resource{}, errors.Wrap(err, "post resource failed")
|
||||
}
|
||||
|
||||
if !resp.IsSuccessState() {
|
||||
return Resource{}, errors.New("post memo failed, body: " + resp.String())
|
||||
}
|
||||
|
||||
return res, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user