@kontur.candy/tools 2.239.0 → 2.240.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/distr/Common/CandyApiClient/CandyApiClient.js +61 -16
  2. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  3. package/distr/Common/CandyApiClient/CandyApiErrors.js +26 -0
  4. package/distr/Common/CandyApiClient/CandyApiErrors.js.map +1 -0
  5. package/distr/Common/CandyApiClient/FakeCandyApiClient.js +8 -3
  6. package/distr/Common/CandyApiClient/FakeCandyApiClient.js.map +1 -1
  7. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  8. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js +5 -0
  9. package/distr/Common/CandyApiClient/Types/Attachments/Attacments.js.map +1 -1
  10. package/distr/Common/CandyApiClient/Types/DraftActions/FileProperties.js.map +1 -1
  11. package/distr/Common/CandyApiClient/Types/HistoryEditing/InnerHistoryResponse.js.map +1 -1
  12. package/distr/Common/KCLangRuntimeUtils.js +18 -0
  13. package/distr/Common/KCLangRuntimeUtils.js.map +1 -1
  14. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js +2 -2
  15. package/distr/Common/ModelPath/AbsoluteModelFieldPath.js.map +1 -1
  16. package/distr/Common/NdsPlusApiClient/INdsPlusApiClient.js.map +1 -1
  17. package/distr/Common/TypingUtils.js.map +1 -1
  18. package/distr/Common/UUID.js +4 -1
  19. package/distr/Common/UUID.js.map +1 -1
  20. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js +1 -2
  21. package/distr/Tools/src/BuildTasks/ResolveFormInfo.js.map +1 -1
  22. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +0 -6
  23. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
  24. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js +1 -3
  25. package/distr/Tools/src/CLICommands/FormStats/RunFormStats.js.map +1 -1
  26. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js +0 -4
  27. package/distr/Tools/src/CLICommands/UpgradeForm/RunUpgradeForm.js.map +1 -1
  28. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  29. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  30. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js +1132 -2169
  31. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
  32. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js +445 -917
  33. package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
  34. package/package.json +7 -6
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ServerErrors = exports.CandyResourceZones = exports.CandyApiDraftClient = exports.CandyApiClient = void 0;
6
+ exports.CandyResourceZones = exports.CandyApiDraftClient = exports.CandyApiClient = void 0;
7
7
  var _TypingUtils = require("../TypingUtils");
8
8
  var _HttpClient = require("../HttpClient/HttpClient");
9
9
  var _AuthenticationMode = require("../HttpClient/AuthenticationMode");
@@ -15,6 +15,7 @@ var _IsBuffer = require("./IsBuffer");
15
15
  var _FufSizeTooLargeError = require("./Types/DraftActions/FufSizeTooLargeError");
16
16
  var _NeedNormalizationError = require("./Types/DraftActions/NeedNormalizationError");
17
17
  var _PollingTaskWaiter = require("./Types/PollingTasks/PollingTaskWaiter");
18
+ var _CandyApiErrors = require("./CandyApiErrors");
18
19
  const strangeOptions = {
19
20
  src: "changeSet",
20
21
  dataVersion: "0"
@@ -22,12 +23,6 @@ const strangeOptions = {
22
23
  const CandyResourceZones = exports.CandyResourceZones = {
23
24
  TestForms: "candy.resources.test-forms"
24
25
  };
25
- let ServerErrors = exports.ServerErrors = /*#__PURE__*/function (ServerErrors) {
26
- ServerErrors["FufSizeTooLarge"] = "FufSizeTooLarge";
27
- ServerErrors["BadRequest"] = "BadRequest";
28
- ServerErrors["UnknownError"] = "UnknownError";
29
- return ServerErrors;
30
- }({});
31
26
  function convertPathLoadSpecificationToString(spec) {
32
27
  return (spec.skip ? "-" : "") + (spec.pathOrPathPrefix === "*" ? spec.pathOrPathPrefix : spec.pathOrPathPrefix.toLegacyPath());
33
28
  }
@@ -118,6 +113,22 @@ class CandyApiClient {
118
113
  resourceType: resourceType
119
114
  }).text();
120
115
  }
116
+ async convertToPdfAndGetMeta(driveUri) {
117
+ const url = "v1/files/convert-to-pdf-and-get-meta";
118
+ try {
119
+ return await this.httpClient.get(url).withQueryParams({
120
+ driveUri: driveUri
121
+ }).json();
122
+ } catch (e) {
123
+ if (e instanceof _HttpClient.HttpError) {
124
+ if (e.statusCode === 400) {
125
+ throw new _CandyApiErrors.ConvertationError(e.message);
126
+ }
127
+ throw new _CandyApiErrors.ServerError(e.message);
128
+ }
129
+ throw new _CandyApiErrors.ServerError(`Ошибка сервера в ответ на url: ${url}`);
130
+ }
131
+ }
121
132
  }
122
133
  exports.CandyApiClient = CandyApiClient;
123
134
  class CandyApiDraftClient {
@@ -196,8 +207,38 @@ class CandyApiDraftClient {
196
207
  window.location.href = this.normalizeDownloadLink(response.resultUri);
197
208
  }
198
209
  async makeDownloadDriveLink(uri, fileName) {
199
- const url = fileName ? `${uri}?response-content-disposition=attachment;filename%3D%22${fileName}%22` : this.normalizeDownloadLink(uri);
200
- window.location.href = url;
210
+ const url = this.makeDriveLink(uri, fileName);
211
+ this.downloadByUri(url);
212
+ }
213
+ makeDriveLink(uri, fileName) {
214
+ if (fileName) {
215
+ const contentDisposition = this.makeContentDispositionParam(fileName);
216
+ return `${uri}?${contentDisposition}`;
217
+ }
218
+ return this.normalizeDownloadLink(uri);
219
+ }
220
+
221
+ // Сделано согласно доке (вкладка "Контент: скачивание"): https://wiki.skbkontur.ru/pages/viewpage.action?pageId=156699377
222
+ makeContentDispositionParam(fileName) {
223
+ const name = this.encodeRFC5987ValueChars(fileName);
224
+ const contentDispositionValue = `attachment; filename*=UTF-8''${name}`;
225
+ return `response-content-disposition=${this.encodeRFC5987ValueChars(contentDispositionValue)}`;
226
+ }
227
+
228
+ // Оригинал - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#encoding_for_content-disposition_and_link_headers
229
+ encodeRFC5987ValueChars(str) {
230
+ return encodeURIComponent(str)
231
+ // The following creates the sequences %27 %28 %29 %2A (Note that
232
+ // the valid encoding of "*" is %2A, which necessitates calling
233
+ // toUpperCase() to properly encode). Although RFC3986 reserves "!",
234
+ // RFC5987 does not, so we do not need to escape it.
235
+ .replace(/['()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)
236
+ // The following are not required for percent-encoding per RFC5987,
237
+ // so we can allow for a little better readability over the wire: |`^
238
+ .replace(/%(7C|60|5E)/g, (_str, hex) => String.fromCharCode(parseInt(hex, 16)));
239
+ }
240
+ downloadByUri(uri) {
241
+ window.location.href = uri;
201
242
  }
202
243
  async downloadInner() {
203
244
  var _getContentType, _getFileName;
@@ -326,7 +367,7 @@ class CandyApiDraftClient {
326
367
  useDraftNormalization: !skipNormalization
327
368
  }).withJsonBody(convertedRules.length > 0 ? convertedRules : ["*"]).acceptCode(424);
328
369
  if (response.status === 424) {
329
- throw new _NeedNormalizationError.NeedNormalizationError();
370
+ throw new _NeedNormalizationError.NeedNormalizationError("get-partial-inner - Черновик не нормализован");
330
371
  }
331
372
  return response.json();
332
373
  }
@@ -338,7 +379,7 @@ class CandyApiDraftClient {
338
379
  useDraftNormalization: !skipNormalization
339
380
  }).withJsonBody(convertedRules.length > 0 ? convertedRules : ["*"]).acceptCode(424);
340
381
  if (response.status === 424) {
341
- throw new _NeedNormalizationError.NeedNormalizationError();
382
+ throw new _NeedNormalizationError.NeedNormalizationError("get-partial-inner2 - Черновик не нормализован");
342
383
  }
343
384
  return response.json();
344
385
  }
@@ -397,7 +438,7 @@ class CandyApiDraftClient {
397
438
  }).acceptCode(413);
