/** * Synapse REST API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: v1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { DoiResourceType } from './DoiResourceType'; import type { DoiTitle } from './DoiTitle'; import type { DoiCreator } from './DoiCreator'; /** * JSON schema for fields associated with a DOI and its metadata. This object contains fields from both DoiAssociation and DataciteMetadata.
To mint a DOI, the following fields are required:
For more information, see the DoiAssociation and DataciteMetadata objects. * @export * @interface V2Doi */ export interface V2Doi { /** * Required. The main researchers involved in producing the data, or the authors of the publication, in priority order. * @type {Array} * @memberof V2Doi */ creators?: Array; /** * Required. A name or title by which a resource is known. * @type {Array} * @memberof V2Doi */ titles?: Array; /** * Required. The year that this resource became publicly accessible. Must be in YYYY format. * @type {number} * @memberof V2Doi */ publicationYear?: number; /** * * @type {DoiResourceType} * @memberof V2Doi */ resourceType?: DoiResourceType; /** * The publisher of the DOI, for a portal DOI matches the Portal name * @type {string} * @memberof V2Doi */ publisher?: string; /** * The unique ID of this DOI stored in Synapse. Provided by Synapse. * @type {string} * @memberof V2Doi */ associationId?: string; /** * For Optimistic Concurrency Control (OCC). Required to successfully update a DOI. * @type {string} * @memberof V2Doi */ etag?: string; /** * The unique URI of this DOI to which the resource can be resolved. Provided by Synapse. * @type {string} * @memberof V2Doi */ doiUri?: string; /** * The DOI URL that will point to the Synapse object. Provided by Synapse. * @type {string} * @memberof V2Doi */ doiUrl?: string; /** * The id of the portal that this DOI is associated with. * @type {string} * @memberof V2Doi */ portalId?: string; /** * Required. The ID of the digital object in Synapse for which this DOI is created. * @type {string} * @memberof V2Doi */ objectId?: string; /** * The type of objects that support DOI minting * @type {string} * @memberof V2Doi */ objectType?: V2DoiObjectTypeEnum; /** * Optional. The version of the digital object. When null, the DOI is associated with the current version of the object. * @type {number} * @memberof V2Doi */ objectVersion?: number; /** * The ID of the user that creates this DOI. Provided by Synapse. * @type {string} * @memberof V2Doi */ associatedBy?: string; /** * The date time this DOI is first created. Provided by Synapse. * @type {string} * @memberof V2Doi */ associatedOn?: string; /** * The ID of the user that last updated this DOI. Provided by Synapse. * @type {string} * @memberof V2Doi */ updatedBy?: string; /** * The date time this DOI is last updated. Provided by Synapse. * @type {string} * @memberof V2Doi */ updatedOn?: string; } /** * @export */ export declare const V2DoiObjectTypeEnum: { readonly ENTITY: "ENTITY"; readonly PORTAL_RESOURCE: "PORTAL_RESOURCE"; }; export type V2DoiObjectTypeEnum = typeof V2DoiObjectTypeEnum[keyof typeof V2DoiObjectTypeEnum]; /** * Check if a given object implements the V2Doi interface. */ export declare function instanceOfV2Doi(value: object): value is V2Doi; export declare function V2DoiFromJSON(json: any): V2Doi; export declare function V2DoiFromJSONTyped(json: any, ignoreDiscriminator: boolean): V2Doi; export declare function V2DoiToJSON(json: any): V2Doi; export declare function V2DoiToJSONTyped(value?: V2Doi | null, ignoreDiscriminator?: boolean): any;