@chameleoncloud/jupyterlab_zenodo
Version:
JupyterLab extension for uploading to Zenodo
27 lines (26 loc) • 936 B
TypeScript
import { Token } from '@lumino/coreutils';
export declare class ZenodoConfig {
readonly baseUrl: string;
readonly externalEditUrl: string;
}
export declare class ZenodoRecord {
readonly doi: string;
readonly path: string;
}
export declare class ZenodoFormFields {
readonly title?: string;
readonly author?: string;
readonly affiliation?: string;
readonly description?: string;
readonly directory?: string;
readonly zenodoToken?: string;
}
export declare const IZenodoRegistry: Token<IZenodoRegistry>;
export interface IZenodoRegistry {
newDepositionVersion(path: string): Promise<ZenodoRecord>;
createDeposition(path: string, post: ZenodoFormFields): Promise<ZenodoRecord>;
getDepositions(): Promise<ZenodoRecord[]>;
getDeposition(path: string): Promise<ZenodoRecord>;
hasDepositionSync(path: string): boolean;
getDepositionSync(path: string): ZenodoRecord | undefined;
}