UNPKG

zenodraft

Version:

CLI to manage depositions on Zenodo and Zenodo Sandbox

39 lines (38 loc) 1.86 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; import { default as fetch } from 'node-fetch'; import { helpers_get_api } from '../../helpers/get-api'; import { metadata_update } from '../../metadata/update'; export const deposition_create_concept = (token, sandbox, verbose = false) => __awaiter(void 0, void 0, void 0, function* () { const msg = `creating a new, empty version in a new concept...`; if (verbose) { console.log(msg); } const api = helpers_get_api(sandbox); const url = `${api}/deposit/depositions`; const response = yield fetch(url, { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({}) }); if (response.ok !== true) { throw new Error(`(errid 11) Something went wrong on 'POST' to ${url}: ${response.status} - ${response.statusText}`); } const deposition = yield response.json(); const new_id = deposition.record_id.toString(); if (verbose) { console.log(`${msg}done. id=${new_id}`); } yield metadata_update(token, sandbox, new_id, undefined, verbose); return deposition.record_id.toString(); });