Options
All
  • Public
  • Public/Protected
  • All
Menu

Manage draft entry on Zenodo

Example of managing a already created Zenodo draft.

import { ZenodoDraft } from '@iomeg/zenodo-upload';

const draft_url = 'https://zenodo.org/api/deposit/depositions/1234567';
const access_token = 'sometoken';
const checksum = true;
const draft  = new ZenodoDraft(draft_url, access_token, checksum);
await draft.add_file('./somefile');
await draft.set_version('1.2.3');
await draft.publish();

A draft can be created on the Zenodo website by creating a new version without publishing it or with the create_draft function.

Hierarchy

  • ZenodoDraft

Index

Constructors

constructor

  • new ZenodoDraft(url: string, access_token: string, checksum: boolean): ZenodoDraft

Properties

Private _metadata

_metadata: any

Private access_token

access_token: string

Private bucket

bucket: string = ''

Private checksum

checksum: boolean

Private files

files: DepositionFile[] = []

Private url

url: string

Methods

add_file

  • Add file to draft

    For example to add a file called ./somefile.

    await draft.add_file('./somefile');
    
    throws

    {FilePresentError} When checksum=true and file checksum matched with file already in draft.

    throws

    {Error} When communication with Zenodo API fails

    Parameters

    • file: string

      Path to file

    Returns Promise<DepositionFile>

Private add_file2cache

Private build_cache

  • build_cache(): Promise<void>

discard

  • discard(): Promise<void>
  • Discard the draft.

    Any other methods on the object will fail after discarding.

    For example

    await draft.discard();
    
    throws

    {Error} When communication with Zenodo API fails

    Returns Promise<void>

Private fill_cache

  • fill_cache(record: any): void

get_metadata

  • get_metadata(): Promise<any>
  • Get copy of the metadata.

    throws

    {Error} When communication with Zenodo API fails

    Returns Promise<any>

    metadata object of draft

publish

  • Publish draft Zenodo upload

    For example

    await draft.publish();
    
    throws

    {Error} When communication with Zenodo API fails

    Returns Promise<PublishResult>

set_metadata

  • set_metadata(metadata: any): Promise<void>
  • Overwrite complete metadata of draft

    For example

    const metadata = await draft.get_metadata();
    metadata.title = 'My new title';
    await draft.set_metadata(metadata);
    
    throws

    {Error} When communication with Zenodo API fails

    Parameters

    • metadata: any

      New metadata object for draft

    Returns Promise<void>

set_version

  • set_version(version: string, publication_date?: Date): Promise<void>
  • Set version of draft

    For example

    await draft.set_version('1.2.3');
    
    throws

    {Error} When communication with Zenodo API fails

    Parameters

    • version: string

      Update draft with given version

    • publication_date: Date = ...

      Date of publication. Defaults to today.

    Returns Promise<void>

toString

  • toString(): string

Generated using TypeDoc