UNPKG

box-node-sdk

Version:

Official SDK for Box Platform APIs

522 lines (521 loc) 20.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TasksManager = exports.DeleteTaskByIdHeaders = exports.UpdateTaskByIdHeaders = exports.GetTaskByIdHeaders = exports.CreateTaskHeaders = exports.GetFileTasksHeaders = exports.DeleteTaskByIdOptionals = exports.UpdateTaskByIdOptionals = exports.GetTaskByIdOptionals = exports.CreateTaskOptionals = exports.GetFileTasksOptionals = void 0; exports.serializeCreateTaskRequestBodyItemTypeField = serializeCreateTaskRequestBodyItemTypeField; exports.deserializeCreateTaskRequestBodyItemTypeField = deserializeCreateTaskRequestBodyItemTypeField; exports.serializeCreateTaskRequestBodyItemField = serializeCreateTaskRequestBodyItemField; exports.deserializeCreateTaskRequestBodyItemField = deserializeCreateTaskRequestBodyItemField; exports.serializeCreateTaskRequestBodyActionField = serializeCreateTaskRequestBodyActionField; exports.deserializeCreateTaskRequestBodyActionField = deserializeCreateTaskRequestBodyActionField; exports.serializeCreateTaskRequestBodyCompletionRuleField = serializeCreateTaskRequestBodyCompletionRuleField; exports.deserializeCreateTaskRequestBodyCompletionRuleField = deserializeCreateTaskRequestBodyCompletionRuleField; exports.serializeCreateTaskRequestBody = serializeCreateTaskRequestBody; exports.deserializeCreateTaskRequestBody = deserializeCreateTaskRequestBody; exports.serializeUpdateTaskByIdRequestBodyActionField = serializeUpdateTaskByIdRequestBodyActionField; exports.deserializeUpdateTaskByIdRequestBodyActionField = deserializeUpdateTaskByIdRequestBodyActionField; exports.serializeUpdateTaskByIdRequestBodyCompletionRuleField = serializeUpdateTaskByIdRequestBodyCompletionRuleField; exports.deserializeUpdateTaskByIdRequestBodyCompletionRuleField = deserializeUpdateTaskByIdRequestBodyCompletionRuleField; exports.serializeUpdateTaskByIdRequestBody = serializeUpdateTaskByIdRequestBody; exports.deserializeUpdateTaskByIdRequestBody = deserializeUpdateTaskByIdRequestBody; const tasks_1 = require("../schemas/tasks"); const task_1 = require("../schemas/task"); const utils_1 = require("../internal/utils"); const utils_2 = require("../internal/utils"); const errors_1 = require("../box/errors"); const network_1 = require("../networking/network"); const fetchOptions_1 = require("../networking/fetchOptions"); const utils_3 = require("../internal/utils"); const utils_4 = require("../internal/utils"); const json_1 = require("../serialization/json"); const json_2 = require("../serialization/json"); class GetFileTasksOptionals { headers = new GetFileTasksHeaders({}); cancellationToken = void 0; constructor(fields) { if (fields.headers !== undefined) { this.headers = fields.headers; } if (fields.cancellationToken !== undefined) { this.cancellationToken = fields.cancellationToken; } } } exports.GetFileTasksOptionals = GetFileTasksOptionals; class CreateTaskOptionals { headers = new CreateTaskHeaders({}); cancellationToken = void 0; constructor(fields) { if (fields.headers !== undefined) { this.headers = fields.headers; } if (fields.cancellationToken !== undefined) { this.cancellationToken = fields.cancellationToken; } } } exports.CreateTaskOptionals = CreateTaskOptionals; class GetTaskByIdOptionals { headers = new GetTaskByIdHeaders({}); cancellationToken = void 0; constructor(fields) { if (fields.headers !== undefined) { this.headers = fields.headers; } if (fields.cancellationToken !== undefined) { this.cancellationToken = fields.cancellationToken; } } } exports.GetTaskByIdOptionals = GetTaskByIdOptionals; class UpdateTaskByIdOptionals { requestBody = {}; headers = new UpdateTaskByIdHeaders({}); cancellationToken = void 0; constructor(fields) { if (fields.requestBody !== undefined) { this.requestBody = fields.requestBody; } if (fields.headers !== undefined) { this.headers = fields.headers; } if (fields.cancellationToken !== undefined) { this.cancellationToken = fields.cancellationToken; } } } exports.UpdateTaskByIdOptionals = UpdateTaskByIdOptionals; class DeleteTaskByIdOptionals { headers = new DeleteTaskByIdHeaders({}); cancellationToken = void 0; constructor(fields) { if (fields.headers !== undefined) { this.headers = fields.headers; } if (fields.cancellationToken !== undefined) { this.cancellationToken = fields.cancellationToken; } } } exports.DeleteTaskByIdOptionals = DeleteTaskByIdOptionals; class GetFileTasksHeaders { /** * Extra headers that will be included in the HTTP request. */ extraHeaders = {}; constructor(fields) { if (fields.extraHeaders !== undefined) { this.extraHeaders = fields.extraHeaders; } } } exports.GetFileTasksHeaders = GetFileTasksHeaders; class CreateTaskHeaders { /** * Extra headers that will be included in the HTTP request. */ extraHeaders = {}; constructor(fields) { if (fields.extraHeaders !== undefined) { this.extraHeaders = fields.extraHeaders; } } } exports.CreateTaskHeaders = CreateTaskHeaders; class GetTaskByIdHeaders { /** * Extra headers that will be included in the HTTP request. */ extraHeaders = {}; constructor(fields) { if (fields.extraHeaders !== undefined) { this.extraHeaders = fields.extraHeaders; } } } exports.GetTaskByIdHeaders = GetTaskByIdHeaders; class UpdateTaskByIdHeaders { /** * Extra headers that will be included in the HTTP request. */ extraHeaders = {}; constructor(fields) { if (fields.extraHeaders !== undefined) { this.extraHeaders = fields.extraHeaders; } } } exports.UpdateTaskByIdHeaders = UpdateTaskByIdHeaders; class DeleteTaskByIdHeaders { /** * Extra headers that will be included in the HTTP request. */ extraHeaders = {}; constructor(fields) { if (fields.extraHeaders !== undefined) { this.extraHeaders = fields.extraHeaders; } } } exports.DeleteTaskByIdHeaders = DeleteTaskByIdHeaders; class TasksManager { auth; networkSession = new network_1.NetworkSession({}); constructor(fields) { if (fields.auth !== undefined) { this.auth = fields.auth; } if (fields.networkSession !== undefined) { this.networkSession = fields.networkSession; } } /** * Retrieves a list of all the tasks for a file. This * endpoint does not support pagination. * @param {string} fileId The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`. Example: "12345" * @param {GetFileTasksOptionalsInput} optionalsInput * @returns {Promise<Tasks>} */ async getFileTasks(fileId, optionalsInput = {}) { const optionals = new GetFileTasksOptionals({ headers: optionalsInput.headers, cancellationToken: optionalsInput.cancellationToken, }); const headers = optionals.headers; const cancellationToken = optionals.cancellationToken; const headersMap = (0, utils_3.prepareParams)({ ...{}, ...headers.extraHeaders }); const response = await this.networkSession.networkClient.fetch(new fetchOptions_1.FetchOptions({ url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/files/', (0, utils_4.toString)(fileId), '/tasks'), method: 'GET', headers: headersMap, responseFormat: 'json', auth: this.auth, networkSession: this.networkSession, cancellationToken: cancellationToken, })); return { ...(0, tasks_1.deserializeTasks)(response.data), rawData: response.data, }; } /** * Creates a single task on a file. This task is not assigned to any user and * will need to be assigned separately. * @param {CreateTaskRequestBody} requestBody Request body of createTask method * @param {CreateTaskOptionalsInput} optionalsInput * @returns {Promise<Task>} */ async createTask(requestBody, optionalsInput = {}) { const optionals = new CreateTaskOptionals({ headers: optionalsInput.headers, cancellationToken: optionalsInput.cancellationToken, }); const headers = optionals.headers; const cancellationToken = optionals.cancellationToken; const headersMap = (0, utils_3.prepareParams)({ ...{}, ...headers.extraHeaders }); const response = await this.networkSession.networkClient.fetch(new fetchOptions_1.FetchOptions({ url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/tasks'), method: 'POST', headers: headersMap, data: serializeCreateTaskRequestBody(requestBody), contentType: 'application/json', responseFormat: 'json', auth: this.auth, networkSession: this.networkSession, cancellationToken: cancellationToken, })); return { ...(0, task_1.deserializeTask)(response.data), rawData: response.data, }; } /** * Retrieves information about a specific task. * @param {string} taskId The ID of the task. Example: "12345" * @param {GetTaskByIdOptionalsInput} optionalsInput * @returns {Promise<Task>} */ async getTaskById(taskId, optionalsInput = {}) { const optionals = new GetTaskByIdOptionals({ headers: optionalsInput.headers, cancellationToken: optionalsInput.cancellationToken, }); const headers = optionals.headers; const cancellationToken = optionals.cancellationToken; const headersMap = (0, utils_3.prepareParams)({ ...{}, ...headers.extraHeaders }); const response = await this.networkSession.networkClient.fetch(new fetchOptions_1.FetchOptions({ url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/tasks/', (0, utils_4.toString)(taskId)), method: 'GET', headers: headersMap, responseFormat: 'json', auth: this.auth, networkSession: this.networkSession, cancellationToken: cancellationToken, })); return { ...(0, task_1.deserializeTask)(response.data), rawData: response.data, }; } /** * Updates a task. This can be used to update a task's configuration, or to * update its completion state. * @param {string} taskId The ID of the task. Example: "12345" * @param {UpdateTaskByIdOptionalsInput} optionalsInput * @returns {Promise<Task>} */ async updateTaskById(taskId, optionalsInput = {}) { const optionals = new UpdateTaskByIdOptionals({ requestBody: optionalsInput.requestBody, headers: optionalsInput.headers, cancellationToken: optionalsInput.cancellationToken, }); const requestBody = optionals.requestBody; const headers = optionals.headers; const cancellationToken = optionals.cancellationToken; const headersMap = (0, utils_3.prepareParams)({ ...{}, ...headers.extraHeaders }); const response = await this.networkSession.networkClient.fetch(new fetchOptions_1.FetchOptions({ url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/tasks/', (0, utils_4.toString)(taskId)), method: 'PUT', headers: headersMap, data: serializeUpdateTaskByIdRequestBody(requestBody), contentType: 'application/json', responseFormat: 'json', auth: this.auth, networkSession: this.networkSession, cancellationToken: cancellationToken, })); return { ...(0, task_1.deserializeTask)(response.data), rawData: response.data, }; } /** * Removes a task from a file. * @param {string} taskId The ID of the task. Example: "12345" * @param {DeleteTaskByIdOptionalsInput} optionalsInput * @returns {Promise<undefined>} */ async deleteTaskById(taskId, optionalsInput = {}) { const optionals = new DeleteTaskByIdOptionals({ headers: optionalsInput.headers, cancellationToken: optionalsInput.cancellationToken, }); const headers = optionals.headers; const cancellationToken = optionals.cancellationToken; const headersMap = (0, utils_3.prepareParams)({ ...{}, ...headers.extraHeaders }); const response = await this.networkSession.networkClient.fetch(new fetchOptions_1.FetchOptions({ url: ''.concat(this.networkSession.baseUrls.baseUrl, '/2.0/tasks/', (0, utils_4.toString)(taskId)), method: 'DELETE', headers: headersMap, responseFormat: 'no_content', auth: this.auth, networkSession: this.networkSession, cancellationToken: cancellationToken, })); return void 0; } } exports.TasksManager = TasksManager; function serializeCreateTaskRequestBodyItemTypeField(val) { return val; } function deserializeCreateTaskRequestBodyItemTypeField(val) { if (val == 'file') { return val; } throw new errors_1.BoxSdkError({ message: "Can't deserialize CreateTaskRequestBodyItemTypeField", }); } function serializeCreateTaskRequestBodyItemField(val) { return { ['id']: val.id, ['type']: val.type == void 0 ? val.type : serializeCreateTaskRequestBodyItemTypeField(val.type), }; } function deserializeCreateTaskRequestBodyItemField(val) { if (!(0, json_2.sdIsMap)(val)) { throw new errors_1.BoxSdkError({ message: 'Expecting a map for "CreateTaskRequestBodyItemField"', }); } if (!(val.id == void 0) && !(0, json_1.sdIsString)(val.id)) { throw new errors_1.BoxSdkError({ message: 'Expecting string for "id" of type "CreateTaskRequestBodyItemField"', }); } const id = val.id == void 0 ? void 0 : val.id; const type = val.type == void 0 ? void 0 : deserializeCreateTaskRequestBodyItemTypeField(val.type); return { id: id, type: type }; } function serializeCreateTaskRequestBodyActionField(val) { return val; } function deserializeCreateTaskRequestBodyActionField(val) { if (val == 'review') { return val; } if (val == 'complete') { return val; } if ((0, json_1.sdIsString)(val)) { return val; } throw new errors_1.BoxSdkError({ message: "Can't deserialize CreateTaskRequestBodyActionField", }); } function serializeCreateTaskRequestBodyCompletionRuleField(val) { return val; } function deserializeCreateTaskRequestBodyCompletionRuleField(val) { if (val == 'all_assignees') { return val; } if (val == 'any_assignee') { return val; } if ((0, json_1.sdIsString)(val)) { return val; } throw new errors_1.BoxSdkError({ message: "Can't deserialize CreateTaskRequestBodyCompletionRuleField", }); } function serializeCreateTaskRequestBody(val) { return { ['item']: serializeCreateTaskRequestBodyItemField(val.item), ['action']: val.action == void 0 ? val.action : serializeCreateTaskRequestBodyActionField(val.action), ['message']: val.message, ['due_at']: val.dueAt == void 0 ? val.dueAt : (0, utils_1.serializeDateTime)(val.dueAt), ['completion_rule']: val.completionRule == void 0 ? val.completionRule : serializeCreateTaskRequestBodyCompletionRuleField(val.completionRule), }; } function deserializeCreateTaskRequestBody(val) { if (!(0, json_2.sdIsMap)(val)) { throw new errors_1.BoxSdkError({ message: 'Expecting a map for "CreateTaskRequestBody"', }); } if (val.item == void 0) { throw new errors_1.BoxSdkError({ message: 'Expecting "item" of type "CreateTaskRequestBody" to be defined', }); } const item = deserializeCreateTaskRequestBodyItemField(val.item); const action = val.action == void 0 ? void 0 : deserializeCreateTaskRequestBodyActionField(val.action); if (!(val.message == void 0) && !(0, json_1.sdIsString)(val.message)) { throw new errors_1.BoxSdkError({ message: 'Expecting string for "message" of type "CreateTaskRequestBody"', }); } const message = val.message == void 0 ? void 0 : val.message; if (!(val.due_at == void 0) && !(0, json_1.sdIsString)(val.due_at)) { throw new errors_1.BoxSdkError({ message: 'Expecting string for "due_at" of type "CreateTaskRequestBody"', }); } const dueAt = val.due_at == void 0 ? void 0 : (0, utils_2.deserializeDateTime)(val.due_at); const completionRule = val.completion_rule == void 0 ? void 0 : deserializeCreateTaskRequestBodyCompletionRuleField(val.completion_rule); return { item: item, action: action, message: message, dueAt: dueAt, completionRule: completionRule, }; } function serializeUpdateTaskByIdRequestBodyActionField(val) { return val; } function deserializeUpdateTaskByIdRequestBodyActionField(val) { if (val == 'review') { return val; } if (val == 'complete') { return val; } if ((0, json_1.sdIsString)(val)) { return val; } throw new errors_1.BoxSdkError({ message: "Can't deserialize UpdateTaskByIdRequestBodyActionField", }); } function serializeUpdateTaskByIdRequestBodyCompletionRuleField(val) { return val; } function deserializeUpdateTaskByIdRequestBodyCompletionRuleField(val) { if (val == 'all_assignees') { return val; } if (val == 'any_assignee') { return val; } if ((0, json_1.sdIsString)(val)) { return val; } throw new errors_1.BoxSdkError({ message: "Can't deserialize UpdateTaskByIdRequestBodyCompletionRuleField", }); } function serializeUpdateTaskByIdRequestBody(val) { return { ['action']: val.action == void 0 ? val.action : serializeUpdateTaskByIdRequestBodyActionField(val.action), ['message']: val.message, ['due_at']: val.dueAt == void 0 ? val.dueAt : (0, utils_1.serializeDateTime)(val.dueAt), ['completion_rule']: val.completionRule == void 0 ? val.completionRule : serializeUpdateTaskByIdRequestBodyCompletionRuleField(val.completionRule), }; } function deserializeUpdateTaskByIdRequestBody(val) { if (!(0, json_2.sdIsMap)(val)) { throw new errors_1.BoxSdkError({ message: 'Expecting a map for "UpdateTaskByIdRequestBody"', }); } const action = val.action == void 0 ? void 0 : deserializeUpdateTaskByIdRequestBodyActionField(val.action); if (!(val.message == void 0) && !(0, json_1.sdIsString)(val.message)) { throw new errors_1.BoxSdkError({ message: 'Expecting string for "message" of type "UpdateTaskByIdRequestBody"', }); } const message = val.message == void 0 ? void 0 : val.message; if (!(val.due_at == void 0) && !(0, json_1.sdIsString)(val.due_at)) { throw new errors_1.BoxSdkError({ message: 'Expecting string for "due_at" of type "UpdateTaskByIdRequestBody"', }); } const dueAt = val.due_at == void 0 ? void 0 : (0, utils_2.deserializeDateTime)(val.due_at); const completionRule = val.completion_rule == void 0 ? void 0 : deserializeUpdateTaskByIdRequestBodyCompletionRuleField(val.completion_rule); return { action: action, message: message, dueAt: dueAt, completionRule: completionRule, }; } //# sourceMappingURL=tasks.js.map