UNPKG

tsonik

Version:

A TypeScript client library for the Iconik API based on Swagger documentation

78 lines 3.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileSetResource = void 0; const base_1 = require("./base"); const utils_1 = require("../utils"); /** * FileSet resource for managing file sets in Iconik */ class FileSetResource extends base_1.BaseResource { constructor(client) { super(client, '/API/files/v1'); } /** * Get all file sets for a specific asset */ async getAssetFilesets(assetId, params) { if (!assetId || assetId.trim() === '') { throw new Error('Asset ID is required'); } const config = Object.keys((0, utils_1.cleanParams)(params)).length > 0 ? { params: (0, utils_1.cleanParams)(params) } : undefined; return this.client.get(`${this.basePath}/assets/${assetId}/file_sets/`, config); } /** * Get a specific file set for an asset by ID */ async getAssetFileset(assetId, fileSetId) { if (!assetId || assetId.trim() === '') { throw new Error('Asset ID is required'); } if (!fileSetId || fileSetId.trim() === '') { throw new Error('FileSet ID is required'); } return this.client.get(`${this.basePath}/assets/${assetId}/file_sets/${fileSetId}/`); } /** * Create a new file set for an asset */ async createAssetFileset(assetId, filesetData) { if (!assetId || assetId.trim() === '') { throw new Error('Asset ID is required'); } return this.client.post(`${this.basePath}/assets/${assetId}/file_sets/`, filesetData); } /** * Delete a file set for an asset */ async deleteAssetFileset(assetId, fileSetId, options) { if (!assetId || assetId.trim() === '') { throw new Error('Asset ID is required'); } if (!fileSetId || fileSetId.trim() === '') { throw new Error('FileSet ID is required'); } const config = Object.keys((0, utils_1.cleanParams)(options)).length > 0 ? { params: (0, utils_1.cleanParams)(options) } : undefined; // Return type depends on options - if immediately=true, returns void (204), otherwise returns FileSet (200) return this.client.delete(`${this.basePath}/assets/${assetId}/file_sets/${fileSetId}/`, config); } /** * Get files from a file set * * @param assetId - The ID of the asset * @param fileSetId - The ID of the file set * @param options - Optional parameters for the request * @returns Promise with the response containing file set files */ async getFileSetFiles(assetId, fileSetId, options) { if (!assetId || assetId.trim() === '') { throw new Error('Asset ID is required'); } if (!fileSetId || fileSetId.trim() === '') { throw new Error('FileSet ID is required'); } const config = Object.keys((0, utils_1.cleanParams)(options)).length > 0 ? { params: (0, utils_1.cleanParams)(options) } : undefined; return this.client.get(`${this.basePath}/assets/${assetId}/file_sets/${fileSetId}/files/`, config); } } exports.FileSetResource = FileSetResource; //# sourceMappingURL=filesets.js.map