Class: ApiClient
Hierarchy
- ApiClient
Index
Constructors
Properties
Methods
- _convertNotFoundErrorToNull
- cancelTask
- createAsset
- createAssetProject
- createAssetProjectAsset
- createAssetProjectFromTemplate
- createExportLog
- createExportSession
- createFile
- createFileContainer
- createLog
- createModelProject
- createTask
- downloadFile
- ensureGalleryFor
- getAsset
- getAssetProject
- getDatabaseRepresentativeForMaterial
- getExportLogs
- getModelProject
- getProfilePicture
- getReachableTools
- getTask
- getTaskWebsocket
- getThumbnailUrlFor
- getUser
- getUserCapability
- getUserDisabledTools
- queryAssetProject
- updateAsset
- updateAssetProject
- updateExportLog
- updateGallery
- updateModelProject
- uploadImageAndThumbnails
- userMayModifyModel
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): Promise‹IAssetProject›
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: Promise‹IAssetProject›
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(): Promise‹IAssetProject›
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: Promise‹IAssetProject›
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): Promise‹IAssetProject›
Defined in src/assets/ApiClient.ts:210
Parameters:
| Name | Type |
|---|---|
id |
any |
Returns: Promise‹IAssetProject›
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): Promise‹IExportLog[]›
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: Promise‹IExportLog[]›
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): Promise‹IAssetProject[]›
Defined in src/assets/ApiClient.ts:239
Parameters:
| Name | Type | Default |
|---|---|---|
queryObject |
object | {} |
Returns: Promise‹IAssetProject[]›
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): Promise‹IAssetProject›
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: Promise‹IAssetProject›
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›