Skip to content

editorGlobalsApiClient

Class: ApiClient

Hierarchy

  • ApiClient

Index

Constructors

Properties

Methods

Constructors

constructor

+ new ApiClient(endpointUrl: string): ApiClient

Defined in src/assets/ApiClient.ts:77

Parameters:

Name Type
endpointUrl string

Returns: ApiClient

Properties

endpointUrl

endpointUrl: string

Defined in src/assets/ApiClient.ts:77

Absolute URL of the API endpoint

Methods

_convertNotFoundErrorToNull

_convertNotFoundErrorToNull(promise: Promise‹any›): Promise‹any›

Defined in src/assets/ApiClient.ts:91

Converts a rejected 404 promise to a null return value

Parameters:

Name Type
promise Promise‹any›

Returns: Promise‹any›


cancelTask

cancelTask(taskId: string): Promise‹unknown›

Defined in src/assets/ApiClient.ts:400

Cancels a task by changing its status property

Parameters:

Name Type Description
taskId string id of the task

Returns: Promise‹unknown›

promise that resolves when the task has successfully been cancelled or rejects in case of error


createAsset

createAsset(assetName?: string, assetType?: string, id?: string): Promise‹any›

Defined in src/assets/ApiClient.ts:285

Creates an Asset with the given name.

Parameters:

Name Type Description
assetName? string the name of the asset. DEPRECATED: Don't give asset names anymore, rather create AssetProjects
assetType? string the type (e.g. 'makerFormat' or 'ornament'), mostly used to quickly pre-filter search results
id? string id of the asset (optional, will be auto-generated if missing)

Returns: Promise‹any›

Promise that resolves to an asset object (with at least an _id property) or a rejection if the asset could not be created.


createAssetProject

createAssetProject(postData: IAssetProject): PromiseIAssetProject

Defined in src/assets/ApiClient.ts:195

Creates an assetProject (the visible part of the project on the website) without any accompanied gallery. If you want the same behavior as on the website, use createAssetProjectFromTemplate()

Parameters:

Name Type
postData IAssetProject

Returns: PromiseIAssetProject


createAssetProjectAsset

createAssetProjectAsset(assetProjectId: string, assetEntryData: any): Promise‹any›

Defined in src/assets/ApiClient.ts:232

Creates an entry in an assetProject's 'assets' list. Use this method rather than patching the whole asset, as this method is less prone to concurrency issues.

Parameters:

Name Type Description
assetProjectId string the ID of the AssetProject
assetEntryData any the data of the 'assets' array entry

Returns: Promise‹any›


createAssetProjectFromTemplate

createAssetProjectFromTemplate(): PromiseIAssetProject

Defined in src/assets/ApiClient.ts:205

Creates an AssetProject from the default template, the same as if the user would click on "new assetProject" on the website.

Returns: PromiseIAssetProject


createExportLog

createExportLog(postData: IExportLog): Promise‹any›

Defined in src/assets/ApiClient.ts:412

Parameters:

Name Type
postData IExportLog

Returns: Promise‹any›


createExportSession

createExportSession(postData: IExportSession): Promise‹any›

Defined in src/assets/ApiClient.ts:424

Parameters:

Name Type
postData IExportSession

Returns: Promise‹any›


createFile

createFile(name: string, fileOrBlob: File | Blob, fullPath?: string): Promise‹any›

Defined in src/assets/ApiClient.ts:327

Creates a file based on a File object

Parameters:

Name Type Description
name string the filename it should be stored under
fileOrBlob File | Blob the reference to the File or Blob. Note that When using a file, the content-type does not seem to be transferred correctly and thus the server will not create thumbnails. So prefer using Blobs with correct mime type
fullPath? string if the file is in a subfolder, you can specify the whole (relative) path here, as all folder information will be discarded by the server when being put in the name parameter

Returns: Promise‹any›

Promise that resolves to the created file object (with accessString and _id), or rejects in case of error


createFileContainer

createFileContainer(name: string, fileIds: ObjectId[]): Promise‹any›

Defined in src/assets/ApiClient.ts:366

Creates a file container

Parameters:

Name Type Description
name string name of the file container to be created
fileIds ObjectId[] an array of ObjectIDs of the files to be added to this container (they need to be uploaded first)

Returns: Promise‹any›

promise that resolves to the file container object or rejects in case of error


createLog

createLog(error: any): Promise‹any›

Defined in src/assets/ApiClient.ts:444

Parameters:

Name Type
error any

Returns: Promise‹any›


createModelProject

createModelProject(name: string, description: string, assetId: string, visibility: VisibilityEnum, original?: string): Promise‹any›

Defined in src/assets/ApiClient.ts:137

Creates an ModelProject with the given parameters

Parameters:

Name Type Default Description
name string - -
description string - -
assetId string - -
visibility VisibilityEnum VisibilityEnum.DRAFT -
original? string - the id of the original model

Returns: Promise‹any›


createTask

createTask(type: string, queue: string, additionalData: Record‹string, any›): Promise‹any›

Defined in src/assets/ApiClient.ts:379

Creates and enqueues a task

Parameters:

Name Type Description
type string type of the task
queue string queue name
additionalData Record‹string, any› optional object with additional data

Returns: Promise‹any›

promise that resolves to the created task object or rejects in case of error


downloadFile

downloadFile(fileName: string): Promise‹any›

Defined in src/assets/ApiClient.ts:123

Parameters:

Name Type
fileName string

Returns: Promise‹any›


ensureGalleryFor

ensureGalleryFor(targetId: string): Promise‹any›

Defined in src/assets/ApiClient.ts:245

Parameters:

Name Type
targetId string

Returns: Promise‹any›


getAsset

getAsset(id: string): Promise‹any›

Defined in src/assets/ApiClient.ts:301

