@kontur.candy/tools 2.249.0 → 2.251.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 (73) hide show
  1. package/distr/Common/CandyApiClient/CandyApiClient.js +50 -16
  2. package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
  3. package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
  4. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js +6 -0
  5. package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js.map +1 -0
  6. package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -1
  7. package/distr/Common/DriveIntegration/DriveApiClientExtension.js +53 -0
  8. package/distr/Common/DriveIntegration/DriveApiClientExtension.js.map +1 -0
  9. package/distr/Common/DriveIntegration/DriveHelpers.js +24 -0
  10. package/distr/Common/DriveIntegration/DriveHelpers.js.map +1 -0
  11. package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js +23 -0
  12. package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js.map +1 -0
  13. package/distr/Common/FSPrinterClient/FSPrinterClient.js +18 -4
  14. package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -1
  15. package/distr/Common/hashUtils.js +9 -0
  16. package/distr/Common/hashUtils.js.map +1 -1
  17. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js +2 -12
  18. package/distr/Tools/src/BuildTasks/ClientJS/BuildClientJsTask.js.map +1 -1
  19. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js +2 -3
  20. package/distr/Tools/src/BuildTasks/Engine/BuildLocalEngineTask.js.map +1 -1
  21. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js +2 -27
  22. package/distr/Tools/src/BuildTasks/EngineStructureUtils.js.map +1 -1
  23. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js +2 -2
  24. package/distr/Tools/src/BuildTasks/Form/GenerateForm.js.map +1 -1
  25. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js +0 -3
  26. package/distr/Tools/src/BuildTasks/Form/NullFormGenerator.js.map +1 -1
  27. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js +0 -6
  28. package/distr/Tools/src/BuildTasks/Form/WriteFLangNormalizationFiles.js.map +1 -1
  29. package/distr/Tools/src/BuildTasks/FormSource.js +6 -0
  30. package/distr/Tools/src/BuildTasks/FormSource.js.map +1 -0
  31. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js +3 -10
  32. package/distr/Tools/src/BuildTasks/Generator/BuildGeneratorFromSourcesTask.js.map +1 -1
  33. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js +18 -70
  34. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/CreateAsyncGenerator.js.map +1 -1
  35. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js +17 -67
  36. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/GeneratorRequireUtils.js.map +1 -1
  37. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +6 -6
  38. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
  39. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js +0 -9
  40. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/RequireUncached.js.map +1 -1
  41. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +3 -3
  42. package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
  43. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +6 -9
  44. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
  45. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +38 -61
  46. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
  47. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +6 -7
  48. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -1
  49. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +6 -7
  50. package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -1
  51. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +13 -26
  52. package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
  53. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +4 -4
  54. package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
  55. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js +2 -2
  56. package/distr/Tools/src/CLICommands/Localization/RunLocalization.js.map +1 -1
  57. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js +1 -2
  58. package/distr/Tools/src/CLICommands/SugarExtractor/ExtractTextsFromSugarController.js.map +1 -1
  59. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js +1 -3
  60. package/distr/Tools/src/CLICommands/SugarExtractor/Utils.js.map +1 -1
  61. package/distr/Tools/src/CandyCLI.js +3 -3
  62. package/distr/Tools/src/CandyCLI.js.map +1 -1
  63. package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
  64. package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
  65. package/distr/Tools/src/ReadFarmConfig.js +1 -2
  66. package/distr/Tools/src/ReadFarmConfig.js.map +1 -1
  67. package/package.json +1 -1
  68. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js +0 -14
  69. package/distr/Tools/src/BuildTasks/ClientJS/IsWebpack5.js.map +0 -1
  70. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js +0 -46
  71. package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ProcessSugarWorker.js.map +0 -1
  72. package/distr/Tools/src/BuildTasks/ReadFormSource.js +0 -114
  73. package/distr/Tools/src/BuildTasks/ReadFormSource.js.map +0 -1
@@ -9,6 +9,7 @@ var _HttpClient = require("../HttpClient/HttpClient");
9
9
  var _AuthenticationMode = require("../HttpClient/AuthenticationMode");
