UNPKG

spitfirepm

Version:

Client API Tools for Spitfire Project Management

1,018 lines 1.7 MB
"use strict"; //---------------------- // <auto-generated> // Generated using the NSwag toolchain v14.6.3.0 (NJsonSchema v11.5.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org) // </auto-generated> //---------------------- Object.defineProperty(exports, "__esModule", { value: true }); exports.DocItem = exports.DocMasterDetail = exports.DocFieldChange = exports.DocumentState = exports.DocAccessControl = exports.CurrentDataSummary = exports.UIDisplayConfigBasics = exports.ExportRequest = exports.PeriodDistributionAbstract = exports.ProjectXTSTaskState = exports.ProjectAbstract = exports.SOVAbstract = exports.BFAAbstract = exports.ProjectSnapshotDelta = exports.ProjectSnapshot = exports.PDSData = exports.APIData = exports.HttpStatusCode = exports.TabDisplay = exports.TabStripDetails = exports.Stream = exports.MarshalByRefObject = exports.HttpResponseJsonContent = exports.HttpResponseJsonContent2 = exports.UCPermit = exports.UCPermitSet = exports.AuthenticationExchangeData = exports.TokenRequest = exports.PermissionFlags = exports.PermissionContext = exports.Suggestion = exports.MenuAction = exports.ActionItemsClient = exports.ContactClient = exports.SystemClient = exports.CatalogClient = exports.AlertsClient = exports.ProjectKPIClient = exports.ProjectTeamClient = exports.AccountClient = exports.ProjectToolsClient = exports.XTSClient = exports.ProjectsClient = exports.UICFGClient = exports.LookupClient = exports.ProjectDocListClient = exports.ConfigClient = exports.DocumentToolsClient = exports.ExcelToolsClient = exports.SessionClient = void 0; exports.HttpRequestMessage = exports.RedirectResult = exports.FileVersion = exports.FileAccessHistory = exports.CatalogPreset = exports.FileInformation = exports.UserAlert = exports.ProjKPIFact = exports.ProjectTeamMember = exports.PasswordConfiguredOptions = exports.CurrentUser = exports.SiteLogin = exports.ProjectCommitmentDetail = exports.ProjectTranDetail = exports.WeatherAtLocation = exports.ProjectWeatherNow = exports.ProjectWBS = exports.ProjectLink = exports.ProjectPrograms = exports.CloudChange = exports.AlertCondition = exports.InboundComplianceItem = exports.XTSKeyMap = exports.XTSAction = exports.ProjectSummary = exports.UIDisplayFilter = exports.UIDisplayConfig = exports.UIDisplayPart = exports.CodeChoice = exports.DVRequest = exports.FieldAudit = exports.DateRange = exports.QueryFilters = exports.ProjectDocsOfType = exports.TypeSummary = exports.FlexMask = exports.DocItemComment = exports.Comment = exports.DocAttribute = exports.DocMeetingAttendee = exports.DocCompliance = exports.DocInclusion = exports.DocAttachment = exports.DocAddress = exports.DocDate = exports.DocRoute = exports.DataDifferential = exports.RelatedItemDetail = exports.DocItemTask = exports.DocItemMap = void 0; exports.ApiException = exports.RouteActionData = exports.SelectCodeNode = exports.RouteActionInfo = exports.RouteActionInfo2 = exports.UserActionItem = exports.Contact = exports.ContactFilters = exports.ContactSummary = exports.UserSessionInfo = exports.ProcessDocumentType = exports.XferFilesStatus = exports.WarningHeaderValue = exports.ViaHeaderValue = exports.CacheControlHeaderValue = exports.ProductHeaderValue = exports.ProductInfoHeaderValue = exports.TransferCodingWithQualityHeaderValue = exports.TransferCodingHeaderValue = exports.RangeItemHeaderValue = exports.RangeHeaderValue = exports.RangeConditionHeaderValue = exports.EntityTagHeaderValue = exports.NameValueWithParametersHeaderValue = exports.AuthenticationHeaderValue = exports.StringWithQualityHeaderValue = exports.MediaTypeWithQualityHeaderValue = exports.HttpRequestHeaders = exports.Anonymous2 = exports.HttpMethod = exports.KeyValuePairOfStringAndIEnumerableOfString = exports.MediaTypeHeaderValue = exports.ContentRangeHeaderValue = exports.NameValueHeaderValue = exports.ContentDispositionHeaderValue = exports.HttpContentHeaders = exports.Anonymous = exports.HttpContent = exports.Version = void 0; /* eslint-disable */ // ReSharper disable InconsistentNaming const APIClientBase_1 = require("./APIClientBase"); const jQuery = require("jquery"); class SessionClient extends APIClientBase_1.APIClientBase { constructor(baseUrl) { super(); this.beforeSend = undefined; this.jsonParseReviver = undefined; this.baseUrl = baseUrl ?? this.getBaseUrl("https://dev.spitfirepm.com:8443/sfPMS"); } /** * Returns nice fresh GUID(s) / UUID * @param count Number of GUIDs to return, max is 39 */ getNewGuid(count) { return new Promise((resolve, reject) => { this.getNewGuidWithCallbacks(count, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getNewGuidWithCallbacks(count, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/guid/{count}"; if (count === undefined || count === null) throw new globalThis.Error("The parameter 'count' must be defined."); url_ = url_.replace("{count}", encodeURIComponent("" + count)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetNewGuidWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetNewGuidWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetNewGuidWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetNewGuid(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetNewGuid(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); if (Array.isArray(resultData200)) { result200 = []; for (let item of resultData200) result200.push(item); } else { result200 = null; } return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns list of documents recently accessed by this user */ getRecentDocs() { return new Promise((resolve, reject) => { this.getRecentDocsWithCallbacks((result) => resolve(result), (exception, _reason) => reject(exception)); }); } getRecentDocsWithCallbacks(onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/recent/docs"; url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetRecentDocsWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetRecentDocsWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetRecentDocsWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetRecentDocs(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetRecentDocs(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); if (Array.isArray(resultData200)) { result200 = []; for (let item of resultData200) result200.push(MenuAction.fromJS(item)); } else { result200 = null; } return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 403) { const _responseText = xhr.responseText; let result403 = null; let resultData403 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result403 = resultData403 !== undefined ? resultData403 : null; return throwException("Not allowed", status, _responseText, _headers, result403); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns list of reports and report groups accessible to this user */ getReportMenu(groupId) { return new Promise((resolve, reject) => { this.getReportMenuWithCallbacks(groupId, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getReportMenuWithCallbacks(groupId, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/reports/{groupId}"; if (groupId === undefined || groupId === null) throw new globalThis.Error("The parameter 'groupId' must be defined."); url_ = url_.replace("{groupId}", encodeURIComponent("" + groupId)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetReportMenuWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetReportMenuWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetReportMenuWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetReportMenu(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetReportMenu(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); if (Array.isArray(resultData200)) { result200 = []; for (let item of resultData200) result200.push(MenuAction.fromJS(item)); } else { result200 = null; } return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 403) { const _responseText = xhr.responseText; let result403 = null; let resultData403 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result403 = resultData403 !== undefined ? resultData403 : null; return throwException("Not allowed", status, _responseText, _headers, result403); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns list of reports of report groups accessible to this user */ getMenu(menuId) { return new Promise((resolve, reject) => { this.getMenuWithCallbacks(menuId, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getMenuWithCallbacks(menuId, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/menu/{menuId}"; if (menuId === undefined || menuId === null) throw new globalThis.Error("The parameter 'menuId' must be defined."); url_ = url_.replace("{menuId}", encodeURIComponent("" + menuId)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetMenuWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetMenuWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetMenuWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetMenu(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetMenu(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); if (Array.isArray(resultData200)) { result200 = []; for (let item of resultData200) result200.push(MenuAction.fromJS(item)); } else { result200 = null; } return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 403) { const _responseText = xhr.responseText; let result403 = null; let resultData403 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result403 = resultData403 !== undefined ? resultData403 : null; return throwException("Not allowed", status, _responseText, _headers, result403); } else if (status === 404) { const _responseText = xhr.responseText; let result404 = null; let resultData404 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result404 = resultData404 !== undefined ? resultData404 : null; return throwException("Menu ID Not found", status, _responseText, _headers, result404); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * returns magic number that allows client to know if its nonvolatile data is up-to-date */ getLVDataMagicNumber() { return new Promise((resolve, reject) => { this.getLVDataMagicNumberWithCallbacks((result) => resolve(result), (exception, _reason) => reject(exception)); }); } getLVDataMagicNumberWithCallbacks(onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/nonvolatile/eTag"; url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetLVDataMagicNumberWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetLVDataMagicNumberWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetLVDataMagicNumberWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetLVDataMagicNumber(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetLVDataMagicNumber(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * returns true if user has document open in this session * @param id key of document */ getUsingThisDocument(id) { return new Promise((resolve, reject) => { this.getUsingThisDocumentWithCallbacks(id, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getUsingThisDocumentWithCallbacks(id, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/using/document/{id}"; if (id === undefined || id === null) throw new globalThis.Error("The parameter 'id' must be defined."); url_ = url_.replace("{id}", encodeURIComponent("" + id)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetUsingThisDocumentWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetUsingThisDocumentWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetUsingThisDocumentWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetUsingThisDocument(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetUsingThisDocument(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns authorization flags for each demand * @param demandList Demand Context */ getAccessAllows(demandList) { return new Promise((resolve, reject) => { this.getAccessAllowsWithCallbacks(demandList, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getAccessAllowsWithCallbacks(demandList, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/permits"; url_ = url_.replace(/[?&]$/, ""); const content_ = JSON.stringify(demandList); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "post", data: content_, dataType: "text", headers: { "Content-Type": "application/json", "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetAccessAllowsWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetAccessAllowsWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetAccessAllowsWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetAccessAllows(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetAccessAllows(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); if (Array.isArray(resultData200)) { result200 = []; for (let item of resultData200) result200.push(PermissionContext.fromJS(item)); } else { result200 = null; } return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns this users permission flags for a specific capability and context. * @param ucModule ucModule (SYS, LIST, PAGE, PART, etc) * @param ucName ucName (substitute @ for slash and ! for periods) * @param projectID (optional) Project ID * @param documentType (optional) Document Type */ getCapabilityPermits(ucModule, ucName, projectID, documentType) { return new Promise((resolve, reject) => { this.getCapabilityPermitsWithCallbacks(ucModule, ucName, projectID, documentType, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getCapabilityPermitsWithCallbacks(ucModule, ucName, projectID, documentType, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/permits/capability/{ucModule}/{ucName}?"; if (ucModule === undefined || ucModule === null) throw new globalThis.Error("The parameter 'ucModule' must be defined."); url_ = url_.replace("{ucModule}", encodeURIComponent("" + ucModule)); if (ucName === undefined || ucName === null) throw new globalThis.Error("The parameter 'ucName' must be defined."); url_ = url_.replace("{ucName}", encodeURIComponent("" + ucName)); if (projectID !== undefined && projectID !== null) url_ += "projectID=" + encodeURIComponent("" + projectID) + "&"; if (documentType !== undefined && documentType !== null) url_ += "documentType=" + encodeURIComponent("" + documentType) + "&"; url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetCapabilityPermitsWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetCapabilityPermitsWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetCapabilityPermitsWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetCapabilityPermits(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetCapabilityPermits(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns a token that can be exchanged for the specific packet of information */ createExchangeToken(tokenPayload) { return new Promise((resolve, reject) => { this.createExchangeTokenWithCallbacks(tokenPayload, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } createExchangeTokenWithCallbacks(tokenPayload, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/exchangetoken"; url_ = url_.replace(/[?&]$/, ""); const content_ = JSON.stringify(tokenPayload); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "post", data: content_, dataType: "text", headers: { "Content-Type": "application/json", "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processCreateExchangeTokenWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processCreateExchangeTokenWithCallbacks(url_, xhr, onSuccess, onFail); }); } processCreateExchangeTokenWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processCreateExchangeToken(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processCreateExchangeToken(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status === 400) { const _responseText = xhr.responseText; let result400 = null; let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result400 = resultData400 !== undefined ? resultData400 : null; return throwException("Request malformed", status, _responseText, _headers, result400); } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 409) { const _responseText = xhr.responseText; let result409 = null; let resultData409 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result409 = resultData409 !== undefined ? resultData409 : null; return throwException("Request inappropriate", status, _responseText, _headers, result409); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns the token-specific packet of information with Auth, Session and Args encrypted * @param token Token */ exchangeToken(token) { return new Promise((resolve, reject) => { this.exchangeTokenWithCallbacks(token, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } exchangeTokenWithCallbacks(token, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/exchangetoken/{token}"; if (token === undefined || token === null) throw new globalThis.Error("The parameter 'token' must be defined."); url_ = url_.replace("{token}", encodeURIComponent("" + token)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processExchangeTokenWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processExchangeTokenWithCallbacks(url_, xhr, onSuccess, onFail); }); } processExchangeTokenWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processExchangeToken(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processExchangeToken(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 ? AuthenticationExchangeData.fromJS(resultData200) : null; return result200; } else if (status === 409) { const _responseText = xhr.responseText; let result409 = null; let resultData409 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result409 = resultData409 !== undefined ? resultData409 : null; return throwException("Request inappropriate", status, _responseText, _headers, result409); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Sets the time offset for this session */ postClientTime(timeNow, tzOffset) { return new Promise((resolve, reject) => { this.postClientTimeWithCallbacks(timeNow, tzOffset, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } postClientTimeWithCallbacks(timeNow, tzOffset, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/time?"; if (timeNow === undefined || timeNow === null) throw new globalThis.Error("The parameter 'timeNow' must be defined and cannot be null."); else url_ += "timeNow=" + encodeURIComponent(timeNow ? "" + timeNow.toISOString() : "") + "&"; if (tzOffset === undefined || tzOffset === null) throw new globalThis.Error("The parameter 'tzOffset' must be defined and cannot be null."); else url_ += "tzOffset=" + encodeURIComponent("" + tzOffset) + "&"; url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "post", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processPostClientTimeWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processPostClientTimeWithCallbacks(url_, xhr, onSuccess, onFail); }); } processPostClientTimeWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processPostClientTime(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processPostClientTime(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status === 302) { const _responseText = xhr.responseText; let result302 = null; let resultData302 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result302 = resultData302 !== undefined ? resultData302 : null; return throwException("Unusable credentials with redirect to login ", status, _responseText, _headers, result302); } else if (status === 400) { const _responseText = xhr.responseText; let result400 = null; let resultData400 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result400 = resultData400 !== undefined ? resultData400 : null; return throwException("Not allowed now (already authenticated?)", status, _responseText, _headers, result400); } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Unusable credentials", status, _responseText, _headers, result401); } else if (status === 409) { const _responseText = xhr.responseText; let result409 = null; let resultData409 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result409 = resultData409 !== undefined ? resultData409 : null; return throwException("Not allowed now (see message for issue) ", status, _responseText, _headers, result409); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns list of permissions for a project * @param projectID Project ID */ getProjectPermits(projectID) { return new Promise((resolve, reject) => { this.getProjectPermitsWithCallbacks(projectID, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getProjectPermitsWithCallbacks(projectID, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/permits/project/{projectID}"; if (projectID === undefined || projectID === null) throw new globalThis.Error("The parameter 'projectID' must be defined."); url_ = url_.replace("{projectID}", encodeURIComponent("" + projectID)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetProjectPermitsWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetProjectPermitsWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetProjectPermitsWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetProjectPermits(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetProjectPermits(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 ? UCPermitSet.fromJS(resultData200) : null; return result200; } else if (status === 401) { const _responseText = xhr.responseText; let result401 = null; let resultData401 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result401 = resultData401 !== undefined ? resultData401 : null; return throwException("Not currently authenticated", status, _responseText, _headers, result401); } else if (status === 500) { const _responseText = xhr.responseText; let result500 = null; let resultData500 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result500 = resultData500 !== undefined ? resultData500 : null; return throwException("Internal failure; see response", status, _responseText, _headers, result500); } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Returns server version in major.minor.build.t */ getVersion() { return new Promise((resolve, reject) => { this.getVersionWithCallbacks((result) => resolve(result), (exception, _reason) => reject(exception)); }); } getVersionWithCallbacks(onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/version"; url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetVersionWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetVersionWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetVersionWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.transformResult(_url, xhr, (xhr) => this.processGetVersion(xhr)); if (onSuccess !== undefined) onSuccess(result); } catch (e) { if (onFail !== undefined) onFail(e, "http_service_exception"); } } processGetVersion(xhr) { const status = xhr.status; let _headers = {}; if (status === 200) { const _responseText = xhr.responseText; let result200 = null; let resultData200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver); result200 = resultData200 !== undefined ? resultData200 : null; return result200; } else if (status !== 200 && status !== 204) { const _responseText = xhr.responseText; return throwException("An unexpected server error occurred.", status, _responseText, _headers); } return null; } /** * Return cross request task state * @return task is done */ getTaskState(taskID) { return new Promise((resolve, reject) => { this.getTaskStateWithCallbacks(taskID, (result) => resolve(result), (exception, _reason) => reject(exception)); }); } getTaskStateWithCallbacks(taskID, onSuccess, onFail) { let url_ = this.baseUrl + "/api/session/task/{taskID}/state"; if (taskID === undefined || taskID === null) throw new globalThis.Error("The parameter 'taskID' must be defined."); url_ = url_.replace("{taskID}", encodeURIComponent("" + taskID)); url_ = url_.replace(/[?&]$/, ""); jQuery.ajax({ url: url_, beforeSend: this.beforeSend, type: "get", dataType: "text", headers: { "Accept": "application/json" } }).done((_data, _textStatus, xhr) => { this.processGetTaskStateWithCallbacks(url_, xhr, onSuccess, onFail); }).fail((xhr) => { this.processGetTaskStateWithCallbacks(url_, xhr, onSuccess, onFail); }); } processGetTaskStateWithCallbacks(_url, xhr, onSuccess, onFail) { try { let result = this.