Return the asset with the given id

Parameters:

Name Type Description
id string the _id property of an asset object

Returns: Promise‹any›

Promise that resolves to the asset object, or to null, if that asset was not found. Rejection in case of another error.


getAssetProject

getAssetProject(id: any): PromiseIAssetProject

Defined in src/assets/ApiClient.ts:210

Parameters:

Name Type
id any

Returns: PromiseIAssetProject


getDatabaseRepresentativeForMaterial

getDatabaseRepresentativeForMaterial(materialType: string, materialThickness: number): Promise‹any›

Defined in src/assets/ApiClient.ts:128

Parameters:

Name Type
materialType string
materialThickness number

Returns: Promise‹any›


getExportLogs

getExportLogs(__namedParameters: object): PromiseIExportLog[]›

Defined in src/assets/ApiClient.ts:434

See https://florianholzapfel.github.io/express-restify-mongoose/ for query and sort syntax See IExportLog for possible fields

Parameters:

Default value __namedParameters: object= {}

Name Type Default
limit number 0
query any null
select any null
sort any null

Returns: PromiseIExportLog[]›


getModelProject

getModelProject(id: string): Promise‹any›

Defined in src/assets/ApiClient.ts:162

Load a ModelProject with the specified id

Parameters:

Name Type
id string

Returns: Promise‹any›


getProfilePicture

getProfilePicture(fileName: string): Promise‹any›

Defined in src/assets/ApiClient.ts:118

Parameters:

Name Type
fileName string

Returns: Promise‹any›


getReachableTools

getReachableTools(): Promise‹string[]›

Defined in src/assets/ApiClient.ts:170

Returns: Promise‹string[]›


getTask

getTask(taskId: string): Promise‹any›

Defined in src/assets/ApiClient.ts:390

Gets information about a task

Parameters:

Name Type Description
taskId string id of the task

Returns: Promise‹any›

promise that resolves to the queried task object or rejects in case of error


getTaskWebsocket

getTaskWebsocket(): WebSocket

Defined in src/assets/ApiClient.ts:407

Returns: WebSocket


getThumbnailUrlFor

getThumbnailUrlFor(targetId: string, aspectRatio: "square" | "landscape" | "original"): Promise‹string›

Defined in src/assets/ApiClient.ts:266

Parameters:

Name Type
targetId string
aspectRatio "square" | "landscape" | "original"

Returns: Promise‹string›


getUser

getUser(id: string): Promise‹any›

Defined in src/assets/ApiClient.ts:175

Parameters:

Name Type
id string

Returns: Promise‹any›


getUserCapability

getUserCapability(userId: string, capabilityName: string): Promise‹boolean›

Defined in src/assets/ApiClient.ts:103

Returns whether the given user has the given capability

Parameters:

Name Type
userId string
capabilityName string

Returns: Promise‹boolean›


getUserDisabledTools

getUserDisabledTools(modelId: string): Promise‹string[]›

Defined in src/assets/ApiClient.ts:113

Parameters:

Name Type
modelId string

Returns: Promise‹string[]›


queryAssetProject

queryAssetProject(queryObject: object): PromiseIAssetProject[]›

Defined in src/assets/ApiClient.ts:239

Parameters:

Name Type Default
queryObject object {}

Returns: PromiseIAssetProject[]›


updateAsset

updateAsset(asset: object): Promise‹unknown›

Defined in src/assets/ApiClient.ts:311

Updates the given asset object using PATCH (= fields that are not defined are not deleted, but just not update)

Parameters:

asset: object

object that represents the asset, with at least the _id property

Name Type
_id string

Returns: Promise‹unknown›

Promise that resolves to the updated asset, or rejects in case of error


updateAssetProject

updateAssetProject(id: string, patchData: any): PromiseIAssetProject

Defined in src/assets/ApiClient.ts:219

Updates an assetProject. If you want to modify the 'assets' list, rather use createAssetProjectAsset() and similar.

Parameters:

Name Type Default
id string -
patchData any {}

Returns: PromiseIAssetProject


updateExportLog

updateExportLog(id: string, patchData: Partial‹IExportLog›): Promise‹any›

Defined in src/assets/ApiClient.ts:418

Parameters:

Name Type
id string
patchData Partial‹IExportLog

Returns: Promise‹any›


updateGallery

updateGallery(galleryId: string, patchData: any): Promise‹any›

Defined in src/assets/ApiClient.ts:260

Parameters:

Name Type
galleryId string
patchData any

Returns: Promise‹any›


updateModelProject

updateModelProject(id: string, patchData: any): Promise‹any›

Defined in src/assets/ApiClient.ts:185

Updates an existing modelProject

Parameters:

Name Type Description
id string the ID of the modelProject
patchData any changed fields, as an JSON.stringify()-able object, may have additional checkpoint fields

Returns: Promise‹any›


uploadImageAndThumbnails

uploadImageAndThumbnails(name: string, image: Blob, thumbnail_1t1_450: Blob, thumbnail_16t9_2000: Blob): Promise‹any›

Defined in src/assets/ApiClient.ts:348

Uploads an image and two pre-generated thumbnails to the API to be stored. Use this instead of createFile() to reduce load on the server by generating thumbnails client-side.

Parameters:

Name Type Description
name string filename of the image, later used in downloads and to access the file
image Blob original image Blob
thumbnail_1t1_450 Blob square thumbnail Blob (450x450px required)
thumbnail_16t9_2000 Blob 16:9 thumbnail Blob (2000px width (1125px height) required)

Returns: Promise‹any›


userMayModifyModel

userMayModifyModel(userId: string, modelId: string): Promise‹boolean›

Defined in src/assets/ApiClient.ts:108

Parameters:

Name Type
userId string
modelId string

Returns: Promise‹boolean›