10
10
  var _ModelPath = require("../ModelPath/ModelPath");
11
11
  var _TypeConversionHelper = require("../TypeConversionHelper");
12
+ var _ensureCandyFrontSrvDriveUri = require("../DriveIntegration/ensureCandyFrontSrvDriveUri");
12
13
  var _FocusTypes = require("./Types/Focus/FocusTypes");
13
14
  var _DraftPresentationType = require("./Types/Presentations/DraftPresentationType");
14
15
  var _IsBuffer = require("./IsBuffer");
@@ -27,14 +28,16 @@ function convertPathLoadSpecificationToString(spec) {
27
28
  return (spec.skip ? "-" : "") + (spec.pathOrPathPrefix === "*" ? spec.pathOrPathPrefix : spec.pathOrPathPrefix.toLegacyPath());
28
29
  }
29
30
  class CandyApiClient {
30
- constructor(fetchImpl, baseUrl, resourceZone, authentication, exceptionLogger, httpStatusHandlers) {
31
+ constructor(fetchImpl, baseUrl, resourceZone, authentication, exceptionLogger, httpStatusHandlers, driveHelpers) {
31
32
  this.httpClient = void 0;
33
+ this.driveHelpers = void 0;
32
34
  this.httpClient = new _HttpClient.HttpClient(fetchImpl, baseUrl, (0, _AuthenticationMode.createAuthenticationProvider)(authentication), {
33
35
  resourceZone: resourceZone
34
36
  }, exceptionLogger, httpStatusHandlers);
37
+ this.driveHelpers = driveHelpers;
35
38
  }
36
39
  forDraft(draftFullId) {
37
- return new CandyApiDraftClient(this.httpClient, draftFullId);
40
+ return new CandyApiDraftClient(this.httpClient, draftFullId, this.driveHelpers);
38
41
  }
39
42
  async getInfoByInns(draftFullId, inns) {
40
43
  const paths = inns.map(inn => `@focus/${inn}`);
@@ -66,15 +69,32 @@ class CandyApiClient {
66
69
  async forceGetAllGfvs() {
67
70
  return this.httpClient.get(`build-server/force-gfvs`).json();
68
71
  }
69
- async createDraftFromDrive(ns, fufDriveUri, abortSignal) {
72
+ async createDraftFromDrive({
73
+ ns,
74
+ fufDriveUri,
75
+ abortSignal,
76
+ scenario
77
+ }) {
78
+ const fufDriveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(fufDriveUri, this.driveHelpers);
70
79
  return await this.httpClient.post(`v1/ns/${ns}/create-draft-from-drive`).withQueryParams({
71
80
  ns: ns,
72
- fufDriveUri: fufDriveUri
81
+ fufDriveUri: fufDriveUriChecked,
82
+ additionalProperties: scenario ? JSON.stringify({
83
+ scenario: scenario
84
+ }) : undefined
73
85
  }).withAbortSignal(abortSignal).json();
74
86
  }
75
- async createEmptyDraft(ns, gfv, abortSignal) {
87
+ async createEmptyDraft({
88
+ ns,
89
+ gfv,
90
+ abortSignal,
91
+ scenario
92
+ }) {
76
93
  return await this.httpClient.post(`v1/ns/${ns}/create-draft`).withQueryParams({
77
- gfv: gfv
94
+ gfv: gfv,
95
+ additionalProperties: scenario ? JSON.stringify({
96
+ scenario: scenario
97
+ }) : undefined
78
98
  }).withAbortSignal(abortSignal).json();
79
99
  }
80
100
  async createDraft(ns, gfv, fufContent) {
@@ -122,9 +142,10 @@ class CandyApiClient {
122
142
  }
123
143
  async convertFile(endpoint, driveUri) {
124
144
  const url = `v1/files/${endpoint}`;
145
+ const driveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(driveUri, this.driveHelpers);
125
146
  try {
126
147
  return await this.httpClient.get(url).withQueryParams({
127
- driveUri: driveUri
148
+ driveUri: driveUriChecked
128
149
  }).json();
129
150
  } catch (e) {
130
151
  if (e instanceof _HttpClient.HttpError) {
@@ -139,12 +160,14 @@ class CandyApiClient {
139
160
  }
140
161
  exports.CandyApiClient = CandyApiClient;
141
162
  class CandyApiDraftClient {
142
- constructor(httpClient, draftFullId) {
163
+ constructor(httpClient, draftFullId, driveHelpers) {
143
164
  this.httpClient = void 0;
144
165
  this.draftFullId = void 0;
166
+ this.driveHelpers = void 0;
145
167
  this.normalizeDownloadLink = uri => uri.includes("response-content-disposition") ? uri : `${uri}?response-content-disposition=attachment`;
146
168
  this.httpClient = httpClient;
147
169
  this.draftFullId = draftFullId;
170
+ this.driveHelpers = driveHelpers;
148
171
  }
149
172
  getHrefToInnerEditor() {
150
173
  return this.httpClient.url(`inner-editor/ns/${this.draftFullId.ns}/drafts/${this.draftFullId.draftId}`);
@@ -424,8 +447,12 @@ class CandyApiDraftClient {
424
447
  async createOrUpdateAttachments(attachments) {
425
448
  const changed = {};
426
449
  for (const attachment of attachments) {
450
+ let contentUriChecked = attachment.contentUri;
451
+ if (attachment.contentUri) {
452
+ contentUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(attachment.contentUri, this.driveHelpers);
453
+ }
427
454
  changed[`@attachment/${attachment.id}`] = {
428
- contentUri: attachment.contentUri,
455
+ contentUri: contentUriChecked,
429
456
  id: attachment.id,
430
457
  meta: attachment.meta
431
458
  };
@@ -470,8 +497,9 @@ class CandyApiDraftClient {
470
497
  await this.httpClient.patch(this.getDraftPresentationUrl(presentationType)).withJsonBody(presentationContent);
471
498
  }
472
499
  async getFileProperties(driveUri, ignoreSizeCheck) {
500
+ const driveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(driveUri, this.driveHelpers);
473
501
  const response = await this.httpClient.get(`v1/files/get-properties`).withQueryParams({
474
- driveUri: driveUri,
502
+ driveUri: driveUriChecked,
475
503
  ignoreSizeCheck: ignoreSizeCheck !== null && ignoreSizeCheck !== void 0 ? ignoreSizeCheck : false
476
504
  }).acceptCode(400).acceptCode(413);
477
505
  if (response.status === 400 || response.status === 413 || response.status === 200) {
@@ -485,8 +513,9 @@ class CandyApiDraftClient {
485
513
  requestedGfv,
486
514
  ignoreSizeCheck
487
515
  }) {
516
+ const driveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(driveUri, this.driveHelpers);
488
517
  const taskResponse = await this.httpClient.post(`v1/files/put-get-properties-nds-task-v2`).withJsonBody({
489
- driveUri: driveUri,
518
+ driveUri: driveUriChecked,
490
519
  ignoreSizeCheck: ignoreSizeCheck !== null && ignoreSizeCheck !== void 0 ? ignoreSizeCheck : false,
491
520
  declarationGfv: declarationGfv,
492
521
  requiredGfv: requestedGfv
@@ -504,9 +533,10 @@ class CandyApiDraftClient {
504
533
  return undefined;
505
534
  }
506
535
  async prepareAndGetFileProperties(driveUri, gfv, ignoreSizeCheck) {
536
+ const driveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(driveUri, this.driveHelpers);
507
537
  const response = await this.httpClient.get(`v1/files/prepare-and-get-properties`).withQueryParams({
508
538
  gfv: gfv,
509
- driveUri: driveUri,
539
+ driveUri: driveUriChecked,
510
540
  ignoreSizeCheck: ignoreSizeCheck !== null && ignoreSizeCheck !== void 0 ? ignoreSizeCheck : false
511
541
  }).acceptCode(413);
512
542
  if (response.status === 400) {
@@ -523,9 +553,10 @@ class CandyApiDraftClient {
523
553
  }
524
554
  async uploadAndGetFileProperties(driveUris, gfv, abortSignal) {
525
555
  try {
556
+ const driveUrisChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUris)(driveUris, this.driveHelpers);
526
557
  const response = await this.httpClient.post(`v1/files/upload-and-get-properties`).withQueryParams({
527
558
  gfv: gfv
528
- }).withJsonBody(driveUris).withAbortSignal(abortSignal).acceptCode(400).acceptCode(413);
559
+ }).withJsonBody(driveUrisChecked).withAbortSignal(abortSignal).acceptCode(400).acceptCode(413);
529
560
  if (response.status !== 200) {
530
561
  const data = await response.json();
531
562
  return {
@@ -561,16 +592,18 @@ class CandyApiDraftClient {
561
592
  }
562
593
  }
563
594
  async setFufByDriveUri(driveUri) {
595
+ const driveUriChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUri)(driveUri, this.driveHelpers);
564
596
  await this.httpClient.put(this.getDraftUrl("set-fuf")).withQueryParams({
565
- driveUri: driveUri
597
+ driveUri: driveUriChecked
566
598
  });
567
599
  }
568
600
  async excelsToPartialFufs(gfv, pathToTable, driveUris) {
569
601
  try {
602
+ const driveUrisChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUris)(driveUris, this.driveHelpers);
570
603
  const response = await this.httpClient.post("v1/files/excels-to-partial-fufs").withQueryParams({
571
604
  gfv: gfv,
572
605
  pathToTable: pathToTable
573
- }).withJsonBody(driveUris);
606
+ }).withJsonBody(driveUrisChecked);
574
607
  if (response.status === 200) {
575
608
  return await response.json();
576
609
  }
@@ -581,12 +614,13 @@ class CandyApiDraftClient {
581
614
  }
582
615
  async importXmls(driveUris, combineMethod, combinatorType, isImportByFuf, args) {
583
616
  try {
617
+ const driveUrisChecked = await (0, _ensureCandyFrontSrvDriveUri.ensureCandyFrontSrvDriveUris)(driveUris, this.driveHelpers);
584
618
  const response = await this.httpClient.post(this.getDraftUrl("transfer/import-xmls")).withQueryParams({
585
619
  combineMethod: combineMethod,
586
620
  combinatorType: combinatorType,
587
621
  importByFuf: isImportByFuf
588
622
  }).withJsonBody({
589
- FufDriveUris: driveUris,
623
+ FufDriveUris: driveUrisChecked,
590
624
  arguments: args
591
625
  });
592
626
  if (response.status === 400) {
@@ -1 +1 @@
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","kpp","organizationId","text","convertToPdfAndGetMeta","driveUri","convertFile","convertToPdf","endpoint","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","restoreToSourceFuf","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","taskResponse","requiredGfv","taskResult","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 ConvertedPdfResponse,\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 kpp?: string\n ): Promise<string> {\n return await this.httpClient\n .get(\"v1/workspace/directoryId\")\n .withQueryParams({\n organizationId: orgId,\n inn: inn,\n kpp: kpp,\n resourceType: resourceType,\n })\n .text();\n }\n\n public async convertToPdfAndGetMeta(driveUri: string): Promise<ConvertedPDFMetaResponse> {\n return this.convertFile<ConvertedPDFMetaResponse>(\"convert-to-pdf-and-get-meta\", driveUri);\n }\n\n public async convertToPdf(driveUri: string): Promise<ConvertedPdfResponse> {\n return this.convertFile<ConvertedPdfResponse>(\"convert-to-pdf\", driveUri);\n }\n\n private async convertFile<T>(endpoint: string, driveUri: string): Promise<T> {\n const url = `v1/files/${endpoint}`;\n\n try {\n return await this.httpClient.get(url).withQueryParams({ driveUri: driveUri }).json<T>();\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 restoreToSourceFuf(): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"restore-to-source-fuf\"));\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 taskResponse = await this.httpClient.post(`v1/files/put-get-properties-nds-task-v2`).withJsonBody({\n driveUri: driveUri,\n ignoreSizeCheck: ignoreSizeCheck ?? false,\n declarationGfv: declarationGfv,\n requiredGfv: requestedGfv,\n });\n\n const taskResult = await taskResponse.json<{ id: string }>();\n\n if (!taskResult?.id) {\n return undefined;\n }\n\n const result = await waitPollingTask<FileProperties[]>(() =>\n this.httpClient.get(\"v1/files/get-properties-nds-task-v2\").withQueryParams({ taskId: taskResult.id }).json()\n );\n\n if (result) {\n return result;\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 try {\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 // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return undefined;\n }\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":[]}
1
+ {"version":3,"file":"CandyApiClient.js","names":["_TypingUtils","require","_HttpClient","_AuthenticationMode","_ModelPath","_TypeConversionHelper","_ensureCandyFrontSrvDriveUri","_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","driveHelpers","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","scenario","fufDriveUriChecked","ensureCandyFrontSrvDriveUri","withQueryParams","additionalProperties","JSON","stringify","withAbortSignal","createEmptyDraft","gfv","createDraft","fufContent","withContentType","withBodyFromBuffer","Buffer","from","Error","checkAlive","draftRelatedUrl","draftId","getFeatureFlags","abonId","orgId","userId","abon","org","user","getWorkspaceDirectoryId","resourceType","kpp","organizationId","text","convertToPdfAndGetMeta","driveUri","convertFile","convertToPdf","endpoint","url","driveUriChecked","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","restoreToSourceFuf","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","contentUriChecked","contentUri","meta","createDraftAttachment","path","openLoadedAttachmentAsDraft","errorData","ErrorCode","FufSizeTooLarge","FufSizeTooLargeError","setPresentation","presentationType","content","request","put","withRawBody","isBuffer","patchPresentation","presentationContent","patch","getFileProperties","ignoreSizeCheck","getFileNdsProperties","declarationGfv","requestedGfv","taskResponse","requiredGfv","taskResult","prepareAndGetFileProperties","uploadAndGetFileProperties","driveUris","driveUrisChecked","ensureCandyFrontSrvDriveUris","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\";\nimport { DriveHelpers } from \"../DriveIntegration/DriveHelpers\";\nimport {\n ensureCandyFrontSrvDriveUri,\n ensureCandyFrontSrvDriveUris,\n} from \"../DriveIntegration/ensureCandyFrontSrvDriveUri\";\n\nimport {\n CheckScenarioType,\n ConvertedPDFMetaResponse,\n ConvertedPdfResponse,\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 { CreateDraftFromDriveParams, CreateEmptyDraftParams } from \"./Types/CreateDraft/CreateDraftParams\";\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, ErrorCode, ErrorResponse, ServerError } 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 private readonly driveHelpers?: DriveHelpers;\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 driveHelpers?: DriveHelpers\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 this.driveHelpers = driveHelpers;\n }\n\n public forDraft(draftFullId: DraftFullId): ICandyApiDraftClient {\n return new CandyApiDraftClient(this.httpClient, draftFullId, this.driveHelpers);\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,\n fufDriveUri,\n abortSignal,\n scenario,\n }: CreateDraftFromDriveParams): Promise<CreateDraftResponse> {\n const fufDriveUriChecked = await ensureCandyFrontSrvDriveUri(fufDriveUri, this.driveHelpers);\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft-from-drive`)\n .withQueryParams({\n ns: ns,\n fufDriveUri: fufDriveUriChecked,\n additionalProperties: scenario ? JSON.stringify({ scenario: scenario }) : undefined,\n })\n .withAbortSignal(abortSignal)\n .json<CreateDraftResponse>();\n }\n\n public async createEmptyDraft({\n ns,\n gfv,\n abortSignal,\n scenario,\n }: CreateEmptyDraftParams): Promise<CreateDraftResponse> {\n return await this.httpClient\n .post(`v1/ns/${ns}/create-draft`)\n .withQueryParams({\n gfv: gfv,\n additionalProperties: scenario ? JSON.stringify({ scenario: scenario }) : undefined,\n })\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 kpp?: string\n ): Promise<string> {\n return await this.httpClient\n .get(\"v1/workspace/directoryId\")\n .withQueryParams({\n organizationId: orgId,\n inn: inn,\n kpp: kpp,\n resourceType: resourceType,\n })\n .text();\n }\n\n public async convertToPdfAndGetMeta(driveUri: string): Promise<ConvertedPDFMetaResponse> {\n return this.convertFile<ConvertedPDFMetaResponse>(\"convert-to-pdf-and-get-meta\", driveUri);\n }\n\n public async convertToPdf(driveUri: string): Promise<ConvertedPdfResponse> {\n return this.convertFile<ConvertedPdfResponse>(\"convert-to-pdf\", driveUri);\n }\n\n private async convertFile<T>(endpoint: string, driveUri: string): Promise<T> {\n const url = `v1/files/${endpoint}`;\n const driveUriChecked = await ensureCandyFrontSrvDriveUri(driveUri, this.driveHelpers);\n try {\n return await this.httpClient.get(url).withQueryParams({ driveUri: driveUriChecked }).json<T>();\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 private readonly driveHelpers?: DriveHelpers;\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, driveHelpers?: DriveHelpers) {\n this.httpClient = httpClient;\n this.draftFullId = draftFullId;\n this.driveHelpers = driveHelpers;\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 restoreToSourceFuf(): Promise<void> {\n await this.httpClient.post(this.getDraftUrl(\"restore-to-source-fuf\"));\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 let contentUriChecked = attachment.contentUri;\n if (attachment.contentUri) {\n contentUriChecked = await ensureCandyFrontSrvDriveUri(attachment.contentUri, this.driveHelpers);\n }\n changed[`@attachment/${attachment.id}`] = {\n contentUri: contentUriChecked,\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 driveUriChecked = await ensureCandyFrontSrvDriveUri(driveUri, this.driveHelpers);\n const response = await this.httpClient\n .get(`v1/files/get-properties`)\n .withQueryParams({ driveUri: driveUriChecked, 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 driveUriChecked = await ensureCandyFrontSrvDriveUri(driveUri, this.driveHelpers);\n const taskResponse = await this.httpClient.post(`v1/files/put-get-properties-nds-task-v2`).withJsonBody({\n driveUri: driveUriChecked,\n ignoreSizeCheck: ignoreSizeCheck ?? false,\n declarationGfv: declarationGfv,\n requiredGfv: requestedGfv,\n });\n\n const taskResult = await taskResponse.json<{ id: string }>();\n\n if (!taskResult?.id) {\n return undefined;\n }\n\n const result = await waitPollingTask<FileProperties[]>(() =>\n this.httpClient.get(\"v1/files/get-properties-nds-task-v2\").withQueryParams({ taskId: taskResult.id }).json()\n );\n\n if (result) {\n return result;\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 driveUriChecked = await ensureCandyFrontSrvDriveUri(driveUri, this.driveHelpers);\n const response = await this.httpClient\n .get(`v1/files/prepare-and-get-properties`)\n .withQueryParams({ gfv: gfv, driveUri: driveUriChecked, 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 driveUrisChecked = await ensureCandyFrontSrvDriveUris(driveUris, this.driveHelpers);\n const response = await this.httpClient\n .post(`v1/files/upload-and-get-properties`)\n .withQueryParams({ gfv: gfv })\n .withJsonBody(driveUrisChecked)\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 const driveUriChecked = await ensureCandyFrontSrvDriveUri(driveUri, this.driveHelpers);\n await this.httpClient.put(this.getDraftUrl(\"set-fuf\")).withQueryParams({ driveUri: driveUriChecked });\n }\n\n public async excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined> {\n try {\n const driveUrisChecked = await ensureCandyFrontSrvDriveUris(driveUris, this.driveHelpers);\n const response = await this.httpClient\n .post(\"v1/files/excels-to-partial-fufs\")\n .withQueryParams({ gfv: gfv, pathToTable: pathToTable })\n .withJsonBody(driveUrisChecked);\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 try {\n const driveUrisChecked = await ensureCandyFrontSrvDriveUris(driveUris, this.driveHelpers);\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: driveUrisChecked, arguments: args });\n if (response.status === 400) {\n return undefined;\n }\n return await response.json<CombineFufResult>();\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return undefined;\n }\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":[]}