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