import { ShapeDiverCommonsGroup } from '../commons/SdCommonsGroup'; import { ShapeDiverResponseModelComputationStatus } from './SdResponseDtoModelComputation'; /** * @swagger {components.schemas} ResponseExportDefinitionType { "description": "Types of exports.", "type": "string", "enum": [ "unknown", "download", "email", "shapeways" ] } */ /** Types of exports. */ export enum ShapeDiverResponseExportDefinitionType { UNKNOWN = 'unknown', DOWNLOAD = 'download', EMAIL = 'email', SHAPEWAYS = 'shapeways', } /** * @swagger {components.schemas} ResponseExportDefinitionGroup { "allOf": [ { "$ref": "#/components/schemas/CommonsGroup" }, { "description": "Group information of an export definition.", "type": "object" } ] } */ /** Group information of an export definition. */ export type ShapeDiverResponseExportDefinitionGroup = ShapeDiverCommonsGroup; /** * @swagger {components.schemas} ResponseExportDefinition { "description": "Export definition WITHOUT results as exposed on the API.", "type": "object" } */ /** Export definition WITHOUT results as exposed on the API. */ export interface ShapeDiverResponseExportDefinition { /** * @swagger {components.schemas.ResponseExportDefinition.properties} id { "description": "ID of the export, dependent on model ID, and therefore changing each time a model gets uploaded.", "type": "string" } * @swagger {components.schemas.ResponseExportDefinition} required [ "id" ] */ /** ID of the export, dependent on model ID, and therefore changing each time a model gets uploaded. */ id: string; /** * @swagger {components.schemas.ResponseExportDefinition.properties} uid { "description": "Constant ID of the export, not dependent on model ID, and therefore NOT changing each time a model gets uploaded. Might be undefined because this property was introduced in summer 2020 and does not exist for exports of older models.", "type": "string" } */ /** Constant ID of the export, not dependent on model ID, and therefore NOT changing each time a model gets uploaded. Might be undefined because this property was introduced in summer 2020 and does not exist for exports of older models. */ uid?: string; /** * @swagger {components.schemas.ResponseExportDefinition.properties} name { "description": "Name of the export.", "type": "string" } * @swagger {components.schemas.ResponseExportDefinition} required [ "name" ] */ /** Name of the export. */ name: string; /** * @swagger {components.schemas.ResponseExportDefinition.properties} type { "description": "Type of export.", "$ref": "#/components/schemas/ResponseExportDefinitionType" } * @swagger {components.schemas.ResponseExportDefinition} required [ "type" ] */ /** Type of export. */ type: ShapeDiverResponseExportDefinitionType; /** * @swagger {components.schemas.ResponseExportDefinition.properties} dependency { "description": "List of IDs of parameters influencing this export.", "type": "array", "items": { "type": "string" } } * @swagger {components.schemas.ResponseExportDefinition} required [ "dependency" ] */ /** List of IDs of parameters influencing this export. */ dependency: string[]; /** * @swagger {components.schemas.ResponseExportDefinition.properties} group { "description": "Group of an export.", "$ref": "#/components/schemas/ResponseExportDefinitionGroup" } */ /** Group of an export. */ group?: ShapeDiverResponseExportDefinitionGroup; /** * @swagger {components.schemas.ResponseExportDefinition.properties} order { "description": "Ordering of the export in client applications.", "type": "number" } */ /** Ordering of the export in client applications. */ order?: number; /** * @swagger {components.schemas.ResponseExportDefinition.properties} tooltip { "description": "Description that is shown as a tooltip in the clients.", "type": "string" } */ /** Description that is shown as a tooltip in the clients. */ tooltip?: string; /** * @swagger {components.schemas.ResponseExportDefinition.properties} displayname { "description": "Parameter name to display instead of name.", "type": "string" } */ /** Parameter name to display instead of {@link name}. */ displayname?: string; /** * @swagger {components.schemas.ResponseExportDefinition.properties} hidden { "description": "Controls whether the parameter should be hidden in the UI.", "type": "boolean" } * @swagger {components.schemas.ResponseExportDefinition} required [ "hidden" ] */ /** Controls whether the parameter should be hidden in the UI. */ hidden: boolean; } /** * @swagger {components.schemas} ResponseExport { "allOf": [ { "$ref": "#/components/schemas/ResponseExportDefinition" }, { "description": "Export definition WITH results as exposed on the API.", "type": "object" } ] } */ /** Export definition WITH results as exposed on the API. */ export interface ShapeDiverResponseExport extends ShapeDiverResponseExportDefinition { /** * @swagger {components.schemas.ResponseExport.properties} version { "description": "Requested version of the export.", "type": "string" } */ /** Requested version of the export. */ version?: string; /** * @swagger {components.schemas.ResponseExport.properties} delay { "description": "The delay in milliseconds after which an export cache request shall be sent to check again for this export version. This property is used ONLY if the export version has not been computed yet.
Note that the existence of this property does not necessarily imply the presence of an active or queued computation for the respective export version.", "type": "number" } */ /** * The delay in milliseconds after which an export cache request shall be sent to check again * for this export version. This property is used ONLY if the export version has not * been computed yet. * * Note that the existence of this property does not necessarily imply the presence of an * active or queued computation for the respective export version. */ delay?: number; /** * @swagger {components.schemas.ResponseExport.properties} content { "description": "Result parts. In case this array does not exist, this means that the workers have not finished computation for this output version.", "type": "array", "items": { "$ref": "#/components/schemas/ResponseExportContent" } } */ /** Result parts. In case this array does not exist, this means that the workers have not finished computation for this output version. */ content?: ShapeDiverResponseExportContent[]; /** * @swagger {components.schemas.ResponseExport.properties} msg { "description": "In case computation of the export version (temporarily) failed. Contains a message explaining what went wrong.", "type": "string" } */ /** * In case computation of the export version (temporarily) failed. * Contains a message explaining what went wrong. */ msg?: string; /** * @swagger {components.schemas.ResponseExport.properties} filename { "description": "Optional suggested filename for the files to be downloaded.", "type": "string" } */ /** Optional suggested filename for the files to be downloaded. */ filename?: string; /** * @swagger {components.schemas.ResponseExport.properties} result { "description": "Optional result object for exports of type email and shapeways.", "$ref": "#/components/schemas/ResponseExportResult" } */ /** Optional result object for exports of type email and shapeways. */ result?: ShapeDiverResponseExportResult; /** * @swagger {components.schemas.ResponseExport.properties} status_computation { "description": "Status of the computation which resulted in the export version.", "$ref": "#/components/schemas/ResponseModelComputationStatus" } */ /** Status of the computation which resulted in the export version. */ status_computation?: ShapeDiverResponseModelComputationStatus; /** * @swagger {components.schemas.ResponseExport.properties} status_collect { "description": "Status of collecting results for the export version.", "$ref": "#/components/schemas/ResponseModelComputationStatus" } */ /** Status of collecting results for the export version. */ status_collect?: ShapeDiverResponseModelComputationStatus; } /** * @swagger {components.schemas} ResponseExportContent { "description": "An item of the content array for exports.", "type": "object" } */ /** An item of the content array for exports. */ export interface ShapeDiverResponseExportContent { /** * @swagger {components.schemas.ResponseExportContent.properties} format { "description": "Format of export result (file extension).", "type": "string" } * @swagger {components.schemas.ResponseExportContent} required [ "format" ] */ /** Format of export result (file extension). */ format: string; /** * @swagger {components.schemas.ResponseExportContent.properties} href { "description": "Link for download of exported asset.", "type": "string" } * @swagger {components.schemas.ResponseExportContent} required [ "href" ] */ /** Link for download of exported asset. */ href: string; /** * @swagger {components.schemas.ResponseExportContent.properties} size { "description": "Optional size of exported asset, in bytes.", "type": "number" } */ /** Optional size of exported asset, in bytes. */ size?: number; /** * @swagger {components.schemas.ResponseExportContent.properties} contentType { "description": "Optional Content-Type for parts of type asset.", "type": "string" } */ /** Optional Content-Type for parts of type asset. */ contentType?: string; } /** * @swagger {components.schemas} ResponseExportResult { "description": "Optional result object for exports of type email and shapeways.", "type": "object" } */ /** Optional result object for exports of type email and shapeways. */ export interface ShapeDiverResponseExportResult { /** * @swagger {components.schemas.ResponseExportResult.properties} msg { "description": "Optional success message for user.", "type": "string" } */ /** Optional success message for user. */ msg?: string; /** * @swagger {components.schemas.ResponseExportResult.properties} err { "description": "Optional error message for user.", "type": "string" } */ /** Optional error message for user. */ err?: string; /** * @swagger {components.schemas.ResponseExportResult.properties} href { "description": "Optional href to redirect user to for download.", "type": "string" } */ /** Optional href to redirect user to for download. */ href?: string; /** * @swagger {components.schemas.ResponseExportResult.properties} modelId { "description": "Optional shapeways model ID.", "type": "string" } */ /** Optional shapeways model ID. */ modelId?: string; }