{"version":3,"file":"questionnairefunctions.f5cd5625.js","sources":["../../../ts/apiFunctions/questionnairefunctions.ts"],"sourcesContent":["import { HttpResponse } from '@aspnet/signalr';\r\nimport { IQuestionnaireObj, IUserProps, IDirtyAnswer, IDownloadedDocument, IPreviewInfo, IComment, IQuestionnaireDocument, IDirectoryFileLink, IDownloadLinkStatus, IDownloadLink, ISkinMapValues, IUpdatePlusSeparateLinks, IValidationStatus } from '../components//entitiesAPI';\r\nimport { IDirEntry, IApiService, apiendpoint, IWebTemplateSimple, DMSRequest, IDirectory, IPackage } from '../components/ddentities';\r\n\r\nvar _QuestUrl = \"\";\r\n\r\n\r\nvar allowedRetries = 3;\r\n\r\nconst doCommunication = (userObj: IUserProps, endpoint: string, method: string, body: any = null, contentType: string = \"application/json\", currentRetries: number = undefined) => new Promise((resolve) => {\r\n\r\n if (currentRetries === undefined)\r\n currentRetries = 0;\r\n\r\n\r\n fetch(endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': userObj.requestToken,\r\n 'X-AUTH-USERID': userObj.userid,\r\n 'X-CONTEXT': 'Portal',\r\n 'X-FLUSHVERSION': '3'\r\n },\r\n method: method,\r\n body: body,\r\n keepalive: true\r\n })\r\n .then(response => {\r\n //if (response.ok) {\r\n let overlay = document.getElementById(\"CommunicationErrorOverlay\");\r\n if (overlay !== undefined && overlay !== null) {\r\n document.getElementById(\"CommunicationErrorOverlay\").classList.add(\"hidden\");\r\n }\r\n resolve(response);\r\n //}\r\n //else if (currentRetries < allowedRetries) {\r\n // setTimeout(() => {\r\n // resolve(doCommunication(userObj, endpoint, method, body, contentType, currentRetries + 1));\r\n // }, 50);\r\n //}\r\n //else {\r\n\r\n // document.getElementById(\"CommunicationErrorOverlay\").classList.remove(\"hidden\");\r\n // document.getElementById(\"azure-verification-overlay\").classList.remove(\"active\");\r\n // resolve(response);\r\n //}\r\n })\r\n .catch(error => {\r\n //if (currentRetries < allowedRetries) {\r\n // setTimeout(() => {\r\n // resolve(doCommunication(userObj, endpoint, method, body, contentType, currentRetries + 1));\r\n // }, 50);\r\n //}\r\n //else {\r\n\r\n // document.getElementById(\"CommunicationErrorOverlay\").classList.remove(\"hidden\");\r\n // document.getElementById(\"azure-verification-overlay\").classList.remove(\"active\");\r\n // resolve(new Response);\r\n //}\r\n });\r\n});\r\n\r\n\r\nexport const DownloadFileWithoutLinksV2 = (UserObj: IUserProps, directoryid: string, fileid: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QUrl => {\r\n let Endpoint = QUrl + `api/Config/DownloadTemplateWithoutLinks?DirEntryId=${(directoryid)}&FileId=${(fileid)}`;\r\n fetch(Endpoint, {\r\n headers: {\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n 'Content-Type': 'blob',\r\n }\r\n })\r\n .then((response) => {\r\n const reader = response.body.getReader();\r\n return new ReadableStream({\r\n start(controller) {\r\n return pump();\r\n function pump() {\r\n return reader.read().then(({ done, value }) => {\r\n // When no more data needs to be consumed, close the stream\r\n if (done) {\r\n controller.close();\r\n return;\r\n }\r\n // Enqueue the next data chunk into our target stream\r\n controller.enqueue(value);\r\n return pump();\r\n });\r\n }\r\n }\r\n })\r\n })\r\n // Create a new response out of the stream\r\n .then((stream) => new Response(stream))\r\n // Create an object URL for the response\r\n .then((response) => response.blob())\r\n .then((blob) => resolve(blob))\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n\r\n});\r\n\r\n\r\n\r\nexport const LoadSelectionStringFromXML = (UserObj: IUserProps, templateID: string, fileID) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Drafter/LoadSelectionStringFromXML?entryId=${(templateID)}&fileId=${(fileID)}`, \"GET\").then(response => response.text())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\n\r\n\r\nexport const UpdateConditionsFileId = (UserObj: IUserProps, formData: any) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Drafter/UpdateConditionsFileId`, \"POST\", JSON.stringify(formData)).then(response => response.text())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\n\r\nexport const DownloadDMS = (UserObj: IUserProps, DmsRequest: DMSRequest) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/DownloadDMS`, \"POST\", JSON.stringify(DmsRequest)).then(response => response.text())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\n\r\n\r\nexport const IsLinkingBitConnected = (userObj: IUserProps, id: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Drafter/IsLinkingBitConnected?id=${id}`;\r\n fetch(Endpoint, {\r\n method: \"GET\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': userObj.requestToken,\r\n 'X-AUTH-USERID': userObj.userid,\r\n /*'X-CHANNELID': null*/\r\n }\r\n })\r\n .then(response => response.text())\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n\r\n }).catch(error => {\r\n\r\n console.error('error', error)\r\n\r\n });\r\n\r\n });\r\n\r\n})\r\n\r\n\r\nexport const getTemplatePackage = (UserObj: IUserProps, templateID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Drafter/GetTemplatePackage?TemplateId=${(templateID)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(QuestUrl + `api/Template/GetQuestionnaire?TemplateId=${(templateID)}`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\n\r\nexport const getDMSUrl = (UserObj: IUserProps, id: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetEndPointUrlForDMS?Id=${(id)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n });\r\n});\r\n\r\n\r\nexport const getQuestionnaire = (UserObj: IUserProps, templateID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetQuestionnaire?TemplateId=${(templateID)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(QuestUrl + `api/Template/GetQuestionnaire?TemplateId=${(templateID)}`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\nexport const getDocument = (UserObj: IUserProps, templateID: string, docVersion: string = null) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let version = docVersion;\r\n if (version === null) {\r\n version = \"-1\"\r\n }\r\n\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetDocument?DocumentId=${(templateID)}&version=${(version)}&UpdateTemplate=${(version === \"-1\" ? true : false)}&AutoSave=false&shareSession=false`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(QuestUrl + `api/Template/GetDocument?DocumentId=${(templateID)}&version=${(version)}&AutoSave=false&shareSession=false`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\n\r\nexport const getClause = (UserObj: IUserProps, templateID: string, fileID: string, clauseID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetClause?TemplateId=${(templateID)}&ClauseId=${(clauseID)}&FileId=${(fileID)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(QuestUrl + `api/Template/GetClause?TemplateId=${(templateID)}&ClauseId=${(clauseID)}&FileId=${(fileID)}`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n});\r\nexport const postQuestionnaire = (UserObj: IUserProps, templateID: string, dirtyAnswers: IDirtyAnswer[], caseNumber: string, fromSignalR: boolean, closingSession: boolean = false) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let url;\r\n if (caseNumber.length > 0) {\r\n url = QuestUrl + `api/Template/PostQuestionnaire?guid=${(templateID)}&casenumber=${(caseNumber)}&fromSignalR=${(fromSignalR)}&closingSession=${(closingSession)}`;\r\n }\r\n else {\r\n url = QuestUrl + `api/Template/PostQuestionnaire?guid=${(templateID)}&fromSignalR=${(fromSignalR)}&closingSession=${(closingSession)}`;\r\n }\r\n\r\n doCommunication(UserObj, url, \"POST\", JSON.stringify(dirtyAnswers)).then(response => response.json())\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(url, {\r\n // method: \"POST\",\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // },\r\n // body: JSON.stringify(dirtyAnswers)\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // }).catch(error => {\r\n // resolve(error);\r\n // console.error('error', error)\r\n // });\r\n\r\n });\r\n});\r\n\r\nexport const updateAccessList = (UserObj: IUserProps, templateID: string, shareList: string[], sendEmail: boolean, documentId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let url;\r\n url = QuestUrl + `api/Template/UpdateAccessList?guid=${(templateID)}&sendEmail=${(sendEmail)}&documentId=${(documentId)}`;\r\n\r\n doCommunication(UserObj, url, \"POST\", JSON.stringify(shareList))\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(url, {\r\n // method: \"POST\",\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }, body: JSON.stringify(shareList)\r\n //})\r\n // .then(result => {\r\n // resolve(result);\r\n\r\n // });\r\n\r\n });\r\n});\r\n\r\n\r\n\r\nexport const uploadExcel = (UserObj: IUserProps, formData: FormData) => new Promise((resolve, reject) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let endpoint: string;\r\n\r\n endpoint = QuestUrl + `api/Template/UploadExcel`;\r\n\r\n //doCommunication(UserObj, endpoint, \"POST\", formData).then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n fetch(endpoint, {\r\n headers: {\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n },\r\n method: 'POST',\r\n body: formData\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n\r\n resolve(result);\r\n\r\n\r\n })\r\n .catch(error => {\r\n reject(\"File not valid\");\r\n });\r\n });\r\n});\r\n\r\n\r\n\r\nexport const downloadExcel = (UserObj: IUserProps, documentid: string, runs: number, withAnswers: boolean) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let endpoint: string;\r\n\r\n endpoint = QuestUrl + `api/Template/DownloadExcel?DocumentID=${(documentid)}&Runs=${(runs)}&withAnswers=${(withAnswers)}`;\r\n\r\n doCommunication(UserObj, endpoint, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // });\r\n });\r\n});\r\n\r\n\r\nexport const downloadDocuments = (UserObj: IUserProps, templateID: string, fileids: string[] = null, returnFiles: boolean = true) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let endpoint: string;\r\n if (fileids === null) {\r\n endpoint = QuestUrl + `api/Template/DownloadDocuments?guid=${(templateID)}&fromAddin=1&forceTaskPaneOpen=0&returnFiles=${(returnFiles)}`;\r\n }\r\n else {\r\n\r\n endpoint = QuestUrl + `api/Template/DownloadDocuments?guid=${(templateID)}&fromAddin=1&fileids=${(JSON.stringify(fileids))}&forceTaskPaneOpen=0&returnFiles=${(returnFiles)}`\r\n }\r\n\r\n doCommunication(UserObj, endpoint, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // });\r\n });\r\n});\r\n\r\nexport const downloadDocumentsFromBlob = (UserObj: IUserProps, fileName: string, encryptionkey: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let endpoint: string;\r\n\r\n endpoint = QuestUrl + `api/Template/DownloadDocFromStorage?fileName=${(encodeURIComponent(fileName))}&encryptionKey=${(encryptionkey)}`\r\n\r\n fetch(endpoint, {\r\n headers: {\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n 'Content-Type': 'blob',\r\n }\r\n })\r\n // Retrieve its body as ReadableStream\r\n .then((response) => {\r\n const reader = response.body.getReader();\r\n return new ReadableStream({\r\n start(controller) {\r\n return pump();\r\n function pump() {\r\n return reader.read().then(({ done, value }) => {\r\n // When no more data needs to be consumed, close the stream\r\n if (done) {\r\n controller.close();\r\n return;\r\n }\r\n // Enqueue the next data chunk into our target stream\r\n controller.enqueue(value);\r\n return pump();\r\n });\r\n }\r\n }\r\n })\r\n })\r\n // Create a new response out of the stream\r\n .then((stream) => new Response(stream))\r\n // Create an object URL for the response\r\n .then((response) => response.blob())\r\n .then((blob) => resolve(blob))\r\n\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const getDocumentList = (UserObj: IUserProps, guid: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetDocumentList?guid=${(guid)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(QuestUrl + `api/Template/GetDocumentList?guid=${(guid)}`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n // });\r\n });\r\n});\r\nexport const mailDocuments = (UserObj: IUserProps, templateID: string, directProcessing: boolean) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/MailDocuments?guid=${(templateID)}&directProcessing=${(directProcessing)}`, \"GET\")\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(QuestUrl + `api/Template/MailDocuments?guid=${(templateID)}`, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => {\r\n\r\n // resolve(response);\r\n // })\r\n\r\n // .catch(error => { console.error('error:', error) });\r\n\r\n });\r\n});\r\n\r\nexport const saveQuestionnaire = (UserObj: IUserProps, templateID: string, saveName: string, parentId: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let url = QuestUrl + `api/Template/SaveQuestionnaire?guid=${(templateID)}&name=${(saveName)}&ShareUserEmail=${(UserObj.useremail)}`;\r\n\r\n if (parentId.length > 0)\r\n url += `&parentId=${(parentId)}`;\r\n\r\n doCommunication(UserObj, url, \"POST\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(QuestUrl + `api/Template/SaveQuestionnaire?guid=${(templateID)}&name=${(saveName)}&ShareUserEmail=${(UserObj.useremail)}`, {\r\n // method: \"POST\",\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json()).then(result => {\r\n // resolve(result);\r\n // //resolve(saveName);\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n\r\n });\r\n});\r\n\r\nexport const documentSaveAs = (UserObj: IUserProps, templateID: string, saveName: string, parentId: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let url = QuestUrl + `api/Template/DocumentSaveAs?guid=${(templateID)}&name=${(saveName)}&ShareUserEmail=${(UserObj.useremail)}`;\r\n\r\n if (parentId.length > 0)\r\n url += `&parentId=${(parentId)}`;\r\n\r\n doCommunication(UserObj, url, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n });\r\n});\r\n\r\nexport const getDownloadFileData = (UserObj: IUserProps, documentID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n doCommunication(UserObj, QuestUrl + `api/Template/GetDownloadFileData?documentid=${(documentID)}`, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(QuestUrl + `api/Template/GetDownloadFileData?documentid=${(documentID)}`, {\r\n // method: \"GET\",\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json()).then(result => {\r\n // resolve(result);\r\n // //resolve(saveName);\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n\r\n });\r\n});\r\n\r\n//PREVIEW FUNCTIONS \r\nexport const getPreviewList = (UserObj: IUserProps, templateID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/GetPreviewList?guid=${(templateID)}`;\r\n doCommunication(UserObj, Endpoint, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n\r\n // resolve(result);\r\n\r\n\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n });\r\n});\r\n\r\nexport const getPreviewHTML = (UserObj: IUserProps, templateID: string, previewGuid: string, fileID: string, clauseID: string | null) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint;\r\n if (clauseID === null) {\r\n Endpoint = QuestUrl + `api/Template/GetPreviewHTML?guid=${(templateID)}&PreviewGuid=${(previewGuid)}&fileID=${(fileID)}&ClauseID=`;\r\n }\r\n else {\r\n Endpoint = QuestUrl + `api/Template/GetPreviewHTML?guid=${(templateID)}&PreviewGuid=${(previewGuid)}&fileID=${(fileID)}&ClauseID=${(clauseID)}`;\r\n }\r\n\r\n doCommunication(UserObj, Endpoint, \"GET\", null, \"text/html\").then(response => {\r\n if (response.ok)\r\n response.text().then(data => {\r\n resolve(data);\r\n })\r\n else\r\n resolve(\"PREVIEWERROR\");\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'text/html',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.text()).then(data => {\r\n // resolve(data);\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // });\r\n });\r\n});\r\n\r\nexport const getPreviewHTMLNoMarkup = (UserObj: IUserProps, templateID: string, previewGuid: string, fileID: string, clauseID: string | null) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint;\r\n if (clauseID === null) {\r\n Endpoint = QuestUrl + `api/Template/GetPreviewHTMLNoMarkup?guid=${(templateID)}&PreviewGuid=${(previewGuid)}&fileID=${(fileID)}&ClauseID=`;\r\n }\r\n else {\r\n Endpoint = QuestUrl + `api/Template/GetPreviewHTMLNoMarkup?guid=${(templateID)}&PreviewGuid=${(previewGuid)}&fileID=${(fileID)}&ClauseID=${(clauseID)}`;\r\n }\r\n doCommunication(UserObj, Endpoint, \"GET\", null, \"text/html\").then(response => {\r\n if (response.ok) {\r\n response.text().then(data => {\r\n resolve(data);\r\n })\r\n }\r\n else\r\n resolve(\"PREVIEWERROR\");\r\n })\r\n\r\n .catch(error => { console.error('error:', error) });\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'text/html',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.text()).then(data => {\r\n // resolve(data);\r\n\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n\r\n });\r\n});\r\n\r\nexport const refreshApiData = (UserObj: IUserProps, templateID: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/RefreshApiData?guid=${(templateID)}`;\r\n\r\n doCommunication(UserObj, Endpoint, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n\r\n });\r\n});\r\n\r\n\r\n//Collaboration\r\nexport const AddComment = (UserObj: IUserProps, guid: string, comment: IComment, linkTo: string = null) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let Endpoint;\r\n\r\n if (linkTo === null) {\r\n Endpoint = QuestUrl + `api/Template/AddComment?guid=${(guid)}`;\r\n }\r\n else {\r\n Endpoint = QuestUrl + `api/Template/AddComment?guid=${(guid)}&LinkTo=${(linkTo)}`;\r\n }\r\n\r\n doCommunication(UserObj, Endpoint, \"POST\", JSON.stringify(comment)).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(Endpoint, {\r\n // method: \"POST\",\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // },\r\n // body: JSON.stringify(comment)\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n\r\n });\r\n});\r\n\r\nexport const DeleteComment = (UserObj: IUserProps, guid: string, commentId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/DeleteComment?guid=${(guid)}&id=${(commentId)}`;\r\n\r\n doCommunication(UserObj, Endpoint, \"GET\")\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n });\r\n});\r\n\r\nexport const GetComments = (UserObj: IUserProps, guid: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let Endpoint = QuestUrl + `api/Template/GetComments?guid=${(guid)}`;\r\n\r\n doCommunication(UserObj, Endpoint, \"GET\").then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n //fetch(Endpoint, {\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // 'X-AUTH-TOKEN': UserObj.requestToken,\r\n // 'X-AUTH-USERID': UserObj.userid\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n // .catch(error => {\r\n // console.error('error:', error)\r\n // }\r\n // );\r\n });\r\n});\r\n\r\nexport const CopySection = (UserObj: IUserProps, guid: string, copyFrom: string, copyTo: string, casenumber: string, ignoreFilled: boolean) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/CopyRepeat?guid=${(guid)}©From=${(copyFrom)}©To=${(copyTo)}&casenumber=${(casenumber)}&fromSignalR=${(false)}&autoSave=${(false)}&IgnoreFilled=${(ignoreFilled)}`;\r\n\r\n //doCommunication(UserObj, Endpoint, \"GET\").then(response => {\r\n // if (response.status === 200) {\r\n // return response;\r\n // }\r\n // else {\r\n // resolve(false);\r\n // }\r\n //})\r\n // .then(response => response.json())\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n 'X-CONTEXT': 'Portal',\r\n 'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => {\r\n if (response.status === 200) {\r\n return response;\r\n }\r\n else {\r\n resolve(false);\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n }\r\n );\r\n\r\n })\r\n .catch(error => { console.error('error:', error) });\r\n\r\n\r\n\r\n});\r\n\r\nexport const BatchPolling = (UserObj: IUserProps, guid: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n\r\n let Endpoint = QuestUrl + `api/Template/BatchPolling?guid=${(guid)}`;\r\n\r\n //doCommunication(UserObj, Endpoint, \"GET\").then(response => response.json())\r\n // .then(result => {\r\n // resolve(result);\r\n // })\r\n // .catch(error => { console.error('error:', error) });\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n })\r\n //.then(response => response.json()\r\n .then(result => {\r\n\r\n if (!result.ok) {\r\n\r\n let notDone: IDownloadLink = {\r\n type: \"Not done!\",\r\n id: \"Not done!\",\r\n documentID: \"Not done!\",\r\n fileName: \"Not done!\",\r\n dateTime: new Date(),\r\n downloadGuid: \"Not done!\",\r\n encryptionKey: \"Not done!\",\r\n\r\n };\r\n resolve(notDone);\r\n }\r\n else {\r\n resolve(result.json());\r\n }\r\n })\r\n\r\n .catch(error => {\r\n console.error('error:', error);\r\n })\r\n //);\r\n\r\n });\r\n});\r\n\r\n\r\n//new prefill\r\n\r\nexport const getPrefillQuestionnaire = (UserObj: IUserProps, templateID: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/GetQuestionnaire?TemplateId=${(templateID)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const postPrefillQuestionnaire = (UserObj: IUserProps, guid: string, dirtyAnswers: IDirtyAnswer[]) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/PostPrefill?guid=${(guid)}`;\r\n\r\n fetch(Endpoint, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n },\r\n body: JSON.stringify(dirtyAnswers)\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const savePrefillQuestionnaire = (UserObj: IUserProps, guid: string, name: string, parentFolder: string, saveExisting: boolean, prefillId: string = \"\") => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/SavePrefillQuestionnaire?guid=${(guid)}&name=${(name)}&parentFolder=${(parentFolder)}&saveExisting=${(saveExisting)}&prefillId=${(prefillId)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const createExternalQuestionnaireLink = (UserObj: IUserProps, documentId: string, scope: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/CreateExternalLink?documentId=${(documentId)}&scope=${(scope)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const checkIfExternalLinkExistsForDocument = (UserObj: IUserProps, documentId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/CheckIfExternalLinkExistsForDocument?documentId=${(documentId)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const renameDocument = (UserObj: IUserProps, documentId: string, name: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/RenameDocument?documentId=${(documentId)}&name=${(name)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n })\r\n .then(result => {\r\n if (result.ok)\r\n resolve(true);\r\n else\r\n resolve(false);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const nukeSession = (UserObj: IUserProps, documentId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/RemoveActiveDocumentSession?documentID=${(documentId)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n })\r\n .then(result => {\r\n if (result.ok)\r\n resolve(true);\r\n else\r\n resolve(false);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const GetSystemWebhooks = (UserObj: IUserProps) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/SystemConfig/GetSystemWebhooks`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const updateCasenumberValue = (UserObj: IUserProps, guid: string, casenumberValue: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/UpdateCasenumberValue?guid=${(guid)}&casenumberValue=${(casenumberValue)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n })\r\n .then(result => {\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\nexport const flowPushDocument = (UserObj: IUserProps, guid: string, flowKey: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Template/FlowPushDocument?guid=${(guid)}&flowKey=${(flowKey)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid\r\n }\r\n })\r\n .then(result => {\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n console.error('error:', error)\r\n });\r\n });\r\n});\r\n\r\n//end new prefill\r\nexport const getStyleMapping = (user: IUserProps, skinId: string) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n fetch(QuestUrl + 'api/SystemConfig/GetStylesMapping?skinId=' + skinId, {\r\n method: \"GET\",\r\n headers: {\r\n 'X-AUTH-TOKEN': user.requestToken,\r\n 'X-AUTH-USERID': user.userid\r\n }\r\n }).then(response => {\r\n\r\n if (response.ok) {\r\n response.json().then((result) => { resolve(result) })\r\n }\r\n else\r\n resolve(false);\r\n\r\n\r\n });\r\n });\r\n});\r\n\r\nexport const keepAlive = (templateID: string, user: IUserProps) => new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n fetch(QuestUrl + 'api/Template/KeepAlive?guid=' + templateID, {\r\n headers: {\r\n 'X-AUTH-TOKEN': user.requestToken,\r\n 'X-AUTH-USERID': user.userid\r\n }\r\n }).then(response => {\r\n\r\n resolve(response);\r\n\r\n\r\n });\r\n });\r\n});\r\n\r\n//Directory functions\r\n\r\nexport const RenameDirEntry = (UserObj: IUserProps, newName: string, oldDirName: string, isPackageFile: string, dirEntryId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/RenameDirEntry?newName=${(newName)}&oldDirName=${(oldDirName)}&isPackageFile=${(isPackageFile)}&dirEntryId=${(dirEntryId)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then((response) => {\r\n if (!response.ok) {\r\n response.text().then((result) => {\r\n resolve(JSON.parse(result).message)\r\n });\r\n }\r\n else {\r\n response.json().then((result) => {\r\n resolve(result);\r\n });\r\n }\r\n\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const EditVersionNote = (UserObj: IUserProps, newName: string, directoryId: string, version: number) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/EditVersionNote?newNote=${(newName)}&directoryId=${(directoryId)}&version=${(version)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then((response) => {\r\n resolve(true);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const copyFilePackage = (UserObj: IUserProps, id: string, filelinkid: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CopyFilePackage?id=${(id)}&filelinkid=${(filelinkid)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const deleteFileInPackage = (UserObj: IUserProps, id: string, deleteList: string[], versionNote: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/DeleteFileInPackage?id=${(id)}&versionNote=${versionNote}`;\r\n\r\n fetch(Endpoint, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n },\r\n body: JSON.stringify(deleteList)\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const copyDirectoryEntries = (UserObj: IUserProps, targetid: string, copyList: string[]) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CopyDirectoryEntries?targetid=${(targetid)}`;\r\n\r\n fetch(Endpoint, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n },\r\n body: JSON.stringify(copyList)\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const CreatePDFMapping = (UserObj: IUserProps, directoryid: string, fileid: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CreatePDFAutoFillDocument?directoryId=${(directoryid)}&fileId=${(fileid)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n },\r\n method: 'POST'\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const CheckApiAccessTemplate = (UserObj: IUserProps, directoryid: string, version: number) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CheckApiAccessForTemplate?directoryid=${(directoryid)}&version=${(version)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\n\r\nexport const downloadStaticFile = (UserObj: IUserProps, directoryid: string, fileid: string, version: number, newDrafterFormat: boolean = false) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/DownloadStaticFile?directoryid=${(directoryid)}&fileid=${(fileid)}&version=${(version)}&newDrafterFormat=${newDrafterFormat}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => {\r\n if (response.ok) {\r\n response.json()\r\n .then(result => {\r\n resolve(result);\r\n })\r\n }\r\n else {\r\n\r\n var errorResult: IDownloadedDocument = {\r\n fileData: \"error\",\r\n fileName: \"error\",\r\n mimetype: response.status.toString(),\r\n pageChanges: null,\r\n searchTerms: null\r\n };\r\n resolve(errorResult);\r\n }\r\n\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const downloadStaticFileV2 = (UserObj: IUserProps, directoryid: string, fileid: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/DownloadStaticFileV2?directoryid=${(directoryid)}&fileid=${(fileid)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => {\r\n if (response.ok) {\r\n response.json()\r\n .then(result => {\r\n resolve(result);\r\n })\r\n }\r\n else {\r\n\r\n var errorResult: IDownloadedDocument = {\r\n fileData: \"error\",\r\n fileName: \"error\",\r\n mimetype: response.status.toString(),\r\n pageChanges: null,\r\n searchTerms: null\r\n };\r\n resolve(errorResult);\r\n }\r\n\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const ExportQuestionnaire = (UserObj: IUserProps, templateId: string, templateName: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/ExportQuestionnaire?templateId=${(templateId)}&templateName=${(templateName)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const copyAndReplaceVersion = (UserObj: IUserProps, moveFromID: string, moveToID: string, updatePlusSeperates: IUpdatePlusSeparateLinks[], releaseNote: string = \"\") => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CopyAndReplaceVersion?moveFromID=${(moveFromID)}&moveToID=${(moveToID)}&releaseNote=${releaseNote}`;\r\n\r\n fetch(Endpoint, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n },\r\n body: JSON.stringify(updatePlusSeperates)\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const createAvailableOnMain = (UserObj: IUserProps, folderId: string, entryName: string, packageId: string, fileId: string) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/CreateAvailableOnMail?folderId=${(folderId)}&entryName=${(entryName)}&packageId=${(packageId)}&fileId=${(fileId)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n\r\nexport const restoreFileVersion = (UserObj: IUserProps, directoryId: string, version: number) => new Promise((resolve) => {\r\n\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let Endpoint = QuestUrl + `api/Config/RestoreFileVersion?directoryId=${(directoryId)}&version=${(version)}`;\r\n\r\n fetch(Endpoint, {\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-AUTH-TOKEN': UserObj.requestToken,\r\n 'X-AUTH-USERID': UserObj.userid,\r\n //'X-CONTEXT': 'Portal',\r\n //'X-FLUSHVERSION': '3'\r\n }\r\n }).then(response => response.json())\r\n .then(result => {\r\n resolve(result);\r\n })\r\n\r\n }).catch(error => { console.error('error:', error) });\r\n});\r\n//End directory functions\r\n\r\nexport const getQuestionnaireUrl = () => new Promise((resolve) => {\r\n\r\n if (_QuestUrl == \"\") {\r\n let domainUrl = document.domain;\r\n if (document.location.port != undefined) {\r\n domainUrl += ':' + document.location.port;\r\n }\r\n\r\n let Endpoint = `https://` + domainUrl + `/api/Configuration/GetApiUrl?Api=QuestionApi`;\r\n fetch(Endpoint, {\r\n method: \"GET\"\r\n\r\n })\r\n .then(response => response.text()\r\n .then((data) => {\r\n _QuestUrl = data;\r\n resolve(_QuestUrl);\r\n }))\r\n }\r\n else {\r\n resolve(_QuestUrl);\r\n }\r\n\r\n})\r\n\r\nexport const getPackage = (userObj: IUserProps, packageId: string) =>\r\n new Promise((resolve) => {\r\n getQuestionnaireUrl().then(QuestUrl => {\r\n let endpoint: string = QuestUrl + `api/Drafter/GetPackage?packageId=${packageId}`;\r\n\r\n fetch(endpoint, {\r\n headers: {\r\n \"X-AUTH-TOKEN\": userObj.requestToken,\r\n \"X-AUTH-USERID\": userObj.userid,\r\n },\r\n method: \"GET\",\r\n })\r\n .then((response) => response.json())\r\n .then((result) => {\r\n resolve(result);\r\n })\r\n .catch((error) => {\r\n console.log(\"Package failed\");\r\n });\r\n }).catch(error => { console.error('error:', error) });\r\n });\r\n\r\n\r\n//function getQuestionnaireUrl() {\r\n// if (document.location.href.toLowerCase().indexOf(\".qa.documentdrafter.com\") > -1) {\r\n// return \"https://dd-qa-questionapi.azurewebsites.net/\";\r\n// } else if (document.location.href.toLowerCase().indexOf(\".dev.documentdrafter.com\") > -1 || document.location.href.toLowerCase().indexOf(\"localhost\") > -1) {\r\n// return \"https://questionnaireapi20210806145950.azurewebsites.net/\";\r\n// // return \"https://localhost:44329/\";\r\n// //return \"https://dd-dev-qapi2.dd-dev-dedicated.p.azurewebsites.net\"\r\n// } else if (document.location.href.toLowerCase().indexOf(\"pre-production.documentdrafter.com\") > -1) {\r\n// return \"https://dd-prod-questionapi-preproduction.azurewebsites.net/\";\r\n// }\r\n// else return \"https://dd-question-api.documentdrafter.com/\";\r\n//}"],"names":["_QuestUrl","doCommunication","userObj","endpoint","method","body","contentType","currentRetries","resolve","response","overlay","error","DownloadFileWithoutLinksV2","UserObj","directoryid","fileid","getQuestionnaireUrl","QUrl","Endpoint","reader","controller","pump","done","value","stream","blob","LoadSelectionStringFromXML","templateID","fileID","QuestUrl","result","UpdateConditionsFileId","formData","IsLinkingBitConnected","id","getTemplatePackage","getDownloadFileData","documentID","getPrefillQuestionnaire","postPrefillQuestionnaire","guid","dirtyAnswers","savePrefillQuestionnaire","name","parentFolder","saveExisting","prefillId","GetSystemWebhooks","getStyleMapping","user","skinId","RenameDirEntry","newName","oldDirName","isPackageFile","dirEntryId","EditVersionNote","directoryId","version","copyFilePackage","filelinkid","deleteFileInPackage","deleteList","versionNote","copyDirectoryEntries","targetid","copyList","CreatePDFMapping","CheckApiAccessTemplate","downloadStaticFile","newDrafterFormat","errorResult","downloadStaticFileV2","ExportQuestionnaire","templateId","templateName","copyAndReplaceVersion","moveFromID","moveToID","updatePlusSeperates","releaseNote","createAvailableOnMain","folderId","entryName","packageId","fileId","restoreFileVersion","domainUrl","data","getPackage"],"mappings":"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"}