UNPKG

fetch-jsd

Version:

A simple and typed library, based on OpenAPI spec from developer.atlassian.com, for accessing product APIs.

783 lines 73.2 kB
"use strict"; // tslint:disable /** * Service Desk Public REST API * Public REST API for Jira Service Desk * * The version of the OpenAPI document: 1001.0.0-SNAPSHOT * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const runtime = require("../runtime"); const models_1 = require("../models"); /** * no description */ class RequestApi extends runtime.BaseAPI { /** * This method adds participants to a customer request. **[Permissions](#permissions) required**: Permission to manage participants on the customer request. Note, participants can be added when creating a customer request using the [request](#api-request-post) resource, by defining the participants in the `requestParticipants` field. * Add request participants */ addRequestParticipantsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling addRequestParticipants.'); } if (requestParameters.RequestParticipantUpdateDTO === null || requestParameters.RequestParticipantUpdateDTO === undefined) { throw new runtime.RequiredError('RequestParticipantUpdateDTO', 'Required parameter requestParameters.RequestParticipantUpdateDTO was null or undefined when calling addRequestParticipants.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/participant`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.RequestParticipantUpdateDTOToJSON(requestParameters.RequestParticipantUpdateDTO), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOUserDTOFromJSON(jsonValue)); }); } /** * This method adds participants to a customer request. **[Permissions](#permissions) required**: Permission to manage participants on the customer request. Note, participants can be added when creating a customer request using the [request](#api-request-post) resource, by defining the participants in the `requestParticipants` field. * Add request participants */ addRequestParticipants(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.addRequestParticipantsRaw(requestParameters); return yield response.value(); }); } /** * This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed to be owned by the user making the call. **[Permissions](#permissions) required**: User is assigned to the approval request. * Answer approval */ answerApprovalRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling answerApproval.'); } if (requestParameters.approvalId === null || requestParameters.approvalId === undefined) { throw new runtime.RequiredError('approvalId', 'Required parameter requestParameters.approvalId was null or undefined when calling answerApproval.'); } if (requestParameters.ApprovalDecisionRequestDTO === null || requestParameters.ApprovalDecisionRequestDTO === undefined) { throw new runtime.RequiredError('ApprovalDecisionRequestDTO', 'Required parameter requestParameters.ApprovalDecisionRequestDTO was null or undefined when calling answerApproval.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/approval/{approvalId}`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))).replace(`{${"approvalId"}}`, encodeURIComponent(String(requestParameters.approvalId))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.ApprovalDecisionRequestDTOToJSON(requestParameters.ApprovalDecisionRequestDTO), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.ApprovalDTOFromJSON(jsonValue)); }); } /** * This method enables a user to **Approve** or **Decline** an approval on a customer request. The approval is assumed to be owned by the user making the call. **[Permissions](#permissions) required**: User is assigned to the approval request. * Answer approval */ answerApproval(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.answerApprovalRaw(requestParameters); return yield response.value(); }); } /** * This method adds one or more temporary files (attached to the request\'s service desk using [servicedesk/\\{serviceDeskId\\}/attachTemporaryFile](#api-servicedesk-serviceDeskId-attachTemporaryFile-post)) as attachments to a customer request and set the attachment visibility using the `public` flag. Also, it is possible to include a comment with the attachments. To get a list of attachments for a comment on the request use [servicedeskapi/request/\\{issueIdOrKey\\}/comment/\\{commentId\\}/attachment](#api-request-issueIdOrKey-comment-commentId-attachment-get). **[Permissions](#permissions) required**: Permission to add an attachment. **Request limitations**: Customers can set attachments to public visibility only. * Create attachment */ createAttachmentRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling createAttachment.'); } if (requestParameters.AttachmentCreateDTO === null || requestParameters.AttachmentCreateDTO === undefined) { throw new runtime.RequiredError('AttachmentCreateDTO', 'Required parameter requestParameters.AttachmentCreateDTO was null or undefined when calling createAttachment.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/attachment`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.AttachmentCreateDTOToJSON(requestParameters.AttachmentCreateDTO), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.AttachmentCreateResultDTOFromJSON(jsonValue)); }); } /** * This method adds one or more temporary files (attached to the request\'s service desk using [servicedesk/\\{serviceDeskId\\}/attachTemporaryFile](#api-servicedesk-serviceDeskId-attachTemporaryFile-post)) as attachments to a customer request and set the attachment visibility using the `public` flag. Also, it is possible to include a comment with the attachments. To get a list of attachments for a comment on the request use [servicedeskapi/request/\\{issueIdOrKey\\}/comment/\\{commentId\\}/attachment](#api-request-issueIdOrKey-comment-commentId-attachment-get). **[Permissions](#permissions) required**: Permission to add an attachment. **Request limitations**: Customers can set attachments to public visibility only. * Create attachment */ createAttachment(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.createAttachmentRaw(requestParameters); return yield response.value(); }); } /** * This method creates a customer request in a service desk. The JSON request must include the service desk and customer request type, as well as any fields that are required for the request type. A list of the fields required by a customer request type can be obtained using [servicedesk/\\{serviceDeskId\\}/requesttype/\\{requestTypeId\\}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get). The fields required for a customer request type depend on the user\'s permissions: * `raiseOnBehalfOf` is not available to Users who have the customer permission only. * `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned off for customers. `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for details of each field\'s JSON semantics and the values they can take. **[Permissions](#permissions) required**: Permission to create requests in the specified service desk. * Create customer request */ createCustomerRequestRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.RequestCreateDTO === null || requestParameters.RequestCreateDTO === undefined) { throw new runtime.RequiredError('RequestCreateDTO', 'Required parameter requestParameters.RequestCreateDTO was null or undefined when calling createCustomerRequest.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request`, method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.RequestCreateDTOToJSON(requestParameters.RequestCreateDTO), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CustomerRequestDTOFromJSON(jsonValue)); }); } /** * This method creates a customer request in a service desk. The JSON request must include the service desk and customer request type, as well as any fields that are required for the request type. A list of the fields required by a customer request type can be obtained using [servicedesk/\\{serviceDeskId\\}/requesttype/\\{requestTypeId\\}/field](#api-servicedesk-serviceDeskId-requesttype-requestTypeId-field-get). The fields required for a customer request type depend on the user\'s permissions: * `raiseOnBehalfOf` is not available to Users who have the customer permission only. * `requestParticipants` is not available to Users who have the customer permission only or if the feature is turned off for customers. `requestFieldValues` is a map of Jira field IDs and their values. See [Field input formats](#fieldformats), for details of each field\'s JSON semantics and the values they can take. **[Permissions](#permissions) required**: Permission to create requests in the specified service desk. * Create customer request */ createCustomerRequest(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.createCustomerRequestRaw(requestParameters); return yield response.value(); }); } /** * This method creates a public or private (internal) comment on a customer request, with the comment visibility set by `public`. The user recorded as the author of the comment. **[Permissions](#permissions) required**: User has Add Comments permission. **Request limitations**: Customers can set comments to public visibility only. * Create request comment */ createRequestCommentRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling createRequestComment.'); } if (requestParameters.CommentCreateDTO === null || requestParameters.CommentCreateDTO === undefined) { throw new runtime.RequiredError('CommentCreateDTO', 'Required parameter requestParameters.CommentCreateDTO was null or undefined when calling createRequestComment.'); } const queryParameters = {}; const headerParameters = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/comment`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'POST', headers: headerParameters, query: queryParameters, body: models_1.CommentCreateDTOToJSON(requestParameters.CommentCreateDTO), }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CommentDTOFromJSON(jsonValue)); }); } /** * This method creates a public or private (internal) comment on a customer request, with the comment visibility set by `public`. The user recorded as the author of the comment. **[Permissions](#permissions) required**: User has Add Comments permission. **Request limitations**: Customers can set comments to public visibility only. * Create request comment */ createRequestComment(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.createRequestCommentRaw(requestParameters); return yield response.value(); }); } /** * This method deletes the feedback of request using it\'s `requestKey` or `requestId` **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. * Delete feedback */ deleteFeedbackRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.requestIdOrKey === null || requestParameters.requestIdOrKey === undefined) { throw new runtime.RequiredError('requestIdOrKey', 'Required parameter requestParameters.requestIdOrKey was null or undefined when calling deleteFeedback.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["write:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{requestIdOrKey}/feedback`.replace(`{${"requestIdOrKey"}}`, encodeURIComponent(String(requestParameters.requestIdOrKey))), method: 'DELETE', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response); }); } /** * This method deletes the feedback of request using it\'s `requestKey` or `requestId` **[Permissions](#permissions) required**: User must be the reporter or an Atlassian Connect app. * Delete feedback */ deleteFeedback(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.deleteFeedbackRaw(requestParameters); return yield response.value(); }); } /** * This method returns an approval. Use this method to determine the status of an approval and the list of approvers. **[Permissions](#permissions) required**: Permission to view the customer request. * Get approval by id */ getApprovalByIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getApprovalById.'); } if (requestParameters.approvalId === null || requestParameters.approvalId === undefined) { throw new runtime.RequiredError('approvalId', 'Required parameter requestParameters.approvalId was null or undefined when calling getApprovalById.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/approval/{approvalId}`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))).replace(`{${"approvalId"}}`, encodeURIComponent(String(requestParameters.approvalId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.ApprovalDTOFromJSON(jsonValue)); }); } /** * This method returns an approval. Use this method to determine the status of an approval and the list of approvers. **[Permissions](#permissions) required**: Permission to view the customer request. * Get approval by id */ getApprovalById(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getApprovalByIdRaw(requestParameters); return yield response.value(); }); } /** * This method returns all approvals on a customer request. **[Permissions](#permissions) required**: Permission to view the customer request. * Get approvals */ getApprovalsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getApprovals.'); } const queryParameters = {}; if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/approval`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOApprovalDTOFromJSON(jsonValue)); }); } /** * This method returns all approvals on a customer request. **[Permissions](#permissions) required**: Permission to view the customer request. * Get approvals */ getApprovals(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getApprovalsRaw(requestParameters); return yield response.value(); }); } /** * This method returns all the attachments for a customer requests. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers will only get a list of public attachments. * Get attachments for request */ getAttachmentsForRequestRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getAttachmentsForRequest.'); } const queryParameters = {}; if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/attachment`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOAttachmentDTOFromJSON(jsonValue)); }); } /** * This method returns all the attachments for a customer requests. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers will only get a list of public attachments. * Get attachments for request */ getAttachmentsForRequest(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getAttachmentsForRequestRaw(requestParameters); return yield response.value(); }); } /** * This method returns the attachments referenced in a comment. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers can only view public comments, and retrieve their attachements, on requests where they are the reporter or a participant whereas agents can see both internal and public comments. * Get comment attachments */ getCommentAttachmentsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getCommentAttachments.'); } if (requestParameters.commentId === null || requestParameters.commentId === undefined) { throw new runtime.RequiredError('commentId', 'Required parameter requestParameters.commentId was null or undefined when calling getCommentAttachments.'); } const queryParameters = {}; if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/comment/{commentId}/attachment`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))).replace(`{${"commentId"}}`, encodeURIComponent(String(requestParameters.commentId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOAttachmentDTOFromJSON(jsonValue)); }); } /** * This method returns the attachments referenced in a comment. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers can only view public comments, and retrieve their attachements, on requests where they are the reporter or a participant whereas agents can see both internal and public comments. * Get comment attachments */ getCommentAttachments(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getCommentAttachmentsRaw(requestParameters); return yield response.value(); }); } /** * This method returns a customer request. **[Permissions](#permissions) required**: Permission to access the specified service desk. **Response limitations**: For customers, only a request they created, was created on their behalf, or they are participating in will be returned. * Get customer request by id or key */ getCustomerRequestByIdOrKeyRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getCustomerRequestByIdOrKey.'); } const queryParameters = {}; if (requestParameters.expand) { queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]); } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CustomerRequestDTOFromJSON(jsonValue)); }); } /** * This method returns a customer request. **[Permissions](#permissions) required**: Permission to access the specified service desk. **Response limitations**: For customers, only a request they created, was created on their behalf, or they are participating in will be returned. * Get customer request by id or key */ getCustomerRequestByIdOrKey(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getCustomerRequestByIdOrKeyRaw(requestParameters); return yield response.value(); }); } /** * This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an issue in its workflow. An issue can have one active status only. The list returns the status history in chronological order, most recent (current) status first. **[Permissions](#permissions) required**: Permission to view the customer request. * Get customer request status */ getCustomerRequestStatusRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getCustomerRequestStatus.'); } const queryParameters = {}; if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/status`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOCustomerRequestStatusDTOFromJSON(jsonValue)); }); } /** * This method returns a list of all the statuses a customer Request has achieved. A status represents the state of an issue in its workflow. An issue can have one active status only. The list returns the status history in chronological order, most recent (current) status first. **[Permissions](#permissions) required**: Permission to view the customer request. * Get customer request status */ getCustomerRequestStatus(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getCustomerRequestStatusRaw(requestParameters); return yield response.value(); }); } /** * This method returns all customer requests for the user executing the query. The returned customer requests are ordered chronologically by the latest activity on each request. For example, the latest status transition or comment. **[Permissions](#permissions) required**: Permission to access the specified service desk. **Response limitations**: For customers, the list returned will include request they created (or were created on their behalf) or are participating in only. * Get customer requests */ getCustomerRequestsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const queryParameters = {}; if (requestParameters.searchTerm !== undefined) { queryParameters['searchTerm'] = requestParameters.searchTerm; } if (requestParameters.requestOwnership) { queryParameters['requestOwnership'] = requestParameters.requestOwnership; } if (requestParameters.requestStatus !== undefined) { queryParameters['requestStatus'] = requestParameters.requestStatus; } if (requestParameters.approvalStatus !== undefined) { queryParameters['approvalStatus'] = requestParameters.approvalStatus; } if (requestParameters.organizationId !== undefined) { queryParameters['organizationId'] = requestParameters.organizationId; } if (requestParameters.serviceDeskId !== undefined) { queryParameters['serviceDeskId'] = requestParameters.serviceDeskId; } if (requestParameters.requestTypeId !== undefined) { queryParameters['requestTypeId'] = requestParameters.requestTypeId; } if (requestParameters.expand) { queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]); } if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request`, method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOCustomerRequestDTOFromJSON(jsonValue)); }); } /** * This method returns all customer requests for the user executing the query. The returned customer requests are ordered chronologically by the latest activity on each request. For example, the latest status transition or comment. **[Permissions](#permissions) required**: Permission to access the specified service desk. **Response limitations**: For customers, the list returned will include request they created (or were created on their behalf) or are participating in only. * Get customer requests */ getCustomerRequests(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getCustomerRequestsRaw(requestParameters); return yield response.value(); }); } /** * This method returns a list of transitions, the workflow processes that moves a customer request from one status to another, that the user can perform on a request. Use this method to provide a user with a list if the actions they can take on a customer request. **[Permissions](#permissions) required**: Permission to view the customer request. * Get customer transitions */ getCustomerTransitionsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getCustomerTransitions.'); } const queryParameters = {}; if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/transition`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.PagedDTOCustomerTransitionDTOFromJSON(jsonValue)); }); } /** * This method returns a list of transitions, the workflow processes that moves a customer request from one status to another, that the user can perform on a request. Use this method to provide a user with a list if the actions they can take on a customer request. **[Permissions](#permissions) required**: Permission to view the customer request. * Get customer transitions */ getCustomerTransitions(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getCustomerTransitionsRaw(requestParameters); return yield response.value(); }); } /** * This method retrieves a feedback of a request using it\'s `requestKey` or `requestId` **[Permissions](#permissions) required**: User has view request permissions. * Get feedback */ getFeedbackRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.requestIdOrKey === null || requestParameters.requestIdOrKey === undefined) { throw new runtime.RequiredError('requestIdOrKey', 'Required parameter requestParameters.requestIdOrKey was null or undefined when calling getFeedback.'); } const queryParameters = {}; const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{requestIdOrKey}/feedback`.replace(`{${"requestIdOrKey"}}`, encodeURIComponent(String(requestParameters.requestIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CSATFeedbackFullDTOFromJSON(jsonValue)); }); } /** * This method retrieves a feedback of a request using it\'s `requestKey` or `requestId` **[Permissions](#permissions) required**: User has view request permissions. * Get feedback */ getFeedback(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getFeedbackRaw(requestParameters); return yield response.value(); }); } /** * This method returns details of a customer request\'s comment. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers can only view public comments on requests where they are the reporter or a participant whereas agents can see both internal and public comments. * Get request comment by id */ getRequestCommentByIdRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getRequestCommentById.'); } if (requestParameters.commentId === null || requestParameters.commentId === undefined) { throw new runtime.RequiredError('commentId', 'Required parameter requestParameters.commentId was null or undefined when calling getRequestCommentById.'); } const queryParameters = {}; if (requestParameters.expand) { queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]); } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/comment/{commentId}`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))).replace(`{${"commentId"}}`, encodeURIComponent(String(requestParameters.commentId))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResponse(response, (jsonValue) => models_1.CommentDTOFromJSON(jsonValue)); }); } /** * This method returns details of a customer request\'s comment. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers can only view public comments on requests where they are the reporter or a participant whereas agents can see both internal and public comments. * Get request comment by id */ getRequestCommentById(requestParameters) { return __awaiter(this, void 0, void 0, function* () { const response = yield this.getRequestCommentByIdRaw(requestParameters); return yield response.value(); }); } /** * This method returns all comments on a customer request. No permissions error is provided if, for example, the user doesn\'t have access to the service desk or request, the method simply returns an empty response. **[Permissions](#permissions) required**: Permission to view the customer request. **Response limitations**: Customers are returned public comments only. * Get request comments */ getRequestCommentsRaw(requestParameters) { return __awaiter(this, void 0, void 0, function* () { if (requestParameters.issueIdOrKey === null || requestParameters.issueIdOrKey === undefined) { throw new runtime.RequiredError('issueIdOrKey', 'Required parameter requestParameters.issueIdOrKey was null or undefined when calling getRequestComments.'); } const queryParameters = {}; if (requestParameters._public !== undefined) { queryParameters['public'] = requestParameters._public; } if (requestParameters.internal !== undefined) { queryParameters['internal'] = requestParameters.internal; } if (requestParameters.expand) { queryParameters['expand'] = requestParameters.expand.join(runtime.COLLECTION_FORMATS["csv"]); } if (requestParameters.start !== undefined) { queryParameters['start'] = requestParameters.start; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } const headerParameters = {}; if (this.configuration && this.configuration.accessToken) { // oauth required if (typeof this.configuration.accessToken === 'function') { headerParameters["Authorization"] = this.configuration.accessToken("OAuth2", ["read:servicedesk-request"]); } else { headerParameters["Authorization"] = this.configuration.accessToken; } } const response = yield this.request({ path: `/rest/servicedeskapi/request/{issueIdOrKey}/comment`.replace(`{${"issueIdOrKey"}}`, encodeURIComponent(String(requestParameters.issueIdOrKey))), method: 'GET', headers: headerParameters, query: queryParameters, }); return new runtime.JSONApiResp