@kontur.candy/tools 2.248.0 → 2.250.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.
- package/distr/Common/CandyApiClient/CandyApiClient.js +50 -16
- package/distr/Common/CandyApiClient/CandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/ICandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js +6 -0
- package/distr/Common/CandyApiClient/Types/CreateDraft/CreateDraftParams.js.map +1 -0
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/FeatureFlags/FeatureFlagsResponse.js.map +1 -1
- package/distr/Common/DriveIntegration/DriveApiClientExtension.js +53 -0
- package/distr/Common/DriveIntegration/DriveApiClientExtension.js.map +1 -0
- package/distr/Common/DriveIntegration/DriveHelpers.js +24 -0
- package/distr/Common/DriveIntegration/DriveHelpers.js.map +1 -0
- package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js +23 -0
- package/distr/Common/DriveIntegration/ensureCandyFrontSrvDriveUri.js.map +1 -0
- package/distr/Common/FSPrinterClient/FSPrinterClient.js +18 -4
- package/distr/Common/FSPrinterClient/FSPrinterClient.js.map +1 -1
- package/distr/Common/KCLangRuntimeUtils.js +9 -0
- package/distr/Common/KCLangRuntimeUtils.js.map +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteKClangFiles.js +21 -0
- package/distr/Tools/src/BuildTasks/Form/WriteKClangFiles.js.map +1 -0
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js +1 -1
- package/distr/Tools/src/BuildTasks/Generator/GeneratorWorker/ReadSourcesAndProcessSugarWorker.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js +2 -2
- package/distr/Tools/src/CLICommands/BuildForms/RunBuildForms.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +3 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js +36 -53
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/BuildFormDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js +6 -7
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/ClientJsDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js +6 -7
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/DevServers/EngineDevServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js +13 -26
- package/distr/Tools/src/CLICommands/BuildServer/RunBuildServer.js.map +1 -1
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js +2 -2
- package/distr/Tools/src/CLICommands/DevBuild/RunDevBuild.js.map +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js +1 -1
- package/distr/Tools/src/LocalServerFrontEndDist/index.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.js.map +1 -1
- package/distr/Tools/src/StaticFilesForProductionResourcesDir/client.min.js.map +1 -1
- package/package.json +1 -1
- package/distr/Tools/src/BuildTasks/Form/WriteAllKClangFiles.js +0 -15
- package/distr/Tools/src/BuildTasks/Form/WriteAllKClangFiles.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(
|
|
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:
|
|
81
|
+
fufDriveUri: fufDriveUriChecked,
|
|
82
|
+
additionalProperties: scenario ? JSON.stringify({
|
|
83
|
+
scenario: scenario
|
|
84
|
+
}) : undefined
|
|
73
85
|
}).withAbortSignal(abortSignal).json();
|
|
74
86
|
}
|
|
75
|
-
async createEmptyDraft(
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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(
|
|
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:
|
|
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(
|
|
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:
|
|
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":[]}
|