Skip to content

Commit

Permalink
further improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
vkuznet committed Dec 19, 2024
1 parent 9859a87 commit 1d27bda
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
4 changes: 0 additions & 4 deletions doi/apis.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package doi

import "github.com/CHESSComputing/golib/services"

var _httpReadRequest, _httpWriteRequest *services.HttpRequest

type Provider interface {
Init()
Publish(did, description string) (string, string, error)
Expand Down
16 changes: 14 additions & 2 deletions doi/zenodo.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,19 @@ import (

// ZenodoProvider represents Zenodo provider
type ZenodoProvider struct {
HttpRequest *services.HttpRequest
Token string
}

// Init function initializes Zenodo provider
func (z *ZenodoProvider) Init() {
if srvConfig.Config == nil {
srvConfig.Init()
}
if z.HttpRequest == nil {
z.HttpRequest = services.NewHttpRequest("read", 0)
z.HttpRequest.Token = z.Token
}
}

// Publish provides publication of dataset with did and description
Expand All @@ -32,15 +38,15 @@ func (z *ZenodoProvider) Publish(did, description string) (string, string, error
}

// extract meta-data record for our did
query := fmt.Sprintf("{\"did\": %s}", did)
query := fmt.Sprintf("{\"did\": \"%s\"}", did)
rec := services.ServiceRequest{
Client: "foxden-doi",
ServiceQuery: services.ServiceQuery{Query: query, Idx: 0, Limit: -1},
}

data, err := json.Marshal(rec)
rurl := fmt.Sprintf("%s/search", srvConfig.Config.Services.MetaDataURL)
resp, err := _httpReadRequest.Post(rurl, "application/json", bytes.NewBuffer(data))
resp, err := z.HttpRequest.Post(rurl, "application/json", bytes.NewBuffer(data))
if err != nil {
return doi, doiLink, err
}
Expand All @@ -51,10 +57,16 @@ func (z *ZenodoProvider) Publish(did, description string) (string, string, error
}
var records []map[string]any
err = json.Unmarshal(data, &records)
if err != nil {
return doi, doiLink, err
}

// add foxden record
frec := zenodo.FoxdenRecord{Did: did, MetaData: records}
err = zenodo.AddRecord(docId, "foxden-metadata.json", frec)
if err != nil {
return doi, doiLink, err
}

// create new meta-data record
creator := zenodo.Creator{Name: "FOXDEN", Affiliation: "Cornell University"}
Expand Down

0 comments on commit 1d27bda

Please sign in to comment.