import { ShapeDiverResponseAnalytics } from './SdResponseDtoAnalytics'; import { ShapeDiverResponseDtoAsset } from './SdResponseDtoAsset'; import { ShapeDiverResponseExport, ShapeDiverResponseExportDefinition, } from './SdResponseDtoExport'; import { ShapeDiverResponseList } from './SdResponseDtoList'; import { ShapeDiverResponseAction, ShapeDiverResponseFile, ShapeDiverResponseGltfUpload, ShapeDiverResponseModel, ShapeDiverResponseModelCleanupProcess, ShapeDiverResponseModelState, ShapeDiverResponseParameter, ShapeDiverResponsePlugins, ShapeDiverResponseStatistic, ShapeDiverResponseTemplate, ShapeDiverResponseTicket, ShapeDiverResponseViewer, } from './SdResponseDtoMisc'; import { ShapeDiverResponseModelComputation } from './SdResponseDtoModelComputation'; import { ShapeDiverResponseOutput, ShapeDiverResponseOutputDefinition, } from './SdResponseDtoOutput'; import { ShapeDiverResponseSettings } from './SdResponseDtoSetting'; import { ShapeDiverResponseSystem } from './SdResponseDtoSystem'; /** * Swagger 3.0.3 does not support the removal of properties. * Since we only want to show used properties of the ResponseDTO in routes, we * need to specify all properties of the ResponseDTO individually and stuck them * together inside of the route specifications. * * @swagger {components.schemas} ResponseDtoVersion { "type": "object", "properties": { "version": { "description": "Version of the response format.", "type": "string" } }, "required": [ "version" ] } * @swagger {components.schemas} ResponseDtoMessage { "type": "object", "properties": { "message": { "description": "Contains urgent information about the system.", "type": "string" } } } * @swagger {components.schemas} ResponseDtoWarnings { "type": "object", "properties": { "warnings": { "description": "An array of warnings encountered during request processing. These warnings indicate potential issues or non-critical conditions but did not prevent the request from being successfully processed.", "type": "array", "items": { "type": "string" } } } } * @swagger {components.schemas} ResponseDtoTicket { "type": "object", "properties": { "ticket": { "description": "The ticket to create a model session.", "type": "string" } } } * @swagger {components.schemas} ResponseDtoSessionId { "type": "object", "properties": { "sessionId": { "description": "The ID of the created session.", "type": "string" } } } * @swagger {components.schemas} ResponseDtoViewerSettingsVersion { "type": "object", "properties": { "viewerSettingsVersion": { "description": "The current version of the viewer settings.", "type": "string" } } } * @swagger {components.schemas} ResponseDecryptTicket { "allOf": [ { "$ref": "#/components/schemas/ResponseTicket" }, { "description": "Decrypted ticket details.", "type": "object" } ] } * @swagger {components.schemas} ResponseDtoAuthorizationGroup { "type": "object", "properties": { "auth_group": { "description": "The auth-group to use for ticked-based authentication.", "type": "string" } } } * @swagger {components.schemas} ResponseDtoActions { "type": "object", "properties": { "actions": { "description": "Actions the client may take.", "type": "array", "items": { "$ref": "#/components/schemas/ResponseAction" } } } } * @swagger {components.schemas} ResponseDtoTemplates { "type": "object", "properties": { "templates": { "description": "Request templates for actions.", "type": "array", "items": { "$ref": "#/components/schemas/ResponseTemplate" } } } } * @swagger {components.schemas} ResponseDtoModel { "type": "object", "properties": { "model": { "description": "The definitions of a ShapeDiver model.", "$ref": "#/components/schemas/ResponseModel" } } } * @swagger {components.schemas} ResponseDtoModelState { "type": "object", "properties": { "modelState": { "description": "The definitions of a ShapeDiver Model-State.", "$ref": "#/components/schemas/ResponseModelState" } } } * @swagger {components.schemas} ResponseDtoFile { "type": "object", "properties": { "file": { "description": "Links regarding the model file.", "$ref": "#/components/schemas/ResponseFile" } } } * @swagger {components.schemas} ResponseDtoStatistic { "type": "object", "properties": { "statistic": { "description": "Statistics of a model.", "$ref": "#/components/schemas/ResponseStatistic" } } } * @swagger {components.schemas} ResponseDtoSetting { "type": "object", "properties": { "setting": { "description": "Various settings.", "$ref": "#/components/schemas/ResponseSettings" } } } * @swagger {components.schemas} ResponseDtoParameters { "type": "object", "properties": { "parameters": { "description": "Parameter definitions, not contained with every response.
A directory of parameter-IDs and parameters.", "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ResponseParameter" } } } } * @swagger {components.schemas} ResponseDtoPlugins { "type": "object", "properties": { "plugins": { "description": "Information about Grasshopper plugins.", "type": "object", "additionalProperties": { "$ref": "#/components/schemas/ResponsePlugins" } } } } * @swagger {components.schemas} ResponseDtoViewer { "type": "object", "properties": { "viewer": { "description": "Viewer specific data.", "$ref": "#/components/schemas/ResponseViewer" } } } * @swagger {components.schemas} ResponseDtoOutputs { "type": "object", "properties": { "outputs": { "description": "Outputs of the model for the given parameter values.
A directory of output-IDs and outputs.", "type": "object", "additionalProperties": { "oneOf": [ { "$ref": "#/components/schemas/ResponseOutput" }, { "$ref": "#/components/schemas/ResponseOutputDefinition" } ] } } } } * @swagger {components.schemas} ResponseDtoExports { "type": "object", "properties": { "exports": { "description": "Exports of the model for the given parameter values.
A directory of export-IDs and exports.", "type": "object", "additionalProperties": { "oneOf": [ { "$ref": "#/components/schemas/ResponseExport" }, { "$ref": "#/components/schemas/ResponseExportDefinition" } ] } } } } * @swagger {components.schemas} ResponseDtoAsset { "type": "object", "properties": { "asset": { "description": "File or sdTF assets.", "$ref": "#/components/schemas/ResponseAsset" } } } * @swagger {components.schemas} ResponseDtoAnalytics { "type": "object", "properties": { "analytics": { "description": "Statistics of the model for the given timespan.", "$ref": "#/components/schemas/ResponseAnalytics" } } } * @swagger {components.schemas} ResponseDtoList { "type": "object", "properties": { "list": { "description": "Response of a list API call.", "$ref": "#/components/schemas/ResponseList" } } } * @swagger {components.schemas} ResponseDtoGltfUpload { "type": "object", "properties": { "gltf": { "description": "glTF information.", "$ref": "#/components/schemas/ResponseGltfUpload" } } } * @swagger {components.schemas} ResponseDtoModelComputation { "type": "object", "properties": { "computations": { "description": "Statistics about model computations.", "type": "array", "items": { "$ref": "#/components/schemas/ResponseModelComputation" } } } } * @swagger {components.schemas} ResponseDtoPagination { "type": "object", "properties": { "pagination": { "description": "Pagination information.", "$ref": "#/components/schemas/ResponsePagination" } } } * @swagger {components.schemas} ResponseDtoSystem { "type": "object", "properties": { "system": { "description": "System information.", "$ref": "#/components/schemas/ResponseSystem" } } } * @swagger {components.schemas} ResponseDtoCleanup { "type": "object", "properties": { "cleanup": { "description": "Model cleanup information.", "type": "array", "items": { "$ref": "#/components/schemas/ResponseModelCleanupProcess" } } } } */ /** Structure of a Geometry Backend response. */ export interface ShapeDiverResponseDto { /** Version of the response format. */ version: string; /** Contains urgent information about the system. */ message?: string; /** * An array of warnings encountered during request processing. These warnings indicate * potential issues or non-critical conditions but did not prevent the request from being * successfully processed. */ warnings?: string[]; /** The ticket to create a model session. */ ticket?: string; /** The ID of the created session. */ sessionId?: string; /** Decrypted ticket details. */ decryptedTicket?: ShapeDiverResponseTicket; /** The auth-group to use for ticked-based authentication. */ auth_group?: string; /** Actions the client may take. */ actions?: ShapeDiverResponseAction[]; /** Request templates for actions. */ templates?: ShapeDiverResponseTemplate[]; /** The definitions of a ShapeDiver model. */ model?: ShapeDiverResponseModel; /** The definitions of a ShapeDiver Model-State. */ modelState?: ShapeDiverResponseModelState; /** Links regarding the model file. */ file?: ShapeDiverResponseFile; /** Statistics of a model. */ statistic?: ShapeDiverResponseStatistic; /** Various settings. */ setting?: ShapeDiverResponseSettings; /** Parameter definitions, not contained with every response.
A directory of parameter-IDs and parameters. */ parameters?: { [id: string]: ShapeDiverResponseParameter }; /** Information about Grasshopper plugins. */ plugins?: ShapeDiverResponsePlugins; /** Viewer specific data. */ viewer?: ShapeDiverResponseViewer; /** The current version of the viewer settings. */ viewerSettingsVersion?: string; /** Outputs of the model for the given parameter values.
A directory of output-IDs and outputs. */ outputs?: { [id: string]: ShapeDiverResponseOutput | ShapeDiverResponseOutputDefinition }; /** Exports of the model for the given parameter values.
A directory of export-IDs and exports. */ exports?: { [id: string]: ShapeDiverResponseExport | ShapeDiverResponseExportDefinition }; /** File or sdTF assets. */ asset?: ShapeDiverResponseDtoAsset; /** Statistics of the model for the given timespan. */ analytics?: ShapeDiverResponseAnalytics; /** Response of a list API call. */ list?: ShapeDiverResponseList; /** glTF information. */ gltf?: ShapeDiverResponseGltfUpload; /** Statistics about model computations. */ computations?: ShapeDiverResponseModelComputation[]; /** Pagination information. */ pagination?: ShapeDiverResponsePagination; /** System information. */ system?: ShapeDiverResponseSystem; /** Model cleanup information. */ cleanup?: ShapeDiverResponseModelCleanupProcess[]; } /** * @swagger {components.schemas} ResponsePagination { "description": "Pagination component.", "type": "object" } */ export interface ShapeDiverResponsePagination { /** * @swagger {components.schemas.ResponsePagination.properties} limit { "description": "The query limit that has been used in the request.", "type": "number" } * @swagger {components.schemas.ResponsePagination} required [ "limit" ] */ limit: number; /** * @swagger {components.schemas.ResponsePagination.properties} next_offset { "description": "The offset that can be used in the next request to query the remaining items. This property is missing when all items have been processed.", "type": "string" } */ next_offset?: string; }