398
439
  if (response.status === 413) {
399
440
  const errorData = await response.json();
400
- if (errorData.errorCode === "FufSizeTooLarge") {
441
+ if (errorData.errorCode === _CandyApiErrors.ErrorCode.FufSizeTooLarge) {
401
442
  throw new _FufSizeTooLargeError.FufSizeTooLargeError(errorData.message);
402
443
  }
403
444
  throw new _HttpClient.HttpError(errorData.message, response.status);
@@ -480,7 +521,7 @@ class CandyApiDraftClient {
480
521
  return data;
481
522
  } catch {
482
523
  return {
483
- serverError: ServerErrors.UnknownError,
524
+ serverError: _CandyApiErrors.ErrorCode.UnknownError,
484
525
  invalidSourceDriveContentNames: "",
485
526
  sourcesTotalCount: 0
486
527
  };
@@ -498,7 +539,7 @@ class CandyApiDraftClient {
498
539
  return undefined;
499
540
  } catch {
500
541
  return {
501
- serverError: ServerErrors.UnknownError
542
+ serverError: _CandyApiErrors.ErrorCode.UnknownError
502
543
  };
503
544
  }
504
545
  }
@@ -651,8 +692,12 @@ class CandyApiDraftClient {
651
692
  }
652
693
  async undoToChange(changeGUID) {
653
694
  const url = this.getDraftUrl(`innerhistory/${changeGUID}`);
654
- const body = await this.httpClient.post(url).acceptCode(400).acceptCode(500);
655
- return body.status;
695
+ const response = await this.httpClient.post(url).acceptCode(400).acceptCode(500);
696
+ const innerHistoryUndoResponse = await response.json();
697
+ return {
698
+ status: response.status,
699
+ response: innerHistoryUndoResponse
700
+ };
656
701
  }
657
702
  async getGFV() {
658
703
  const url = `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`;
@@ -1 +1 @@
1
- {"version":3,"file":"CandyApiClient.js","names":["_TypingUtils","require","_HttpClient","_AuthenticationMode","_ModelPath","_TypeConversionHelper","_FocusTypes","_DraftPresentationType","_IsBuffer","_FufSizeTooLargeError","_NeedNormalizationError","_PollingTaskWaiter","strangeOptions","src","dataVersion","CandyResourceZones","exports","TestForms","ServerErrors","convertPathLoadSpecificationToString","spec","skip","pathOrPathPrefix","toLegacyPath","CandyApiClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","exceptionLogger","httpStatusHandlers","httpClient","HttpClient","createAuthenticationProvider","forDraft","draftFullId","CandyApiDraftClient","getInfoByInns","inns","paths","map","inn","response","post","getDraftUrl","withJsonBody","json","result","_response","innServerValue","value","undefined","error","errorCode","FocusServerErrorCode","NoInnError","_innServerValue$value","_innServerValue$error","_innServerValue$error2","getAllGfvs","get","forceGetAllGfvs","createDraftFromDrive","ns","fufDriveUri","abortSignal","withQueryParams","withAbortSignal","createEmptyDraft","gfv","createDraft","fufContent","withContentType","withBodyFromBuffer","Buffer","from","Error","checkAlive","draftRelatedUrl","draftId","getFeatureFlags","abonId","orgId","userId","abon","org","user","getWorkspaceDirectoryId","resourceType","organizationId","text","normalizeDownloadLink","uri","includes","getHrefToInnerEditor","url","getHrefToConvertationLog","getInnerFuf","DraftPresentationType","innerFuf","startGetInnerFufTask","getInnerFufTask","getHrefToDownloadInnerFuf","getHrefDownloadDraftPresentation","getHrefToDownloadClientInfo","clientInfo","getHrefToDownloadFormsClientInfo","formsClientInfo","getErrorLog","getDraftPresentationUrl","errorLog","getErrorLogWithCheckScenarios","checkScenarios","getTaskById","taskId","_tasks","tasks","getFufWithAttachments","startGetFufWithAttachmentsTask","getFufWithAttachmentsTask","format","getPartialFuf","rules","getAllTasks","Object","values","x","downloadFuf","waitPollingTask","resultUri","reject","window","location","href","makeDownloadDriveLink","fileName","downloadInner","_getContentType","_getFileName","inner","responseBlob","blob","innerFileBlob","Blob","type","getContentType","innerFileUrl","URL","createObjectURL","link","document","createElement","download","getFileName","click","remove","setTimeout","revokeObjectURL","enqueueTask","taskInfo","added","changed","id","removed","cancelTask","getExpertErrorLog","auo","getHrefToErrorLogPdf","errorLogName","propsName","propsDriveName","clearDraft","convertDraftFromPrevGfv","prevGfvDraftId","sendChangeWithNormalizationSet","data","currentDataVersion","normalizerId","operationName","acceptCode","status","startPatchWithNormalizationTask","getPatchWithNormalizationTask","sendChangeSet","getSuccessResult","_dataResult$dataVersi","dataResult","sendChangeSetSync","postSync","getSuccessResultSync","_dataResult$dataVersi2","getRequisites","requisiteList","getInner","getPartialInner","maxInstanceCount","convertedRules","toString","length","getPartialInnerAsJsonTree","skipNormalization","useDraftNormalization","NeedNormalizationError","getRawPartialInnerAsJsonTree","getDataVersion","startNormalizationTask","getNormalizationTask","getExplanatoryNote","explanatoryNote","getAttachmentById","attachmentId","_result$value","_result","getAllAttachments","removeAttachments","attachmentIds","createOrUpdateAttachments","attachments","attachment","contentUri","meta","createDraftAttachment","path","openLoadedAttachmentAsDraft","errorData","FufSizeTooLargeError","message","HttpError","setPresentation","presentationType","content","request","put","withRawBody","isBuffer","patchPresentation","presentationContent","patch","getFileProperties","driveUri","ignoreSizeCheck","getFileNdsProperties","declarationGfv","requestedGfv","requiredGfv","prepareAndGetFileProperties","uploadAndGetFileProperties","driveUris","serverError","invalidSourceDriveContentNames","sourcesTotalCount","UnknownError","acceptMultipleTransferType","files","setFufByDriveUri","excelsToPartialFufs","pathToTable","importXmls","combineMethod","combinatorType","isImportByFuf","args","importByFuf","FufDriveUris","arguments","setDraftSettings","settings","getDraftSettings","normalizeByRules","setMultipleWithNormalization","finalRules","convertToLegacyPath","normalizeDirtyMasks","searchInstancesByText","pathsPrefix","pathsToSearch","maxInstanceCountParams","params","searchString","queryCollection","resolveInnerPath","customNormalize","pathPrefixes","startCustomNormalizationTask","PathPrefixes","getCustomNormalizationTask","importEmployees","deleteInstances","deletingRules","runMassAction","actionId","parameters","queryParams","print","body","printExcel","tableExcel","checkByPopd","getHistory","item","DateUtc","convertDateFromStringIfNeeded","ChangesExpiresUtc","undoToChange","changeGUID","getGFV","GFV","Group","Format","Variant","getUser"],"sources":["../../../../Common/CandyApiClient/CandyApiClient.ts"],"sourcesContent":["import { reject } from \"../TypingUtils\";\nimport { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, getContentType, getFileName, HttpClient, HttpError } from \"../HttpClient/HttpClient\";\nimport { HttpStatusCode, HttpStatusHandlers, IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath, convertToLegacyPath } from \"../ModelPath/ModelPath\";\nimport { convertDateFromStringIfNeeded } from \"../TypeConversionHelper\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\nimport { WorkspaceResourceType } from \"../../Engine/src/ContractorsServiceIntegration/Types/WorkspaceTypes\";\n\nimport {\n CheckScenarioType,\n DraftSettings,\n FufWithAttachmentsResponse,\n FufWithAttachmentsTaskResult,\n GetPartialFufResponse,\n GetUserResponse,\n ICandyApiClient,\n ICandyApiDraftClient,\n IInnerChangeResult,\n IInnerChangeSuccessResult,\n NormalizationProgressTask,\n PathLoadSpecification,\n RequestNdsFileOptions,\n} from \"./ICandyApiClient\";\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { FocusServerErrorCode, GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { FocusServerResponse } from \"./Types/Focus/FocusServerResponse\";\nimport { GetTasksServerResponse } from \"./Types/Tasks/GetTasksServerResponse\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { isBuffer } from \"./IsBuffer\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { FufSizeTooLargeError } from \"./Types/DraftActions/FufSizeTooLargeError\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { GFVResponse } from \"./Types/GFV/GFVResponse\";\nimport { NeedNormalizationError } from \"./Types/DraftActions/NeedNormalizationError\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\nimport { waitPollingTask } from \"./Types/PollingTasks/PollingTaskWaiter\";\n\nconst strangeOptions = { src: \"changeSet\", dataVersion: \"0\" };\n\nexport const CandyResourceZones = {\n TestForms: \"candy.resources.test-forms\",\n};\n\nexport enum ServerErrors {\n FufSizeTooLarge = \"FufSizeTooLarge\",\n BadRequest = \"BadRequest\",\n UnknownError = \"UnknownError\",\n}\n\nfunction convertPathLoadSpecificationToString(spec: PathLoadSpecification): string {\n return (\n (spec.skip ? \"-\" : \"\") +\n (spec.pathOrPathPrefix === \"*\" ? spec.pathOrPathPrefix : spec.pathOrPathPrefix.toLegacyPath())\n );\n}\n\nexport class CandyApiClient implements ICandyApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger,\n httpStatusHandlers\n );\n }\n\n public forDraft(draftFullId: DraftFullId): ICandyApiDraftClient {\n return new CandyApiDraftClient(this.httpClient, draftFullId);\n }\n\n public async getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse> {\n const paths = inns.map(inn => `@focus/${inn}`);\n const response = await this.httpClient\n .post(this.getDraftUrl(draftFullId, \"get-inner\"))\n .withJsonBody(paths)\n .json<FocusServerResponse>();\n const result: GetByInnResponse = {};\n for (const inn of inns) {\n const innServerValue = response[`@focus/${inn}`]?.value;\n if (innServerValue == undefined) {\n result[inn] = {\n value: undefined,\n error: \"Server does not return inn info\",\n errorCode: FocusServerErrorCode.NoInnError,\n };\n } else {\n result[inn] = {\n value: innServerValue.value ?? undefined,\n errorCode: innServerValue.errorCode ?? undefined,\n error: innServerValue.error ?? undefined,\n };\n }\n }\n return result;\n }\n\n public async getAllGfvs(): Promise<string[]> {\n return this.httpClient.get(`build-server/gfvs`).json<string[]>();\n }\n\n public async forceGetAllGfvs(): Promise<string[]> {\n return this.httpClient.get(`build-server/force-gfvs`).json<string[]>();\n }\n\n public async createDraftFromDrive(\n ns: string,\n fufDriveUri: string,\n abortSignal?: AbortSignal\n ): Promise<CreateDraftResponse> {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft-from-drive`)\n .withQueryParams({\n ns: ns,\n fufDriveUri: fufDriveUri,\n })\n .withAbortSignal(abortSignal)\n .json<CreateDraftResponse>();\n }\n\n public async createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse> {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withAbortSignal(abortSignal)\n .json<CreateDraftResponse>();\n }\n\n public createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n public createDraft(ns: string, gfv: undefined, fufContent: Buffer): Promise<CreateDraftResponse>;\n public async createDraft(ns: string, gfv: undefined | string, fufContent?: Buffer): Promise<CreateDraftResponse> {\n if (gfv == undefined && fufContent != undefined) {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(fufContent)\n .json<CreateDraftResponse>();\n }\n if (gfv != undefined && fufContent == undefined) {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(Buffer.from([]))\n .json<CreateDraftResponse>();\n }\n if (gfv == undefined && fufContent == undefined) {\n throw new Error(\"Cannot create draft: no gfv and no fuf specified\");\n }\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(fufContent)\n .json<CreateDraftResponse>();\n }\n\n public async checkAlive(): Promise<void> {\n await this.httpClient.get(`_status/ping`);\n }\n\n private getDraftUrl(draftFullId: DraftFullId, draftRelatedUrl: string): string {\n return `v1/ns/${draftFullId.ns}/drafts/${draftFullId.draftId}/${draftRelatedUrl}`;\n }\n\n public async getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse> {\n return await this.httpClient\n .get(\"v1/features/flags\")\n .withQueryParams({\n abon: abonId,\n org: orgId,\n user: userId,\n })\n .json<FeatureFlagsResponse>();\n }\n\n public async getWorkspaceDirectoryId(\n orgId: string,\n inn: string,\n resourceType: WorkspaceResourceType\n ): Promise<string> {\n return await this.httpClient\n .get(\"v1/workspace/directoryId\")\n .withQueryParams({\n organizationId: orgId,\n inn: inn,\n resourceType: resourceType,\n })\n .text();\n }\n}\n\nexport class CandyApiDraftClient implements ICandyApiDraftClient {\n private readonly httpClient: IHttpClient;\n private readonly draftFullId: DraftFullId;\n\n private readonly normalizeDownloadLink = (uri: string): string =>\n uri.includes(\"response-content-disposition\") ? uri : `${uri}?response-content-disposition=attachment`;\n\n public constructor(httpClient: IHttpClient, draftFullId: DraftFullId) {\n this.httpClient = httpClient;\n this.draftFullId = draftFullId;\n }\n\n public getHrefToInnerEditor(): string {\n return this.httpClient.url(`inner-editor/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`);\n }\n\n public getHrefToConvertationLog(): string {\n return this.httpClient.url(this.getDraftUrl(\"conversion\"));\n }\n\n public async getInnerFuf(): Promise<string | undefined> {\n return (await this.httpClient.get(this.getDraftUrl(DraftPresentationType.innerFuf))).text();\n }\n\n public async startGetInnerFufTask(): Promise<PollingTaskWithResult<string>> {\n return await this.httpClient\n .post(this.getDraftUrl(DraftPresentationType.innerFuf + \"/get-task\"))\n .json<PollingTaskWithResult<string>>();\n }\n\n public async getInnerFufTask(): Promise<PollingTaskWithResult<string>> {\n return await this.httpClient\n .get(this.getDraftUrl(DraftPresentationType.innerFuf + \"/get-task\"))\n .json<PollingTaskWithResult<string>>();\n }\n\n public getHrefToDownloadInnerFuf(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.innerFuf);\n }\n\n public getHrefToDownloadClientInfo(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.clientInfo);\n }\n\n public getHrefToDownloadFormsClientInfo(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.formsClientInfo);\n }\n\n public async getErrorLog(): Promise<ServerErrorLog> {\n return this.httpClient.get(this.getDraftPresentationUrl(DraftPresentationType.errorLog)).json<ServerErrorLog>();\n }\n\n public async getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog> {\n return this.httpClient\n .post(this.getDraftUrl(\"errorlog\"))\n .withJsonBody({ checkScenarios: checkScenarios })\n .json<ServerErrorLog>();\n }\n\n public async getTaskById(taskId: string): Promise<ServerTask | undefined> {\n const tasks = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@task/*`])\n .json<GetTasksServerResponse>();\n return tasks[`@task/${taskId}`]?.value;\n }\n\n public async getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined> {\n const response = await this.httpClient\n .get(this.getDraftUrl(\"get-fuf-with-attachments\"))\n .json<FufWithAttachmentsResponse>();\n return response;\n }\n\n public async startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-fuf-with-attachments-task\"))\n .json<PollingTaskWithResult<FufWithAttachmentsTaskResult>>();\n return response;\n }\n\n public async getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>> {\n const response = await this.httpClient\n .get(this.getDraftUrl(\"get-fuf-with-attachments-task\"))\n .withQueryParams({ format: format })\n .json<PollingTaskWithResult<FufWithAttachmentsTaskResult>>();\n return response;\n }\n\n public async getPartialFuf(rules: string[]): Promise<GetPartialFufResponse | undefined> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-fuf\"))\n .withJsonBody(rules)\n .json<GetPartialFufResponse>();\n return response;\n }\n\n public async getAllTasks(): Promise<ServerTask[]> {\n const tasks = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@task/*`])\n .json<GetTasksServerResponse>();\n return Object.values(tasks).map(x => x.value);\n }\n\n public async downloadFuf(): Promise<void> {\n await this.startGetFufWithAttachmentsTask();\n const response = await waitPollingTask(() => this.getFufWithAttachmentsTask(\"DriveUri\"));\n if (!(\"resultUri\" in response) || !response.resultUri) {\n reject(\"Failed to receive FUF link\");\n }\n window.location.href = this.normalizeDownloadLink(response.resultUri);\n }\n\n public async makeDownloadDriveLink(uri: string, fileName?: string): Promise<void> {\n const url = fileName\n ? `${uri}?response-content-disposition=attachment;filename%3D%22${fileName}%22`\n : this.normalizeDownloadLink(uri);\n\n window.location.href = url;\n }\n\n public async downloadInner(): Promise<void> {\n const response = await this.httpClient.get(this.getDraftPresentationUrl(DraftPresentationType.inner));\n const responseBlob = await response.blob();\n\n const innerFileBlob = new Blob([responseBlob], {\n type: getContentType(response) ?? \"application/json\",\n });\n const innerFileUrl = window.URL.createObjectURL(innerFileBlob);\n const link = document.createElement(\"a\");\n link.href = innerFileUrl;\n link.download = getFileName(response) ?? \"inner.json\";\n link.click();\n\n link.remove();\n setTimeout(() => {\n window.URL.revokeObjectURL(innerFileUrl);\n }, 250);\n }\n\n public async enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {\n [`@task/${taskId}`]: {\n ...taskInfo,\n id: taskId,\n },\n },\n removed: [],\n });\n }\n\n public async cancelTask(taskId: string): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {},\n removed: [`@task/${taskId}`],\n });\n }\n\n public getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog> {\n return this.httpClient\n .post(this.getDraftUrl(\"error-log-expert\"))\n .withJsonBody({ auo: auo })\n .json<ServerErrorLog>();\n }\n\n public getHrefToErrorLogPdf(errorLogName: string, propsName: string): string {\n return this.httpClient.url(this.getDraftUrl(\"presentations/errorLog/print\"), {\n errorLogName: errorLogName,\n propsDriveName: propsName,\n });\n }\n\n public async clearDraft(): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"clear\"));\n }\n\n public async convertDraftFromPrevGfv({ prevGfvDraftId, gfv }: ConvertDraftRequest): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"convert\")).withQueryParams({\n id: prevGfvDraftId,\n gfv: gfv,\n });\n }\n\n public async sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<IInnerChangeResult> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/patch-with-normalization\"))\n .withQueryParams({\n dataVersion: currentDataVersion,\n normalizerId: normalizerId,\n operationName: operationName ?? undefined,\n })\n .withJsonBody(data)\n .acceptCode(409);\n\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/patch-with-normalization-task\"))\n .withQueryParams({\n dataVersion: currentDataVersion,\n normalizerId: normalizerId,\n operationName: operationName,\n })\n .withJsonBody(data)\n .acceptCode(409);\n return result.status == 200\n ? await result.json<PollingTaskWithResult<IInnerChangeSuccessResult>>()\n : result.status;\n }\n\n public async getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>> {\n const result = await this.httpClient.get(this.getDraftUrl(\"inner/patch-with-normalization-task\"));\n return result.json<PollingTaskWithResult<IInnerChangeSuccessResult>>();\n }\n\n public async sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner\"))\n .withQueryParams({ dataVersion: currentDataVersion, operationName: operationName ?? undefined })\n .withJsonBody(data)\n .acceptCode(409);\n\n const getSuccessResult = async () => {\n const dataResult = await result.json<{ dataVersion?: number }>();\n return {\n dataVersion: dataResult?.dataVersion ?? reject(\"Invalid dataVersion after applying change set.\"),\n };\n };\n\n return result.status == 200 ? await getSuccessResult() : result.status;\n }\n\n public sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult {\n const result = this.httpClient.postSync(this.getDraftUrl(\"inner\"), { dataVersion: currentDataVersion }, data);\n\n const getSuccessResultSync = () => {\n const dataResult = result.json<{ dataVersion?: number }>();\n return {\n dataVersion: dataResult?.dataVersion ?? reject(\"Invalid dataVersion after applying change set.\"),\n };\n };\n return result.status == 200 ? getSuccessResultSync() : result.status;\n }\n\n public async getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse> {\n return await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody(requisiteList)\n .json<ServerRequisitesResponse>();\n }\n\n public async getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse> {\n return await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody(paths)\n .json<ServerInnerResponse>();\n }\n\n public getPartialInner(rules: PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n return this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .json<ServerInnerResponse>();\n }\n\n public async getPartialInnerAsJsonTree(\n rules: PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withQueryParams({ format: \"JsonTree\", useDraftNormalization: !skipNormalization })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .acceptCode(424);\n\n if (response.status === 424) {\n throw new NeedNormalizationError();\n }\n\n return response.json<ServerJsonResponse>();\n }\n\n public async getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner2\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withQueryParams({ useDraftNormalization: !skipNormalization })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .acceptCode(424);\n\n if (response.status === 424) {\n throw new NeedNormalizationError();\n }\n\n return response.json<ServerRawResponse>();\n }\n\n public getDataVersion(): Promise<number> {\n return this.httpClient.get(this.getDraftUrl(\"inner/get-data-version\")).json<number>();\n }\n\n public startNormalizationTask(): Promise<NormalizationProgressTask> {\n return this.httpClient.post(this.getDraftUrl(\"normalization-task\")).json<NormalizationProgressTask>();\n }\n\n public getNormalizationTask(): Promise<NormalizationProgressTask> {\n return this.httpClient.get(this.getDraftUrl(\"normalization-task\")).json<NormalizationProgressTask>();\n }\n\n public async getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse> {\n return await this.httpClient\n .get(this.getDraftPresentationUrl(DraftPresentationType.explanatoryNote))\n .json<CreateExplanatoryNoteResponse>();\n }\n\n public async getAttachmentById(attachmentId: string): Promise<AttachInfo> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@attachment/${attachmentId}`])\n .json<GetAttachmentsResponse>();\n return result[`@attachment/${attachmentId}`]?.value ?? reject();\n }\n\n public async getAllAttachments(): Promise<AttachInfo[]> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@attachment/*`])\n .json<GetAttachmentsResponse>();\n return Object.values(result).map(x => x.value);\n }\n\n public async removeAttachments(attachmentIds: readonly string[]): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {},\n removed: attachmentIds.map(id => `@attachment/${id}`),\n });\n }\n\n public async createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void> {\n const changed: Record<string, {}> = {};\n for (const attachment of attachments) {\n changed[`@attachment/${attachment.id}`] = {\n contentUri: attachment.contentUri,\n id: attachment.id,\n meta: attachment.meta,\n };\n }\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: changed,\n removed: [],\n });\n }\n\n public async createDraftAttachment(gfv: string, path: string): Promise<AttachInfo> {\n return await this.httpClient\n .post(this.getDraftUrl(\"external/create-attachment-draft\"))\n .withQueryParams({ gfv: gfv, path: path })\n .json<AttachInfo>();\n }\n\n public async openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"external/open-loaded-attachment-as-draft\"))\n .withQueryParams({ attachmentId: id })\n .acceptCode(413);\n\n if (response.status === 413) {\n const errorData = await response.json<{ errorCode: string; message: string }>();\n if (errorData.errorCode === \"FufSizeTooLarge\") {\n throw new FufSizeTooLargeError(errorData.message);\n }\n throw new HttpError(errorData.message, response.status);\n }\n return await response.json<AttachInfo>();\n }\n\n public async setPresentation(presentationType: DraftPresentationType, content: string | unknown): Promise<void> {\n let request = this.httpClient.put(this.getDraftPresentationUrl(presentationType));\n if (typeof content === \"string\") {\n request = request.withRawBody(content);\n } else if (isBuffer(content)) {\n request = request.withRawBody(content);\n } else {\n request = request.withJsonBody(content);\n }\n await request;\n }\n\n public async patchPresentation(\n presentationType: DraftPresentationType,\n presentationContent: PresentationContent\n ): Promise<void> {\n await this.httpClient.patch(this.getDraftPresentationUrl(presentationType)).withJsonBody(presentationContent);\n }\n\n public async getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined> {\n const response = await this.httpClient\n .get(`v1/files/get-properties`)\n .withQueryParams({ driveUri: driveUri, ignoreSizeCheck: ignoreSizeCheck ?? false })\n .acceptCode(400)\n .acceptCode(413);\n if (response.status === 400 || response.status === 413 || response.status === 200) {\n return response.json<FileProperties>();\n }\n return undefined;\n }\n\n public async getFileNdsProperties({\n driveUri,\n declarationGfv,\n requestedGfv,\n ignoreSizeCheck,\n }: RequestNdsFileOptions): Promise<FileProperties[] | undefined> {\n const response = await this.httpClient\n .get(`v1/files/get-properties-nds-v2`)\n .withQueryParams({\n driveUri: driveUri,\n ignoreSizeCheck: ignoreSizeCheck ?? false,\n declarationGfv: declarationGfv,\n requiredGfv: requestedGfv,\n })\n .acceptCode(400)\n .acceptCode(413);\n if (response.status === 400 || response.status === 413 || response.status === 200) {\n return response.json<FileProperties[]>();\n }\n return undefined;\n }\n\n public async prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined> {\n const response = await this.httpClient\n .get(`v1/files/prepare-and-get-properties`)\n .withQueryParams({ gfv: gfv, driveUri: driveUri, ignoreSizeCheck: ignoreSizeCheck ?? false })\n .acceptCode(413);\n if (response.status === 400) {\n return undefined;\n }\n if (response.status === 413) {\n const errorData = await response.json<{ errorCode: string; message: string }>();\n if (errorData.errorCode === \"FufSizeTooLarge\") {\n throw new FufSizeTooLargeError(errorData.message);\n }\n throw new HttpError(errorData.message, response.status);\n }\n return await response.json<FileProperties>();\n }\n\n public async uploadAndGetFileProperties(\n driveUris: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse> {\n try {\n const response = await this.httpClient\n .post(`v1/files/upload-and-get-properties`)\n .withQueryParams({ gfv: gfv })\n .withJsonBody(driveUris)\n .withAbortSignal(abortSignal)\n .acceptCode(400)\n .acceptCode(413);\n if (response.status !== 200) {\n const data = await response.json<{ errorCode: ServerErrors; message: string }>();\n return { serverError: data.errorCode, invalidSourceDriveContentNames: \"\", sourcesTotalCount: 0 };\n }\n const data = await response.json<UploadFilePropertiesResponse>();\n return data;\n } catch {\n return {\n serverError: ServerErrors.UnknownError,\n invalidSourceDriveContentNames: \"\",\n sourcesTotalCount: 0,\n };\n }\n }\n\n public async acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(`v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/transfer/combine-multiple`)\n .withJsonBody(files)\n .withAbortSignal(abortSignal)\n .acceptCode(400)\n .acceptCode(413);\n if (response.status !== 200) {\n const data = await response.json<{ errorCode: ServerErrors; message: string }>();\n return { serverError: data.errorCode };\n }\n return undefined;\n } catch {\n return { serverError: ServerErrors.UnknownError };\n }\n }\n\n public async setFufByDriveUri(driveUri: string): Promise<void> {\n await this.httpClient.put(this.getDraftUrl(\"set-fuf\")).withQueryParams({ driveUri: driveUri });\n }\n\n public async excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(\"v1/files/excels-to-partial-fufs\")\n .withQueryParams({ gfv: gfv, pathToTable: pathToTable })\n .withJsonBody(driveUris);\n if (response.status === 200) {\n return await response.json<ExcelsToPartialFufsResponse>();\n }\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n public async importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"transfer/import-xmls\"))\n .withQueryParams({\n combineMethod: combineMethod,\n combinatorType: combinatorType,\n importByFuf: isImportByFuf,\n })\n .withJsonBody({ FufDriveUris: driveUris, arguments: args });\n if (response.status === 400) {\n return undefined;\n }\n return await response.json<CombineFufResult>();\n }\n\n public async setDraftSettings(settings: DraftSettings): Promise<void> {\n await this.httpClient.patch(this.getDraftUrl(\"external/set-settings\")).withJsonBody(settings);\n }\n\n public async getDraftSettings(): Promise<DraftSettings> {\n const response = await this.httpClient.get(this.getDraftUrl(\"external/get-settings\"));\n\n return response.json<DraftSettings>();\n }\n\n public async normalizeByRules(rules: string): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"test-normalize\")).withJsonBody(rules);\n }\n\n private getHrefDownloadDraftPresentation(presentationType: DraftPresentationType): string {\n return this.httpClient.url(this.getDraftPresentationUrl(presentationType));\n }\n\n private getDraftUrl(draftRelatedUrl: string): string {\n return `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/${draftRelatedUrl}`;\n }\n\n private getDraftPresentationUrl(presentationType: DraftPresentationType): string {\n return this.getDraftUrl(`presentations/${presentationType.toString()}`);\n }\n\n public async setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult> {\n const uri = this.getDraftUrl(\"inner/set-multiple-with-normalization\");\n const finalRules = rules.map(x => ({ ...x, path: convertToLegacyPath(x.path) }));\n const result = await this.httpClient.patch(uri).withJsonBody(finalRules);\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async normalizeDirtyMasks(): Promise<IInnerChangeResult> {\n const uri = this.getDraftUrl(\"inner/normalize-dirty-masks\");\n const result = await this.httpClient.post(uri);\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async searchInstancesByText(\n text: string,\n pathsPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]> {\n const maxInstanceCountParams = maxInstanceCount != undefined ? { maxInstanceCount: maxInstanceCount } : {};\n const params = { searchString: text, pathsPrefix: pathsPrefix, ...maxInstanceCountParams };\n return this.httpClient\n .post(this.getDraftUrl(\"inner/search-by-string\"))\n .withQueryParams(params)\n .withJsonBody(pathsToSearch)\n .json<string[]>();\n }\n\n public async queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse> {\n return this.httpClient\n .post(this.getDraftUrl(\"inner/query-collection\"))\n .withJsonBody(request)\n .withAbortSignal(abortSignal)\n .json<InnerQueryResponse>();\n }\n\n public async resolveInnerPath(\n request: ResolveInnerPathRequest,\n abortSignal?: AbortSignal\n ): Promise<ResolvePathResponse> {\n return this.httpClient\n .post(this.getDraftUrl(\"inner/resolve-inner-path\"))\n .withJsonBody(request)\n .withAbortSignal(abortSignal)\n .json<ResolvePathResponse>();\n }\n\n public async customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult> {\n const params = { normalizerId: normalizerId };\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/custom-normalize\"))\n .withQueryParams(params)\n .withJsonBody(pathPrefixes.map(x => x.toString()))\n .withAbortSignal(abortSignal);\n\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>> {\n const params = { normalizerId: normalizerId, operationName: operationName ?? undefined };\n const args = { PathPrefixes: pathPrefixes.map(x => x.toString()) };\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/custom-normalization-task\"))\n .withQueryParams(params)\n .withJsonBody(args);\n return result.json<PollingTaskWithResult<IInnerChangeResult>>();\n }\n\n public async getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>> {\n const result = await this.httpClient.get(this.getDraftUrl(\"inner/custom-normalization-task\"));\n return result.json<PollingTaskWithResult<IInnerChangeResult>>();\n }\n\n public async importEmployees(request: ImportEmployeesRequest): Promise<void> {\n await this.httpClient.patch(this.getDraftUrl(\"staff\")).withJsonBody(request);\n }\n\n public async deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"inner/delete-instances\")).withJsonBody(deletingRules);\n }\n\n public async runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void> {\n const queryParams = { actionId: actionId };\n await this.httpClient\n .post(this.getDraftUrl(\"inner/mass-action\"))\n .withQueryParams(queryParams)\n .withJsonBody(parameters);\n }\n\n public print(type: PrintType, body?: string[]): Promise<PrintResponse> {\n return this.httpClient\n .post(this.getDraftUrl(`presentations/inner/print/${type}`))\n .withJsonBody(body)\n .json<PrintResponse>();\n }\n\n public async printExcel(pathToTable: string): Promise<PrintResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(this.getDraftUrl(`presentations/table/print`))\n .withQueryParams({ pathToTable: pathToTable });\n if (response.status === 200) {\n const tableExcel = response.json<PrintResponse>();\n return tableExcel;\n }\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n public async checkByPopd(): Promise<CandyPopdProtocol> {\n const response = await this.httpClient.get(\n `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/checkByPopd`\n );\n\n return response.json<CandyPopdProtocol>();\n }\n\n public async getHistory(): Promise<InnerHistoryResponse | HttpStatusCode> {\n const url = this.getDraftUrl(\"innerhistory\");\n const body = await this.httpClient\n .get(url)\n .acceptCode(400)\n .acceptCode(404)\n .acceptCode(500)\n .json<InnerHistoryResponse>();\n return body.map(item => ({\n ...item,\n DateUtc: convertDateFromStringIfNeeded(item.DateUtc),\n ChangesExpiresUtc: convertDateFromStringIfNeeded(item.ChangesExpiresUtc),\n }));\n }\n\n public async undoToChange(changeGUID: string): Promise<number> {\n const url = this.getDraftUrl(`innerhistory/${changeGUID}`);\n const body = await this.httpClient.post(url).acceptCode(400).acceptCode(500);\n return body.status;\n }\n\n public async getGFV(): Promise<string> {\n const url = `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`;\n const body = await this.httpClient.get(url).json<GFVResponse>();\n const gfv = body.GFV;\n return `${gfv.Group}${gfv.Format}${gfv.Variant}`;\n }\n\n public async getUser(): Promise<GetUserResponse> {\n const url = `v1/user`;\n const body = await this.httpClient.get(url).json<GetUserResponse>();\n return body;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CandyApiClient.js","names":["_TypingUtils","require","_HttpClient","_AuthenticationMode","_ModelPath","_TypeConversionHelper","_FocusTypes","_DraftPresentationType","_IsBuffer","_FufSizeTooLargeError","_NeedNormalizationError","_PollingTaskWaiter","_CandyApiErrors","strangeOptions","src","dataVersion","CandyResourceZones","exports","TestForms","convertPathLoadSpecificationToString","spec","skip","pathOrPathPrefix","toLegacyPath","CandyApiClient","constructor","fetchImpl","baseUrl","resourceZone","authentication","exceptionLogger","httpStatusHandlers","httpClient","HttpClient","createAuthenticationProvider","forDraft","draftFullId","CandyApiDraftClient","getInfoByInns","inns","paths","map","inn","response","post","getDraftUrl","withJsonBody","json","result","_response","innServerValue","value","undefined","error","errorCode","FocusServerErrorCode","NoInnError","_innServerValue$value","_innServerValue$error","_innServerValue$error2","getAllGfvs","get","forceGetAllGfvs","createDraftFromDrive","ns","fufDriveUri","abortSignal","withQueryParams","withAbortSignal","createEmptyDraft","gfv","createDraft","fufContent","withContentType","withBodyFromBuffer","Buffer","from","Error","checkAlive","draftRelatedUrl","draftId","getFeatureFlags","abonId","orgId","userId","abon","org","user","getWorkspaceDirectoryId","resourceType","organizationId","text","convertToPdfAndGetMeta","driveUri","url","e","HttpError","statusCode","ConvertationError","message","ServerError","normalizeDownloadLink","uri","includes","getHrefToInnerEditor","getHrefToConvertationLog","getInnerFuf","DraftPresentationType","innerFuf","startGetInnerFufTask","getInnerFufTask","getHrefToDownloadInnerFuf","getHrefDownloadDraftPresentation","getHrefToDownloadClientInfo","clientInfo","getHrefToDownloadFormsClientInfo","formsClientInfo","getErrorLog","getDraftPresentationUrl","errorLog","getErrorLogWithCheckScenarios","checkScenarios","getTaskById","taskId","_tasks","tasks","getFufWithAttachments","startGetFufWithAttachmentsTask","getFufWithAttachmentsTask","format","getPartialFuf","rules","getAllTasks","Object","values","x","downloadFuf","waitPollingTask","resultUri","reject","window","location","href","makeDownloadDriveLink","fileName","makeDriveLink","downloadByUri","contentDisposition","makeContentDispositionParam","name","encodeRFC5987ValueChars","contentDispositionValue","str","encodeURIComponent","replace","c","charCodeAt","toString","toUpperCase","_str","hex","String","fromCharCode","parseInt","downloadInner","_getContentType","_getFileName","inner","responseBlob","blob","innerFileBlob","Blob","type","getContentType","innerFileUrl","URL","createObjectURL","link","document","createElement","download","getFileName","click","remove","setTimeout","revokeObjectURL","enqueueTask","taskInfo","added","changed","id","removed","cancelTask","getExpertErrorLog","auo","getHrefToErrorLogPdf","errorLogName","propsName","propsDriveName","clearDraft","convertDraftFromPrevGfv","prevGfvDraftId","sendChangeWithNormalizationSet","data","currentDataVersion","normalizerId","operationName","acceptCode","status","startPatchWithNormalizationTask","getPatchWithNormalizationTask","sendChangeSet","getSuccessResult","_dataResult$dataVersi","dataResult","sendChangeSetSync","postSync","getSuccessResultSync","_dataResult$dataVersi2","getRequisites","requisiteList","getInner","getPartialInner","maxInstanceCount","convertedRules","length","getPartialInnerAsJsonTree","skipNormalization","useDraftNormalization","NeedNormalizationError","getRawPartialInnerAsJsonTree","getDataVersion","startNormalizationTask","getNormalizationTask","getExplanatoryNote","explanatoryNote","getAttachmentById","attachmentId","_result$value","_result","getAllAttachments","removeAttachments","attachmentIds","createOrUpdateAttachments","attachments","attachment","contentUri","meta","createDraftAttachment","path","openLoadedAttachmentAsDraft","errorData","ErrorCode","FufSizeTooLarge","FufSizeTooLargeError","setPresentation","presentationType","content","request","put","withRawBody","isBuffer","patchPresentation","presentationContent","patch","getFileProperties","ignoreSizeCheck","getFileNdsProperties","declarationGfv","requestedGfv","requiredGfv","prepareAndGetFileProperties","uploadAndGetFileProperties","driveUris","serverError","invalidSourceDriveContentNames","sourcesTotalCount","UnknownError","acceptMultipleTransferType","files","setFufByDriveUri","excelsToPartialFufs","pathToTable","importXmls","combineMethod","combinatorType","isImportByFuf","args","importByFuf","FufDriveUris","arguments","setDraftSettings","settings","getDraftSettings","normalizeByRules","setMultipleWithNormalization","finalRules","convertToLegacyPath","normalizeDirtyMasks","searchInstancesByText","pathsPrefix","pathsToSearch","maxInstanceCountParams","params","searchString","queryCollection","resolveInnerPath","customNormalize","pathPrefixes","startCustomNormalizationTask","PathPrefixes","getCustomNormalizationTask","importEmployees","deleteInstances","deletingRules","runMassAction","actionId","parameters","queryParams","print","body","printExcel","tableExcel","checkByPopd","getHistory","item","DateUtc","convertDateFromStringIfNeeded","ChangesExpiresUtc","undoToChange","changeGUID","innerHistoryUndoResponse","getGFV","GFV","Group","Format","Variant","getUser"],"sources":["../../../../Common/CandyApiClient/CandyApiClient.ts"],"sourcesContent":["import { reject } from \"../TypingUtils\";\nimport { Fetch } from \"../HttpClient/FetchImplementation/Fetch\";\nimport { ExceptionLogger, getContentType, getFileName, HttpClient, HttpError } from \"../HttpClient/HttpClient\";\nimport { HttpStatusCode, HttpStatusHandlers, IHttpClient } from \"../HttpClient/IHttpClient\";\nimport { AuthenticationMode, createAuthenticationProvider } from \"../HttpClient/AuthenticationMode\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath, convertToLegacyPath } from \"../ModelPath/ModelPath\";\nimport { convertDateFromStringIfNeeded } from \"../TypeConversionHelper\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\nimport { WorkspaceResourceType } from \"../../Engine/src/ContractorsServiceIntegration/Types/WorkspaceTypes\";\n\nimport {\n CheckScenarioType,\n ConvertedPDFMetaResponse,\n DraftSettings,\n FufWithAttachmentsResponse,\n FufWithAttachmentsTaskResult,\n GetPartialFufResponse,\n GetUserResponse,\n ICandyApiClient,\n ICandyApiDraftClient,\n IInnerChangeResult,\n IInnerChangeSuccessResult,\n NormalizationProgressTask,\n PathLoadSpecification,\n RequestNdsFileOptions,\n} from \"./ICandyApiClient\";\nimport { ServerErrorLog } from \"./Types/ErrorLog/ServerErrorLog\";\nimport { ServerInnerResponse, ServerJsonResponse } from \"./Types/GetInner/ServerInnerResponse\";\nimport {\n ExcelsToPartialFufsResponse,\n FileProperties,\n ServerErrorResponse,\n UploadFilePropertiesResponse,\n} from \"./Types/DraftActions/FileProperties\";\nimport { CreateDraftResponse } from \"./Types/CreateDraft/CreateDraftResponse\";\nimport { CreateExplanatoryNoteResponse } from \"./Types/ExplanatoryNote/CreateExplanatoryNoteResponse\";\nimport { DraftFullId } from \"./Types/DraftFullId\";\nimport { ServerChangeSet } from \"./Types/ChangeSet/ServerChangeSet\";\nimport { ServerTask, VerifyAndFixFnsRequirementsTaskInfo } from \"./Types/Tasks/Tasks\";\nimport { FocusServerErrorCode, GetByInnResponse } from \"./Types/Focus/FocusTypes\";\nimport { AttachInfo } from \"./Types/Attachments/Attacments\";\nimport { DraftPresentationType } from \"./Types/Presentations/DraftPresentationType\";\nimport { PresentationContent } from \"./Types/Presentations/PresentationContent\";\nimport { ConvertDraftRequest } from \"./Types/DraftActions/ConvertDraftRequest\";\nimport { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { FocusServerResponse } from \"./Types/Focus/FocusServerResponse\";\nimport { GetTasksServerResponse } from \"./Types/Tasks/GetTasksServerResponse\";\nimport { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { isBuffer } from \"./IsBuffer\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\nimport { FufSizeTooLargeError } from \"./Types/DraftActions/FufSizeTooLargeError\";\nimport { ImportEmployeesRequest } from \"./Types/Staff/ImportEmployeesRequest\";\nimport { MassActionParameters } from \"./Types/MassActions/MassActionParameters\";\nimport { PrintType } from \"./Types/Print/PrintType\";\nimport { PrintResponse } from \"./Types/Print/PrintResponse\";\nimport { ServerRawResponse } from \"./Types/GetInner/ServerRawResponse\";\nimport { CandyPopdProtocol } from \"./Types/ErrorLog/CandyPopdProtocol\";\nimport { InstancesDeletingRule } from \"./Types/InstancesDeleting/InstancesDeletingRule\";\nimport { ValueForInstancesSettingRule } from \"./Types/MassActions/ValueForInstancesSettingRule\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport {\n InnerHistoryResponse,\n InnerHistoryUndoResponse,\n InnerHistoryUndoResponseWithStatus,\n} from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { GFVResponse } from \"./Types/GFV/GFVResponse\";\nimport { NeedNormalizationError } from \"./Types/DraftActions/NeedNormalizationError\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\nimport { waitPollingTask } from \"./Types/PollingTasks/PollingTaskWaiter\";\nimport { ConvertationError, ServerError, ErrorCode, ErrorResponse } from \"./CandyApiErrors\";\n\nconst strangeOptions = { src: \"changeSet\", dataVersion: \"0\" };\n\nexport const CandyResourceZones = {\n TestForms: \"candy.resources.test-forms\",\n};\n\nfunction convertPathLoadSpecificationToString(spec: PathLoadSpecification): string {\n return (\n (spec.skip ? \"-\" : \"\") +\n (spec.pathOrPathPrefix === \"*\" ? spec.pathOrPathPrefix : spec.pathOrPathPrefix.toLegacyPath())\n );\n}\n\nexport class CandyApiClient implements ICandyApiClient {\n private readonly httpClient: IHttpClient;\n\n public constructor(\n fetchImpl: Fetch,\n baseUrl: string,\n resourceZone: undefined | string,\n authentication: undefined | AuthenticationMode,\n exceptionLogger?: ExceptionLogger,\n httpStatusHandlers?: HttpStatusHandlers\n ) {\n this.httpClient = new HttpClient(\n fetchImpl,\n baseUrl,\n createAuthenticationProvider(authentication),\n {\n resourceZone: resourceZone,\n },\n exceptionLogger,\n httpStatusHandlers\n );\n }\n\n public forDraft(draftFullId: DraftFullId): ICandyApiDraftClient {\n return new CandyApiDraftClient(this.httpClient, draftFullId);\n }\n\n public async getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse> {\n const paths = inns.map(inn => `@focus/${inn}`);\n const response = await this.httpClient\n .post(this.getDraftUrl(draftFullId, \"get-inner\"))\n .withJsonBody(paths)\n .json<FocusServerResponse>();\n const result: GetByInnResponse = {};\n for (const inn of inns) {\n const innServerValue = response[`@focus/${inn}`]?.value;\n if (innServerValue == undefined) {\n result[inn] = {\n value: undefined,\n error: \"Server does not return inn info\",\n errorCode: FocusServerErrorCode.NoInnError,\n };\n } else {\n result[inn] = {\n value: innServerValue.value ?? undefined,\n errorCode: innServerValue.errorCode ?? undefined,\n error: innServerValue.error ?? undefined,\n };\n }\n }\n return result;\n }\n\n public async getAllGfvs(): Promise<string[]> {\n return this.httpClient.get(`build-server/gfvs`).json<string[]>();\n }\n\n public async forceGetAllGfvs(): Promise<string[]> {\n return this.httpClient.get(`build-server/force-gfvs`).json<string[]>();\n }\n\n public async createDraftFromDrive(\n ns: string,\n fufDriveUri: string,\n abortSignal?: AbortSignal\n ): Promise<CreateDraftResponse> {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft-from-drive`)\n .withQueryParams({\n ns: ns,\n fufDriveUri: fufDriveUri,\n })\n .withAbortSignal(abortSignal)\n .json<CreateDraftResponse>();\n }\n\n public async createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse> {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withAbortSignal(abortSignal)\n .json<CreateDraftResponse>();\n }\n\n public createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n public createDraft(ns: string, gfv: undefined, fufContent: Buffer): Promise<CreateDraftResponse>;\n public async createDraft(ns: string, gfv: undefined | string, fufContent?: Buffer): Promise<CreateDraftResponse> {\n if (gfv == undefined && fufContent != undefined) {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(fufContent)\n .json<CreateDraftResponse>();\n }\n if (gfv != undefined && fufContent == undefined) {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(Buffer.from([]))\n .json<CreateDraftResponse>();\n }\n if (gfv == undefined && fufContent == undefined) {\n throw new Error(\"Cannot create draft: no gfv and no fuf specified\");\n }\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({ gfv: gfv })\n .withContentType(\"application/octet-stream\")\n .withBodyFromBuffer(fufContent)\n .json<CreateDraftResponse>();\n }\n\n public async checkAlive(): Promise<void> {\n await this.httpClient.get(`_status/ping`);\n }\n\n private getDraftUrl(draftFullId: DraftFullId, draftRelatedUrl: string): string {\n return `v1/ns/${draftFullId.ns}/drafts/${draftFullId.draftId}/${draftRelatedUrl}`;\n }\n\n public async getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse> {\n return await this.httpClient\n .get(\"v1/features/flags\")\n .withQueryParams({\n abon: abonId,\n org: orgId,\n user: userId,\n })\n .json<FeatureFlagsResponse>();\n }\n\n public async getWorkspaceDirectoryId(\n orgId: string,\n inn: string,\n resourceType: WorkspaceResourceType\n ): Promise<string> {\n return await this.httpClient\n .get(\"v1/workspace/directoryId\")\n .withQueryParams({\n organizationId: orgId,\n inn: inn,\n resourceType: resourceType,\n })\n .text();\n }\n\n public async convertToPdfAndGetMeta(driveUri: string): Promise<ConvertedPDFMetaResponse> {\n const url = \"v1/files/convert-to-pdf-and-get-meta\";\n try {\n return await this.httpClient\n .get(url)\n .withQueryParams({ driveUri: driveUri })\n .json<ConvertedPDFMetaResponse>();\n } catch (e) {\n if (e instanceof HttpError) {\n if (e.statusCode === 400) {\n throw new ConvertationError(e.message);\n }\n throw new ServerError(e.message);\n }\n throw new ServerError(`Ошибка сервера в ответ на url: ${url}`);\n }\n }\n}\n\nexport class CandyApiDraftClient implements ICandyApiDraftClient {\n private readonly httpClient: IHttpClient;\n private readonly draftFullId: DraftFullId;\n\n private readonly normalizeDownloadLink = (uri: string): string =>\n uri.includes(\"response-content-disposition\") ? uri : `${uri}?response-content-disposition=attachment`;\n\n public constructor(httpClient: IHttpClient, draftFullId: DraftFullId) {\n this.httpClient = httpClient;\n this.draftFullId = draftFullId;\n }\n\n public getHrefToInnerEditor(): string {\n return this.httpClient.url(`inner-editor/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`);\n }\n\n public getHrefToConvertationLog(): string {\n return this.httpClient.url(this.getDraftUrl(\"conversion\"));\n }\n\n public async getInnerFuf(): Promise<string | undefined> {\n return (await this.httpClient.get(this.getDraftUrl(DraftPresentationType.innerFuf))).text();\n }\n\n public async startGetInnerFufTask(): Promise<PollingTaskWithResult<string>> {\n return await this.httpClient\n .post(this.getDraftUrl(DraftPresentationType.innerFuf + \"/get-task\"))\n .json<PollingTaskWithResult<string>>();\n }\n\n public async getInnerFufTask(): Promise<PollingTaskWithResult<string>> {\n return await this.httpClient\n .get(this.getDraftUrl(DraftPresentationType.innerFuf + \"/get-task\"))\n .json<PollingTaskWithResult<string>>();\n }\n\n public getHrefToDownloadInnerFuf(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.innerFuf);\n }\n\n public getHrefToDownloadClientInfo(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.clientInfo);\n }\n\n public getHrefToDownloadFormsClientInfo(): string {\n return this.getHrefDownloadDraftPresentation(DraftPresentationType.formsClientInfo);\n }\n\n public async getErrorLog(): Promise<ServerErrorLog> {\n return this.httpClient.get(this.getDraftPresentationUrl(DraftPresentationType.errorLog)).json<ServerErrorLog>();\n }\n\n public async getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog> {\n return this.httpClient\n .post(this.getDraftUrl(\"errorlog\"))\n .withJsonBody({ checkScenarios: checkScenarios })\n .json<ServerErrorLog>();\n }\n\n public async getTaskById(taskId: string): Promise<ServerTask | undefined> {\n const tasks = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@task/*`])\n .json<GetTasksServerResponse>();\n return tasks[`@task/${taskId}`]?.value;\n }\n\n public async getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined> {\n const response = await this.httpClient\n .get(this.getDraftUrl(\"get-fuf-with-attachments\"))\n .json<FufWithAttachmentsResponse>();\n return response;\n }\n\n public async startGetFufWithAttachmentsTask(): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-fuf-with-attachments-task\"))\n .json<PollingTaskWithResult<FufWithAttachmentsTaskResult>>();\n return response;\n }\n\n public async getFufWithAttachmentsTask(\n format: \"Json\" | \"DriveUri\"\n ): Promise<PollingTaskWithResult<FufWithAttachmentsTaskResult>> {\n const response = await this.httpClient\n .get(this.getDraftUrl(\"get-fuf-with-attachments-task\"))\n .withQueryParams({ format: format })\n .json<PollingTaskWithResult<FufWithAttachmentsTaskResult>>();\n return response;\n }\n\n public async getPartialFuf(rules: string[]): Promise<GetPartialFufResponse | undefined> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-fuf\"))\n .withJsonBody(rules)\n .json<GetPartialFufResponse>();\n return response;\n }\n\n public async getAllTasks(): Promise<ServerTask[]> {\n const tasks = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@task/*`])\n .json<GetTasksServerResponse>();\n return Object.values(tasks).map(x => x.value);\n }\n\n public async downloadFuf(): Promise<void> {\n await this.startGetFufWithAttachmentsTask();\n const response = await waitPollingTask(() => this.getFufWithAttachmentsTask(\"DriveUri\"));\n if (!(\"resultUri\" in response) || !response.resultUri) {\n reject(\"Failed to receive FUF link\");\n }\n window.location.href = this.normalizeDownloadLink(response.resultUri);\n }\n\n public async makeDownloadDriveLink(uri: string, fileName?: string): Promise<void> {\n const url = this.makeDriveLink(uri, fileName);\n this.downloadByUri(url);\n }\n\n private makeDriveLink(uri: string, fileName?: string): string {\n if (fileName) {\n const contentDisposition = this.makeContentDispositionParam(fileName);\n return `${uri}?${contentDisposition}`;\n }\n return this.normalizeDownloadLink(uri);\n }\n\n // Сделано согласно доке (вкладка \"Контент: скачивание\"): https://wiki.skbkontur.ru/pages/viewpage.action?pageId=156699377\n private makeContentDispositionParam(fileName: string): string {\n const name = this.encodeRFC5987ValueChars(fileName);\n const contentDispositionValue = `attachment; filename*=UTF-8''${name}`;\n return `response-content-disposition=${this.encodeRFC5987ValueChars(contentDispositionValue)}`;\n }\n\n // Оригинал - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent#encoding_for_content-disposition_and_link_headers\n private encodeRFC5987ValueChars(str: string) {\n return (\n encodeURIComponent(str)\n // The following creates the sequences %27 %28 %29 %2A (Note that\n // the valid encoding of \"*\" is %2A, which necessitates calling\n // toUpperCase() to properly encode). Although RFC3986 reserves \"!\",\n // RFC5987 does not, so we do not need to escape it.\n .replace(/['()*]/g, c => `%${c.charCodeAt(0).toString(16).toUpperCase()}`)\n // The following are not required for percent-encoding per RFC5987,\n // so we can allow for a little better readability over the wire: |`^\n .replace(/%(7C|60|5E)/g, (_str, hex: string) => String.fromCharCode(parseInt(hex, 16)))\n );\n }\n\n private downloadByUri(uri: string) {\n window.location.href = uri;\n }\n\n public async downloadInner(): Promise<void> {\n const response = await this.httpClient.get(this.getDraftPresentationUrl(DraftPresentationType.inner));\n const responseBlob = await response.blob();\n\n const innerFileBlob = new Blob([responseBlob], {\n type: getContentType(response) ?? \"application/json\",\n });\n const innerFileUrl = window.URL.createObjectURL(innerFileBlob);\n const link = document.createElement(\"a\");\n link.href = innerFileUrl;\n link.download = getFileName(response) ?? \"inner.json\";\n link.click();\n\n link.remove();\n setTimeout(() => {\n window.URL.revokeObjectURL(innerFileUrl);\n }, 250);\n }\n\n public async enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {\n [`@task/${taskId}`]: {\n ...taskInfo,\n id: taskId,\n },\n },\n removed: [],\n });\n }\n\n public async cancelTask(taskId: string): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {},\n removed: [`@task/${taskId}`],\n });\n }\n\n public getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog> {\n return this.httpClient\n .post(this.getDraftUrl(\"error-log-expert\"))\n .withJsonBody({ auo: auo })\n .json<ServerErrorLog>();\n }\n\n public getHrefToErrorLogPdf(errorLogName: string, propsName: string): string {\n return this.httpClient.url(this.getDraftUrl(\"presentations/errorLog/print\"), {\n errorLogName: errorLogName,\n propsDriveName: propsName,\n });\n }\n\n public async clearDraft(): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"clear\"));\n }\n\n public async convertDraftFromPrevGfv({ prevGfvDraftId, gfv }: ConvertDraftRequest): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"convert\")).withQueryParams({\n id: prevGfvDraftId,\n gfv: gfv,\n });\n }\n\n public async sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<IInnerChangeResult> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/patch-with-normalization\"))\n .withQueryParams({\n dataVersion: currentDataVersion,\n normalizerId: normalizerId,\n operationName: operationName ?? undefined,\n })\n .withJsonBody(data)\n .acceptCode(409);\n\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/patch-with-normalization-task\"))\n .withQueryParams({\n dataVersion: currentDataVersion,\n normalizerId: normalizerId,\n operationName: operationName,\n })\n .withJsonBody(data)\n .acceptCode(409);\n return result.status == 200\n ? await result.json<PollingTaskWithResult<IInnerChangeSuccessResult>>()\n : result.status;\n }\n\n public async getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>> {\n const result = await this.httpClient.get(this.getDraftUrl(\"inner/patch-with-normalization-task\"));\n return result.json<PollingTaskWithResult<IInnerChangeSuccessResult>>();\n }\n\n public async sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner\"))\n .withQueryParams({ dataVersion: currentDataVersion, operationName: operationName ?? undefined })\n .withJsonBody(data)\n .acceptCode(409);\n\n const getSuccessResult = async () => {\n const dataResult = await result.json<{ dataVersion?: number }>();\n return {\n dataVersion: dataResult?.dataVersion ?? reject(\"Invalid dataVersion after applying change set.\"),\n };\n };\n\n return result.status == 200 ? await getSuccessResult() : result.status;\n }\n\n public sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult {\n const result = this.httpClient.postSync(this.getDraftUrl(\"inner\"), { dataVersion: currentDataVersion }, data);\n\n const getSuccessResultSync = () => {\n const dataResult = result.json<{ dataVersion?: number }>();\n return {\n dataVersion: dataResult?.dataVersion ?? reject(\"Invalid dataVersion after applying change set.\"),\n };\n };\n return result.status == 200 ? getSuccessResultSync() : result.status;\n }\n\n public async getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse> {\n return await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody(requisiteList)\n .json<ServerRequisitesResponse>();\n }\n\n public async getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse> {\n return await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody(paths)\n .json<ServerInnerResponse>();\n }\n\n public getPartialInner(rules: PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n return this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .json<ServerInnerResponse>();\n }\n\n public async getPartialInnerAsJsonTree(\n rules: PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withQueryParams({ format: \"JsonTree\", useDraftNormalization: !skipNormalization })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .acceptCode(424);\n\n if (response.status === 424) {\n throw new NeedNormalizationError(\"get-partial-inner - Черновик не нормализован\");\n }\n\n return response.json<ServerJsonResponse>();\n }\n\n public async getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse> {\n const convertedRules = rules.map(convertPathLoadSpecificationToString);\n const response = await this.httpClient\n .post(this.getDraftUrl(\"get-partial-inner2\"))\n .withQueryParams(maxInstanceCount != undefined && { maxInstanceCount: maxInstanceCount.toString() })\n .withQueryParams({ useDraftNormalization: !skipNormalization })\n .withJsonBody(convertedRules.length > 0 ? convertedRules : [\"*\"])\n .acceptCode(424);\n\n if (response.status === 424) {\n throw new NeedNormalizationError(\"get-partial-inner2 - Черновик не нормализован\");\n }\n\n return response.json<ServerRawResponse>();\n }\n\n public getDataVersion(): Promise<number> {\n return this.httpClient.get(this.getDraftUrl(\"inner/get-data-version\")).json<number>();\n }\n\n public startNormalizationTask(): Promise<NormalizationProgressTask> {\n return this.httpClient.post(this.getDraftUrl(\"normalization-task\")).json<NormalizationProgressTask>();\n }\n\n public getNormalizationTask(): Promise<NormalizationProgressTask> {\n return this.httpClient.get(this.getDraftUrl(\"normalization-task\")).json<NormalizationProgressTask>();\n }\n\n public async getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse> {\n return await this.httpClient\n .get(this.getDraftPresentationUrl(DraftPresentationType.explanatoryNote))\n .json<CreateExplanatoryNoteResponse>();\n }\n\n public async getAttachmentById(attachmentId: string): Promise<AttachInfo> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@attachment/${attachmentId}`])\n .json<GetAttachmentsResponse>();\n return result[`@attachment/${attachmentId}`]?.value ?? reject();\n }\n\n public async getAllAttachments(): Promise<AttachInfo[]> {\n const result = await this.httpClient\n .post(this.getDraftUrl(\"get-inner\"))\n .withJsonBody([`@attachment/*`])\n .json<GetAttachmentsResponse>();\n return Object.values(result).map(x => x.value);\n }\n\n public async removeAttachments(attachmentIds: readonly string[]): Promise<void> {\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: {},\n removed: attachmentIds.map(id => `@attachment/${id}`),\n });\n }\n\n public async createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void> {\n const changed: Record<string, {}> = {};\n for (const attachment of attachments) {\n changed[`@attachment/${attachment.id}`] = {\n contentUri: attachment.contentUri,\n id: attachment.id,\n meta: attachment.meta,\n };\n }\n await this.httpClient\n .post(this.getDraftPresentationUrl(DraftPresentationType.inner))\n .withQueryParams(strangeOptions)\n .withJsonBody({\n added: [],\n changed: changed,\n removed: [],\n });\n }\n\n public async createDraftAttachment(gfv: string, path: string): Promise<AttachInfo> {\n return await this.httpClient\n .post(this.getDraftUrl(\"external/create-attachment-draft\"))\n .withQueryParams({ gfv: gfv, path: path })\n .json<AttachInfo>();\n }\n\n public async openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"external/open-loaded-attachment-as-draft\"))\n .withQueryParams({ attachmentId: id })\n .acceptCode(413);\n\n if (response.status === 413) {\n const errorData = await response.json<ErrorResponse>();\n if (errorData.errorCode === ErrorCode.FufSizeTooLarge) {\n throw new FufSizeTooLargeError(errorData.message);\n }\n throw new HttpError(errorData.message, response.status);\n }\n return await response.json<AttachInfo>();\n }\n\n public async setPresentation(presentationType: DraftPresentationType, content: string | unknown): Promise<void> {\n let request = this.httpClient.put(this.getDraftPresentationUrl(presentationType));\n if (typeof content === \"string\") {\n request = request.withRawBody(content);\n } else if (isBuffer(content)) {\n request = request.withRawBody(content);\n } else {\n request = request.withJsonBody(content);\n }\n await request;\n }\n\n public async patchPresentation(\n presentationType: DraftPresentationType,\n presentationContent: PresentationContent\n ): Promise<void> {\n await this.httpClient.patch(this.getDraftPresentationUrl(presentationType)).withJsonBody(presentationContent);\n }\n\n public async getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined> {\n const response = await this.httpClient\n .get(`v1/files/get-properties`)\n .withQueryParams({ driveUri: driveUri, ignoreSizeCheck: ignoreSizeCheck ?? false })\n .acceptCode(400)\n .acceptCode(413);\n if (response.status === 400 || response.status === 413 || response.status === 200) {\n return response.json<FileProperties>();\n }\n return undefined;\n }\n\n public async getFileNdsProperties({\n driveUri,\n declarationGfv,\n requestedGfv,\n ignoreSizeCheck,\n }: RequestNdsFileOptions): Promise<FileProperties[] | undefined> {\n const response = await this.httpClient\n .get(`v1/files/get-properties-nds-v2`)\n .withQueryParams({\n driveUri: driveUri,\n ignoreSizeCheck: ignoreSizeCheck ?? false,\n declarationGfv: declarationGfv,\n requiredGfv: requestedGfv,\n })\n .acceptCode(400)\n .acceptCode(413);\n if (response.status === 400 || response.status === 413 || response.status === 200) {\n return response.json<FileProperties[]>();\n }\n return undefined;\n }\n\n public async prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined> {\n const response = await this.httpClient\n .get(`v1/files/prepare-and-get-properties`)\n .withQueryParams({ gfv: gfv, driveUri: driveUri, ignoreSizeCheck: ignoreSizeCheck ?? false })\n .acceptCode(413);\n if (response.status === 400) {\n return undefined;\n }\n if (response.status === 413) {\n const errorData = await response.json<{ errorCode: string; message: string }>();\n if (errorData.errorCode === \"FufSizeTooLarge\") {\n throw new FufSizeTooLargeError(errorData.message);\n }\n throw new HttpError(errorData.message, response.status);\n }\n return await response.json<FileProperties>();\n }\n\n public async uploadAndGetFileProperties(\n driveUris: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse> {\n try {\n const response = await this.httpClient\n .post(`v1/files/upload-and-get-properties`)\n .withQueryParams({ gfv: gfv })\n .withJsonBody(driveUris)\n .withAbortSignal(abortSignal)\n .acceptCode(400)\n .acceptCode(413);\n if (response.status !== 200) {\n const data = await response.json<{ errorCode: ErrorCode; message: string }>();\n return { serverError: data.errorCode, invalidSourceDriveContentNames: \"\", sourcesTotalCount: 0 };\n }\n const data = await response.json<UploadFilePropertiesResponse>();\n return data;\n } catch {\n return {\n serverError: ErrorCode.UnknownError,\n invalidSourceDriveContentNames: \"\",\n sourcesTotalCount: 0,\n };\n }\n }\n\n public async acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(`v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/transfer/combine-multiple`)\n .withJsonBody(files)\n .withAbortSignal(abortSignal)\n .acceptCode(400)\n .acceptCode(413);\n if (response.status !== 200) {\n const data = await response.json<ErrorResponse>();\n return { serverError: data.errorCode };\n }\n return undefined;\n } catch {\n return { serverError: ErrorCode.UnknownError };\n }\n }\n\n public async setFufByDriveUri(driveUri: string): Promise<void> {\n await this.httpClient.put(this.getDraftUrl(\"set-fuf\")).withQueryParams({ driveUri: driveUri });\n }\n\n public async excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(\"v1/files/excels-to-partial-fufs\")\n .withQueryParams({ gfv: gfv, pathToTable: pathToTable })\n .withJsonBody(driveUris);\n if (response.status === 200) {\n return await response.json<ExcelsToPartialFufsResponse>();\n }\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n public async importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined> {\n const response = await this.httpClient\n .post(this.getDraftUrl(\"transfer/import-xmls\"))\n .withQueryParams({\n combineMethod: combineMethod,\n combinatorType: combinatorType,\n importByFuf: isImportByFuf,\n })\n .withJsonBody({ FufDriveUris: driveUris, arguments: args });\n if (response.status === 400) {\n return undefined;\n }\n return await response.json<CombineFufResult>();\n }\n\n public async setDraftSettings(settings: DraftSettings): Promise<void> {\n await this.httpClient.patch(this.getDraftUrl(\"external/set-settings\")).withJsonBody(settings);\n }\n\n public async getDraftSettings(): Promise<DraftSettings> {\n const response = await this.httpClient.get(this.getDraftUrl(\"external/get-settings\"));\n\n return response.json<DraftSettings>();\n }\n\n public async normalizeByRules(rules: string): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"test-normalize\")).withJsonBody(rules);\n }\n\n private getHrefDownloadDraftPresentation(presentationType: DraftPresentationType): string {\n return this.httpClient.url(this.getDraftPresentationUrl(presentationType));\n }\n\n private getDraftUrl(draftRelatedUrl: string): string {\n return `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/${draftRelatedUrl}`;\n }\n\n private getDraftPresentationUrl(presentationType: DraftPresentationType): string {\n return this.getDraftUrl(`presentations/${presentationType.toString()}`);\n }\n\n public async setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult> {\n const uri = this.getDraftUrl(\"inner/set-multiple-with-normalization\");\n const finalRules = rules.map(x => ({ ...x, path: convertToLegacyPath(x.path) }));\n const result = await this.httpClient.patch(uri).withJsonBody(finalRules);\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async normalizeDirtyMasks(): Promise<IInnerChangeResult> {\n const uri = this.getDraftUrl(\"inner/normalize-dirty-masks\");\n const result = await this.httpClient.post(uri);\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async searchInstancesByText(\n text: string,\n pathsPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]> {\n const maxInstanceCountParams = maxInstanceCount != undefined ? { maxInstanceCount: maxInstanceCount } : {};\n const params = { searchString: text, pathsPrefix: pathsPrefix, ...maxInstanceCountParams };\n return this.httpClient\n .post(this.getDraftUrl(\"inner/search-by-string\"))\n .withQueryParams(params)\n .withJsonBody(pathsToSearch)\n .json<string[]>();\n }\n\n public async queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse> {\n return this.httpClient\n .post(this.getDraftUrl(\"inner/query-collection\"))\n .withJsonBody(request)\n .withAbortSignal(abortSignal)\n .json<InnerQueryResponse>();\n }\n\n public async resolveInnerPath(\n request: ResolveInnerPathRequest,\n abortSignal?: AbortSignal\n ): Promise<ResolvePathResponse> {\n return this.httpClient\n .post(this.getDraftUrl(\"inner/resolve-inner-path\"))\n .withJsonBody(request)\n .withAbortSignal(abortSignal)\n .json<ResolvePathResponse>();\n }\n\n public async customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult> {\n const params = { normalizerId: normalizerId };\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/custom-normalize\"))\n .withQueryParams(params)\n .withJsonBody(pathPrefixes.map(x => x.toString()))\n .withAbortSignal(abortSignal);\n\n return result.status == 200 ? await result.json<IInnerChangeSuccessResult>() : result.status;\n }\n\n public async startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>> {\n const params = { normalizerId: normalizerId, operationName: operationName ?? undefined };\n const args = { PathPrefixes: pathPrefixes.map(x => x.toString()) };\n const result = await this.httpClient\n .post(this.getDraftUrl(\"inner/custom-normalization-task\"))\n .withQueryParams(params)\n .withJsonBody(args);\n return result.json<PollingTaskWithResult<IInnerChangeResult>>();\n }\n\n public async getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>> {\n const result = await this.httpClient.get(this.getDraftUrl(\"inner/custom-normalization-task\"));\n return result.json<PollingTaskWithResult<IInnerChangeResult>>();\n }\n\n public async importEmployees(request: ImportEmployeesRequest): Promise<void> {\n await this.httpClient.patch(this.getDraftUrl(\"staff\")).withJsonBody(request);\n }\n\n public async deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"inner/delete-instances\")).withJsonBody(deletingRules);\n }\n\n public async runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void> {\n const queryParams = { actionId: actionId };\n await this.httpClient\n .post(this.getDraftUrl(\"inner/mass-action\"))\n .withQueryParams(queryParams)\n .withJsonBody(parameters);\n }\n\n public print(type: PrintType, body?: string[]): Promise<PrintResponse> {\n return this.httpClient\n .post(this.getDraftUrl(`presentations/inner/print/${type}`))\n .withJsonBody(body)\n .json<PrintResponse>();\n }\n\n public async printExcel(pathToTable: string): Promise<PrintResponse | undefined> {\n try {\n const response = await this.httpClient\n .post(this.getDraftUrl(`presentations/table/print`))\n .withQueryParams({ pathToTable: pathToTable });\n if (response.status === 200) {\n const tableExcel = response.json<PrintResponse>();\n return tableExcel;\n }\n return undefined;\n } catch {\n return undefined;\n }\n }\n\n public async checkByPopd(): Promise<CandyPopdProtocol> {\n const response = await this.httpClient.get(\n `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}/checkByPopd`\n );\n\n return response.json<CandyPopdProtocol>();\n }\n\n public async getHistory(): Promise<InnerHistoryResponse | HttpStatusCode> {\n const url = this.getDraftUrl(\"innerhistory\");\n const body = await this.httpClient\n .get(url)\n .acceptCode(400)\n .acceptCode(404)\n .acceptCode(500)\n .json<InnerHistoryResponse>();\n return body.map(item => ({\n ...item,\n DateUtc: convertDateFromStringIfNeeded(item.DateUtc),\n ChangesExpiresUtc: convertDateFromStringIfNeeded(item.ChangesExpiresUtc),\n }));\n }\n\n public async undoToChange(changeGUID: string): Promise<InnerHistoryUndoResponseWithStatus> {\n const url = this.getDraftUrl(`innerhistory/${changeGUID}`);\n const response = await this.httpClient.post(url).acceptCode(400).acceptCode(500);\n const innerHistoryUndoResponse = await response.json<InnerHistoryUndoResponse>();\n\n return {\n status: response.status,\n response: innerHistoryUndoResponse,\n };\n }\n\n public async getGFV(): Promise<string> {\n const url = `v1/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`;\n const body = await this.httpClient.get(url).json<GFVResponse>();\n const gfv = body.GFV;\n return `${gfv.Group}${gfv.Format}${gfv.Variant}`;\n }\n\n public async getUser(): Promise<GetUserResponse> {\n const url = `v1/user`;\n const body = await this.httpClient.get(url).json<GetUserResponse>();\n return body;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ServerError = exports.ErrorCode = exports.ConvertationError = void 0;
7
+ let ErrorCode = exports.ErrorCode = /*#__PURE__*/function (ErrorCode) {
8
+ ErrorCode["FufSizeTooLarge"] = "FufSizeTooLarge";
9
+ ErrorCode["BadRequest"] = "BadRequest";
10
+ ErrorCode["UnknownError"] = "UnknownError";
11
+ return ErrorCode;
12
+ }({});
13
+ class CandyApiError extends Error {
14
+ constructor(data) {
15
+ if (typeof data === "string") {
16
+ super(data);
17
+ return;
18
+ }
19
+ super(`${data.errorCode}: ${data.message}`);
20
+ }
21
+ }
22
+ class ServerError extends CandyApiError {}
23
+ exports.ServerError = ServerError;
24
+ class ConvertationError extends CandyApiError {}
25
+ exports.ConvertationError = ConvertationError;
26
+ //# sourceMappingURL=CandyApiErrors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CandyApiErrors.js","names":["ErrorCode","exports","CandyApiError","Error","constructor","data","errorCode","message","ServerError","ConvertationError"],"sources":["../../../../Common/CandyApiClient/CandyApiErrors.ts"],"sourcesContent":["export enum ErrorCode {\n FufSizeTooLarge = \"FufSizeTooLarge\",\n BadRequest = \"BadRequest\",\n UnknownError = \"UnknownError\",\n}\n\nexport interface ErrorResponse {\n errorCode: ErrorCode;\n message: string;\n}\n\nclass CandyApiError extends Error {\n public constructor(data: ErrorResponse | string) {\n if (typeof data === \"string\") {\n super(data);\n return;\n }\n super(`${data.errorCode}: ${data.message}`);\n }\n}\n\nexport class ServerError extends CandyApiError {}\n\nexport class ConvertationError extends CandyApiError {}\n"],"mappings":";;;;;;IAAYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA;AAWrB,MAAME,aAAa,SAASC,KAAK,CAAC;EACvBC,WAAWA,CAACC,IAA4B,EAAE;IAC7C,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC1B,KAAK,CAACA,IAAI,CAAC;MACX;IACJ;IACA,KAAK,CAAC,GAAGA,IAAI,CAACC,SAAS,KAAKD,IAAI,CAACE,OAAO,EAAE,CAAC;EAC/C;AACJ;AAEO,MAAMC,WAAW,SAASN,aAAa,CAAC;AAAED,OAAA,CAAAO,WAAA,GAAAA,WAAA;AAE1C,MAAMC,iBAAiB,SAASP,aAAa,CAAC;AAAED,OAAA,CAAAQ,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FakeCandyApiDraftClient = exports.FakeCandyApiClient = void 0;
7
7
  var _Errors = require("../Errors");
8
- var _CandyApiClient = require("./CandyApiClient");
8
+ var _CandyApiErrors = require("./CandyApiErrors");
9
9
  class FakeCandyApiClient {
10
10
  getAllGfvs() {
11
11
  return Promise.resolve([]);
@@ -43,6 +43,9 @@ class FakeCandyApiClient {
43
43
  };
44
44
  return Promise.resolve(response);
45
45
  }
46
+ convertToPdfAndGetMeta(_driveUri) {
47
+ throw new _Errors.NotImplementedError();
48
+ }
46
49
  }
47
50
  exports.FakeCandyApiClient = FakeCandyApiClient;
48
51
  class FakeCandyApiDraftClient {
@@ -154,7 +157,7 @@ class FakeCandyApiDraftClient {
154
157
  }
155
158
  uploadAndGetFileProperties() {
156
159
  return Promise.resolve({
157
- serverError: _CandyApiClient.ServerErrors.UnknownError,
160
+ serverError: _CandyApiErrors.ErrorCode.UnknownError,
158
161
  sourcesTotalCount: 0,
159
162
  invalidSourceDriveContentNames: ""
160
163
  });
@@ -316,7 +319,9 @@ class FakeCandyApiDraftClient {
316
319
  return Promise.resolve([]);
317
320
  }
318
321
  async undoToChange() {
319
- return Promise.resolve(200);
322
+ return Promise.resolve({
323
+ status: 200
324
+ });
320
325
  }
321
326
  async getGFV() {
322
327
  return Promise.resolve("");