Documentation
¶
Index ¶
- Variables
- func AddRecord(docId int64, fileName string, foxdenRecord any) error
- func GetRecordId(doi string) string
- func MakePublic(rid string) error
- func UpdateRecord(docId int64, mrec MetaDataRecord) error
- type AddResponse
- type CreateResponse
- type Creator
- type DepositRecord
- type DoiRecord
- type Error
- type File
- type FoxdenRecord
- type Links
- type MetaData
- type MetaDataRecord
- type MetaDataResponseRecord
- type MetaRecord
- type PrereserveDoi
- type Response
Constants ¶
This section is empty.
Variables ¶
var Verbose int
Functions ¶
func AddRecord ¶ added in v0.4.8
AddRecord represents add API to zenodo
curl --upload-file readme.md --request PUT 'https://zenodo.org/api/files/50b47f75-c97d-47c6-af11-caa6e967c1d5/readme.md?access_token=<KEY>'
func GetRecordId ¶ added in v0.7.4
GetRecordId extracts from our doi record id (last part of doi)
func MakePublic ¶ added in v0.7.4
MakePublic implements logic of publishing draft DOI
curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-X POST "https://zenodo.org/api/deposit/depositions/1234567/actions/publish"
func UpdateRecord ¶ added in v0.4.6
func UpdateRecord(docId int64, mrec MetaDataRecord) error
UpdateRecord updates Zenodo records with our metadata
# add mandatory metadata to our publication
curl -v -X PUT "https://zenodo.org/api/deposit/depositions/<ID>?access_token=<TOKEN>" \
-H "Content-type: application/json" -d@meta1.json
{
"metadata": {
"publication_type": "article",
"upload_type":"publication",
"description":"This is a test",
"keywords": ["bla", "foo"],
"title":"Test"
}
}
Types ¶
type AddResponse ¶ added in v0.1.3
type AddResponse struct {
Created string `json:"created"`
Modified string `json:"modified"`
Size int64 `json:"size"`
Key string `json:"key"`
MimeType string `json:"mimetype"`
Checksum string `json:"checksum"`
Owner int `json:"owner"`
RecordId int64 `json:"record_id"`
Links Links `json:"links"`
}
AddResponse represents output of /create API
type CreateResponse ¶ added in v0.1.3
type CreateResponse struct {
Id int64 `json:"id"`
MetaData MetaData `json:"metadata"`
Created string `json:"created"`
Modified string `json:"modified"`
Owner int `json:"owner"`
RecordId int64 `json:"record_id"`
State string `json:"state"`
Submitted bool `json:"submitted"`
Title string `json:"title"`
Links Links `json:"links"`
}
CreateResponse represents output of /create API
func CreateRecord ¶ added in v0.4.6
func CreateRecord(payload []byte) (CreateResponse, error)
CreateRecord provides create record API
type DepositRecord ¶ added in v0.7.4
type DepositRecord struct {
MetaDataResponseRecord MetaDataResponseRecord `json:"metadata"`
State string `json:"state"`
Id int64 `json:"id"`
Owner int64 `json:"owner"`
}
DepositRecord represents part of deposit record from Zenodo
func DepositRecords ¶ added in v0.7.4
func DepositRecords(doi string) ([]DepositRecord, error)
DepositRecords returns list of Zenodo Deposit records
curl 'https://zenodo.org/api/deposit/depositions?access_token=<KEY>' curl 'https://zenodo.org/api/deposit/depositions/<123>?access_token=<KEY>' where 123 is record id (last part of doi)
type DoiRecord ¶ added in v0.4.6
type DoiRecord struct {
Id int64 `json:"id"`
Doi string `json:"doi"`
DoiUrl string `json:"doi_url"`
Files []File `json:"files,omitempty"`
Links Links `json:"links"`
}
DoiRecord represents doi record
func DoiRecords ¶ added in v0.7.4
DoiRecords returns list of Zenodo DOI records
func PublishRecord ¶ added in v0.4.6
PublishRecord publishes docId record in Zenodo curl -v -X POST "https://zenodo.org/api/deposit/depositions/<ID>/actions/publish?access_token=<TOKEN>"
type FoxdenRecord ¶ added in v0.4.8
FoxdenRecord represents foxden upload record
type Links ¶
type Links struct {
Bucket string `json:"bucket"`
Discard string `json:"discard"`
Edit string `json:"edit"`
Files string `json:"files"`
Html string `json:"html"`
LatestDraft string `json:"latest_draft"`
LasestDraftHtml string `json:"latest_draft_html"`
NewVersion string `json:"newversion"`
Publish string `json:"publish"`
RegisterConceptDoi string `json:"registerconceptdoi"`
Self string `json:"self"`
}
Links contains zenodo links
type MetaData ¶
type MetaData struct {
AccessRight string `json:"access_right"`
PrereserveDoi PrereserveDoi `json:"prereserve_doi"`
}
MetaData represents meta-data struct
type MetaDataRecord ¶ added in v0.1.3
type MetaDataRecord struct {
PublicationType string `json:"publication_type"`
UploadType string `json:"upload_type"`
Description string `json:"description"`
Keywords []string `json:"keywords"`
Title string `json:"title"`
Licences []string `json:"licenses,omitempty"`
Version string `json:"version,omitempty"`
Publisher string `json:"publisher,omitempty"`
Contributors []Creator `json:"contributors,omitempty"`
Creators []Creator `json:"creators"`
Doi string `json:"doi"`
PreserveDoi bool `json:"preserve_doi"` // set to true to force Zenodo to create DOI
}
MetaDataRecord represents meta-data record
func (*MetaDataRecord) Validate ¶ added in v0.1.3
func (m *MetaDataRecord) Validate() error
Validate provides validation of meta data record
type MetaDataResponseRecord ¶ added in v0.7.4
type MetaDataResponseRecord struct {
PrereserveDoi PrereserveDoi `json:"prereserve_doi"`
}
MetaDataResponseRecord represents part of meta-data record
type MetaRecord ¶ added in v0.4.8
type MetaRecord struct {
Metadata MetaDataRecord `json:"metadata"`
Files any `json:"files,omitempty"`
}
MetaRecords used to publish meta-data record to zenodo
type PrereserveDoi ¶
PrereserveDoi represents PrereserveDoi struct