@kontur.candy/tools 2.232.0 → 2.234.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/ICandyApiClient.js.map +1 -1
- package/distr/Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.js.map +1 -1
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js +13 -3
- package/distr/Tools/src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\n\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 { 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 { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\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 { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string,\n instantResultDelay?: number\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n getPartialFuf(rules: string[]): Promise<BaseGetFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<number>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface BaseGetFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n Fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ICandyApiClient.js","names":[],"sources":["../../../../Common/CandyApiClient/ICandyApiClient.ts"],"sourcesContent":["import { HttpStatusCode } from \"../HttpClient/IHttpClient\";\nimport { ICombineByTransfers } from \"../../Engine/src/Engine/Core/ModalManager/Modals/UploadSection/Types\";\nimport { AbsoluteModelPath } from \"../ModelPath/ModelPath\";\nimport { AbsoluteModelFieldPath } from \"../ModelPath/AbsoluteModelFieldPath\";\nimport { FormSettings } from \"../../Engine/src/Forms/Types/FormSettings\";\nimport { AUOOptions } from \"../../Engine/src/Forms/Types/AUOOptions\";\n\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 { 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 { ServerRequisitesResponse } from \"./Types/GetInner/ServerRequisitesResponse\";\nimport { CombinatorType, CombineFufResult, FufCombineMethod } from \"./Types/DraftActions/CombineFufResult\";\nimport { FeatureFlagsResponse } from \"./Types/FeatureFlags/FeatureFlagsResponse\";\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 { GetAttachmentsResponse } from \"./Types/Attachments/GetAttachmentsResponse\";\nimport { InnerQueryRequest } from \"./Types/QueryCollecton/InnerQueryRequest\";\nimport { InnerQueryResponse } from \"./Types/QueryCollecton/InnerQueryResponse\";\nimport { ResolveInnerPathRequest } from \"./Types/ErrorLog/ResolveInnerPathRequest\";\nimport { ResolvePathResponse } from \"./Types/ErrorLog/ResolvePathResponse\";\nimport { InnerHistoryResponse } from \"./Types/HistoryEditing/InnerHistoryResponse\";\nimport { PollingTaskWithResult } from \"./Types/PollingTasks/PollingTasks\";\n\nexport interface ICandyApiClient {\n forDraft(draftFullId: DraftFullId): ICandyApiDraftClient;\n\n // region Create draft\n createDraft(ns: string, gfv: string): Promise<CreateDraftResponse>;\n createDraft(ns: string, gfv: undefined, body: Buffer): Promise<CreateDraftResponse>;\n createDraftFromDrive(ns: string, fufDriveUri: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n createEmptyDraft(ns: string, gfv: string, abortSignal?: AbortSignal): Promise<CreateDraftResponse>;\n // endregion\n\n //region Focus\n getInfoByInns(draftFullId: DraftFullId, inns: readonly string[]): Promise<GetByInnResponse>;\n //endregion\n\n // region Diagnostics\n getAllGfvs(abortSignal?: AbortSignal): Promise<string[]>;\n forceGetAllGfvs(): Promise<string[]>;\n // endregion\n\n checkAlive(): Promise<void>;\n\n getFeatureFlags(abonId?: string, orgId?: string, userId?: string): Promise<FeatureFlagsResponse>;\n}\n\nexport interface ICandyApiDraftTasksClient {\n getAllTasks(): Promise<ServerTask[]>;\n getTaskById(taskId: string): Promise<ServerTask | undefined>;\n enqueueTask(taskId: string, taskInfo: VerifyAndFixFnsRequirementsTaskInfo): Promise<void>;\n cancelTask(taskId: string): Promise<void>;\n}\n\nexport interface ICandyApiDraftAttachmentsClient {\n getAttachmentById(attachmentId: string): Promise<AttachInfo>;\n getAllAttachments(): Promise<AttachInfo[]>;\n createOrUpdateAttachments(attachments: readonly AttachInfo[]): Promise<void>;\n createDraftAttachment(gfv: string, path: string): Promise<AttachInfo>;\n openLoadedAttachmentAsDraft(id: string): Promise<AttachInfo>;\n removeAttachments(attachmentIds: readonly string[]): Promise<void>;\n}\n\nexport interface PathLoadSpecification {\n pathOrPathPrefix: AbsoluteModelPath | AbsoluteModelFieldPath | \"*\";\n skip: boolean;\n}\n\nexport type CheckScenarioType = \"readonly\";\nexport interface IInnerChangeSuccessResult {\n dataVersion: number;\n changedPaths?: string[];\n}\nexport type IInnerChangeResult = IInnerChangeSuccessResult | HttpStatusCode;\n\nexport interface DraftSettings {\n isReadOnly?: FormSettings[\"isReadOnly\"];\n isIndividual?: FormSettings[\"isIndividual\"];\n isForeign?: FormSettings[\"isForeign\"];\n employerId?: FormSettings[\"employerId\"];\n}\n\nexport type NormalizerNames = \"formulas\" | \"formulasWithInitializers\";\n\nexport interface NormalizationProgressTask {\n id: string;\n status: \"InProgress\" | \"Success\" | \"Error\";\n progress: number;\n}\n\nexport interface RequestNdsFileOptions {\n driveUri: string;\n ignoreSizeCheck?: boolean;\n declarationGfv: string;\n requestedGfv?: string;\n}\n\nexport interface ICandyApiDraftClient extends ICandyApiDraftTasksClient, ICandyApiDraftAttachmentsClient {\n // region Explanatory note\n getExplanatoryNote(): Promise<CreateExplanatoryNoteResponse>;\n // endregion\n\n // region Error log\n getErrorLog(): Promise<ServerErrorLog>;\n checkByPopd(): Promise<CandyPopdProtocol>;\n getErrorLogWithCheckScenarios(checkScenarios: CheckScenarioType[]): Promise<ServerErrorLog>;\n getExpertErrorLog(auo: Partial<AUOOptions>): Promise<ServerErrorLog>;\n getHrefToErrorLogPdf(errorLogName: string, propsName: string): string;\n // endregion\n\n // region Get draft requisites\n getRequisites(requisiteList: readonly string[]): Promise<ServerRequisitesResponse>;\n // endregion\n\n //region Get draft inner\n getInner(paths: undefined | readonly string[]): Promise<ServerInnerResponse>;\n getPartialInner(rules: readonly PathLoadSpecification[], maxInstanceCount?: number): Promise<ServerInnerResponse>;\n getPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerJsonResponse>;\n getRawPartialInnerAsJsonTree(\n rules: readonly PathLoadSpecification[],\n maxInstanceCount?: number,\n skipNormalization?: boolean\n ): Promise<ServerRawResponse>;\n getDataVersion(): Promise<number>;\n startNormalizationTask(): Promise<NormalizationProgressTask>;\n getNormalizationTask(): Promise<NormalizationProgressTask>;\n //endregion\n\n // region Update draft inner\n sendChangeSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n sendChangeSetSync(data: ServerChangeSet, currentDataVersion: number): IInnerChangeResult;\n sendChangeWithNormalizationSet(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: NormalizerNames,\n operationName?: string\n ): Promise<IInnerChangeResult>;\n startPatchWithNormalizationTask(\n data: ServerChangeSet,\n currentDataVersion: number,\n normalizerId?: string,\n operationName?: string,\n instantResultDelay?: number\n ): Promise<PollingTaskWithResult<IInnerChangeSuccessResult> | number>;\n getPatchWithNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeSuccessResult>>;\n // endregion\n\n // region Draft presentations\n setPresentation(type: DraftPresentationType, content: string | unknown): Promise<void>;\n patchPresentation(type: DraftPresentationType, content: PresentationContent): Promise<void>;\n // endregion\n\n // region Draft inner print\n print(type: PrintType, body?: string[]): Promise<PrintResponse>;\n // endregion\n\n // region Draft actions\n clearDraft(): Promise<void>;\n convertDraftFromPrevGfv(request: ConvertDraftRequest): Promise<void>;\n getFileProperties(driveUri: string, ignoreSizeCheck?: boolean): Promise<FileProperties | undefined>;\n getFileNdsProperties(params: RequestNdsFileOptions): Promise<FileProperties[] | undefined>;\n prepareAndGetFileProperties(\n driveUri: string,\n gfv: string,\n ignoreSizeCheck?: boolean\n ): Promise<FileProperties | undefined>;\n uploadAndGetFileProperties(\n driveUri: string[],\n gfv: string,\n abortSignal?: AbortSignal\n ): Promise<UploadFilePropertiesResponse>;\n setFufByDriveUri(driveUri: string): Promise<void>;\n acceptMultipleTransferType(\n files: ICombineByTransfers[],\n abortSignal?: AbortSignal\n ): Promise<ServerErrorResponse | undefined>;\n excelsToPartialFufs(\n gfv: string,\n pathToTable: string,\n driveUris: string[]\n ): Promise<ExcelsToPartialFufsResponse | undefined>;\n importXmls(\n driveUris: string[],\n combineMethod: FufCombineMethod,\n combinatorType: CombinatorType,\n isImportByFuf: boolean,\n args?: string[]\n ): Promise<CombineFufResult | undefined>;\n setDraftSettings(settings: DraftSettings): Promise<void>;\n getDraftSettings(): Promise<DraftSettings>;\n // endregion\n\n normalizeByRules(rules: string): Promise<void>;\n\n getHrefToConvertationLog(): string;\n getHrefToDownloadInnerFuf(): string;\n getHrefToDownloadClientInfo(): string;\n getHrefToDownloadFormsClientInfo(): string;\n getHrefToInnerEditor(): string;\n\n getFufWithAttachments(): Promise<FufWithAttachmentsResponse | undefined>;\n getPartialFuf(rules: string[]): Promise<BaseGetFufResponse | undefined>;\n getInnerFuf(): Promise<string | undefined>;\n\n downloadFuf(): Promise<void>;\n downloadInner(): Promise<void>;\n makeDownloadDriveLink(uri: string, fileName?: string): void;\n\n setMultipleWithNormalization(rules: ValueForInstancesSettingRule[]): Promise<IInnerChangeResult>;\n\n normalizeDirtyMasks(): Promise<IInnerChangeResult>;\n\n searchInstancesByText(\n text: string,\n pathPrefix: string,\n pathsToSearch: string[],\n maxInstanceCount?: number\n ): Promise<string[]>;\n\n queryCollection(request: InnerQueryRequest, abortSignal?: AbortSignal): Promise<InnerQueryResponse>;\n\n customNormalize(\n normalizerId: string | null,\n pathPrefixes: AbsoluteModelPath[],\n abortSignal?: AbortSignal\n ): Promise<IInnerChangeResult>;\n startCustomNormalizationTask(\n pathPrefixes: AbsoluteModelPath[],\n normalizerId?: string,\n operationName?: string\n ): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n getCustomNormalizationTask(): Promise<PollingTaskWithResult<IInnerChangeResult>>;\n importEmployees(request: ImportEmployeesRequest): Promise<void>;\n runMassAction(actionId: string, parameters?: MassActionParameters): Promise<void>;\n deleteInstances(deletingRules: InstancesDeletingRule[]): Promise<void>;\n printExcel(pathToTable: string): Promise<PrintResponse | undefined>;\n\n resolveInnerPath(request: ResolveInnerPathRequest, abortSignal?: AbortSignal): Promise<ResolvePathResponse>;\n getHistory(): Promise<InnerHistoryResponse | number>;\n undoToChange(changeGUID: string): Promise<number>;\n getGFV(): Promise<string>;\n getUser(): Promise<GetUserResponse>;\n}\n\nexport interface GetUserResponse {\n Id: string | null;\n Ip: string | null;\n FirstName: string | null;\n MiddleName: string | null;\n LastName: string | null;\n}\n\nexport interface BaseGetFufResponse {\n ContentUri: string;\n Name: string;\n}\n\nexport interface FufWithAttachmentsResponse {\n Fuf: BaseGetFufResponse;\n attachments: GetAttachmentsResponse[];\n}\n\nexport interface CandyApiErrorResponse {\n message: string;\n errorCode: \"InvalidEditSession\" | string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerErrorLog.js","names":["AdditionalProtocolResult","exports","AdditionalProtocolType"],"sources":["../../../../../../Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.ts"],"sourcesContent":["import { Guid } from \"../../../../Engine/src/Engine/Types/Guid\";\nimport { InterdocumentCheckerResult } from \"../../../../Engine/src/Engine/Core/ErrorManager/Utils/Models\";\n\nexport enum AdditionalProtocolResult {\n Ok = \"Ok\",\n FileExceedsMaximumSize = \"FileExceedsMaximumSize\",\n Error = \"Error\",\n}\n\nexport enum AdditionalProtocolType {\n Popd = \"Popd\",\n}\n\nexport interface AdditionalErrorLogItem {\n type: AdditionalProtocolType;\n resultCode: AdditionalProtocolResult;\n contentDriveUri: string;\n errorsCount: number;\n warningsCount: number;\n}\n\nexport interface ServerErrorLogItem {\n id: Guid;\n description: string;\n path: null | undefined | string;\n source: string;\n usedArguments: string[] | undefined;\n justification?: string | undefined | null;\n}\n\nexport interface ServerErrorLog {\n errorLogName?: null | string;\n propsName?: null | string;\n errors: ServerErrorLogItem[];\n warnings: ServerErrorLogItem[];\n successes: ServerErrorLogItem[];\n}\n\nexport interface ErrorLogGroup {\n groupName: string | null;\n errors: ServerErrorLogItem[];\n warnings: ServerErrorLogItem[];\n successes: ServerErrorLogItem[];\n groupAttachmentId?: string;\n tid?: string;\n}\n\nexport interface GroupedErrorLog {\n errorLogName?: null | string;\n propsName?: null | string;\n groups: ErrorLogGroup[];\n interdocumentCheckerResult?: InterdocumentCheckerResult | null;\n}\n"],"mappings":";;;;;;IAGYA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;AAAA,IAMxBE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ServerErrorLog.js","names":["AdditionalProtocolResult","exports","AdditionalProtocolType"],"sources":["../../../../../../Common/CandyApiClient/Types/ErrorLog/ServerErrorLog.ts"],"sourcesContent":["import { Guid } from \"../../../../Engine/src/Engine/Types/Guid\";\nimport { InterdocumentCheckerResult } from \"../../../../Engine/src/Engine/Core/ErrorManager/Utils/Models\";\n\nexport enum AdditionalProtocolResult {\n Ok = \"Ok\",\n FileExceedsMaximumSize = \"FileExceedsMaximumSize\",\n Error = \"Error\",\n}\n\nexport enum AdditionalProtocolType {\n Popd = \"Popd\",\n}\n\nexport interface AdditionalErrorLogItem {\n type: AdditionalProtocolType;\n resultCode: AdditionalProtocolResult;\n contentDriveUri: string;\n errorsCount: number;\n warningsCount: number;\n}\n\nexport interface ServerErrorLogItem {\n id: Guid;\n description: string;\n path: null | undefined | string;\n source: string;\n usedArguments: string[] | undefined;\n justification?: string | undefined | null;\n}\n\nexport interface ServerErrorLog {\n errorLogName?: null | string;\n propsName?: null | string;\n errors: ServerErrorLogItem[];\n warnings: ServerErrorLogItem[];\n successes: ServerErrorLogItem[];\n}\n\nexport interface ErrorLogGroup {\n groupName: string | null;\n errors: ServerErrorLogItem[];\n warnings: ServerErrorLogItem[];\n successes: ServerErrorLogItem[];\n groupAttachmentId?: string;\n tid?: string;\n}\n\nexport interface GroupedErrorLog {\n errorLogName?: null | string;\n propsName?: null | string;\n canSend?: boolean;\n groups: ErrorLogGroup[];\n interdocumentCheckerResult?: InterdocumentCheckerResult | null;\n}\n"],"mappings":";;;;;;IAGYA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,0BAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAxBA,wBAAwB;EAAA,OAAxBA,wBAAwB;AAAA;AAAA,IAMxBE,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,0BAAtBA,sBAAsB;EAAtBA,sBAAsB;EAAA,OAAtBA,sBAAsB;AAAA","ignoreList":[]}
|
|
@@ -26,7 +26,7 @@ let BuildServerBackendResourcesUpdatesController = exports.BuildServerBackendRes
|
|
|
26
26
|
this.farmWatchers = void 0;
|
|
27
27
|
this.formWatchers = void 0;
|
|
28
28
|
this.allFarmConfig = void 0;
|
|
29
|
-
this.farmWatchingRegexps = ["sugarTemplates", "legacyfetchfunctions", "jsHelpers", `images`, "tour", "controls", "commonResources", "externalConverters"].map(_GlobToRegexp.globToRegexp);
|
|
29
|
+
this.farmWatchingRegexps = ["sugarTemplates", "legacyfetchfunctions", "kclangfetchfunctions", "jsHelpers", `images`, "tour", "controls", "commonResources", "externalConverters"].map(_GlobToRegexp.globToRegexp);
|
|
30
30
|
this.formsWatchingRegexps = [`**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/schemas`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/converters`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/mergers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/autocalc`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/validations`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/helpers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/${_WellKnownDirectories.WellKnownDirectories.FormJsonFileName}`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/sugar`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalize`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/normalizers`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/unmap`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/map`, `**/**/**/${_WellKnownDirectories.WellKnownDirectories.CandySubdirectoryName}/patch`].map(_GlobToRegexp.globToRegexp);
|
|
31
31
|
this.getHandleFSUpdate = directoriesRegExps => (_eventType, filePath, rootDir, force = false) => {
|
|
32
32
|
if (force || directoriesRegExps.some(x => x.test(filePath))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildServerBackendResourcesUpdatesController.js","names":["_fs","require","_path","_interopRequireDefault","_lodash","_Methods","_Params","_Results","_SingletonController","_WellKnownDirectories","_GitUtils","_GlobToRegexp","_dec","_class","GIT_BRANCH_POLL_DELAY","BuildServerBackendResourcesUpdatesController","exports","httpGet","httpReturn","PlainText","httpQueryParam","httpType","Number","SingletonController","constructor","allFarmConfig","lastUpdateTime","updateMonitor","Monitor","farmWatchers","formWatchers","farmWatchingRegexps","map","globToRegexp","formsWatchingRegexps","WellKnownDirectories","CandySubdirectoryName","FormJsonFileName","getHandleFSUpdate","directoriesRegExps","_eventType","filePath","rootDir","force","some","x","test","stat","path","join","_err","fileStat","fileTicks","Math","max","mtimeMs","ctimeMs","Date","now","pulseAll","beforeStart","config","getDirectoryWatcher","farmDirectory","formRootDirectory","normalize","FormsDirectory","directoryPath","fsUpdateHandler","fsWatcher","watch","recursive","_","debounce","y","savedBranch","checkGitBranch","currentBranch","getGitBranch","gitPollIntervalId","setInterval","getLastUpdateTime","toString","afterStop","_this$farmWatchers","_this$formWatchers","clearWatcher","watcher","close","clearInterval","forEach","_applyDecoratedDescriptor2","default","prototype","Object","getOwnPropertyDescriptor","awaiters","waitPromiseHandler","resolve","push","wait","Promise","awaiter"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.ts"],"sourcesContent":["import { FSWatcher, watch, stat } from \"fs\";\nimport path from \"path\";\n\nimport _ from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpQueryParam, httpType } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\nimport { getGitBranch } from \"../../../Commons/GitUtils\";\n\nimport { globToRegexp } from \"./GlobToRegexp\";\n\ntype FSUpdateHandler = (eventType: string, filePath: string, rootDir: string, force?: boolean) => void;\n\ninterface DirectoryWatcher {\n fsWatcher: FSWatcher;\n gitPollIntervalId: NodeJS.Timeout;\n}\nconst GIT_BRANCH_POLL_DELAY = 3000;\n\nexport class BuildServerBackendResourcesUpdatesController extends SingletonController {\n private lastUpdateTime = 0;\n private readonly updateMonitor: Monitor = new Monitor();\n private farmWatchers?: DirectoryWatcher[];\n private formWatchers?: DirectoryWatcher[];\n private readonly allFarmConfig: FarmConfig[];\n private readonly farmWatchingRegexps = [\n \"sugarTemplates\",\n \"legacyfetchfunctions\",\n \"jsHelpers\",\n `images`,\n \"tour\",\n \"controls\",\n \"commonResources\",\n \"externalConverters\",\n ].map(globToRegexp);\n private readonly formsWatchingRegexps = [\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/schemas`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/converters`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/mergers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/autocalc`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/validations`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/helpers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/sugar`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalize`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalizers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/unmap`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/map`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/patch`,\n ].map(globToRegexp);\n\n public constructor(allFarmConfig: FarmConfig[]) {\n super();\n this.allFarmConfig = allFarmConfig;\n this.lastUpdateTime = Date.now();\n }\n\n public async beforeStart(): Promise<void> {\n this.farmWatchers = this.allFarmConfig.map(config =>\n this.getDirectoryWatcher(config.farmDirectory, this.getHandleFSUpdate(this.farmWatchingRegexps))\n );\n\n this.formWatchers = this.allFarmConfig.map(config => {\n const formRootDirectory = path.normalize(\n path.join(config.farmDirectory, \"..\", WellKnownDirectories.FormsDirectory)\n );\n\n return this.getDirectoryWatcher(formRootDirectory, this.getHandleFSUpdate(this.formsWatchingRegexps));\n });\n }\n\n private getDirectoryWatcher(directoryPath: string, fsUpdateHandler: FSUpdateHandler): DirectoryWatcher {\n // @ts-ignore\n const fsWatcher = watch(\n directoryPath,\n { recursive: true },\n _.debounce((x: string, y: string) => fsUpdateHandler(x, y, directoryPath), 200)\n );\n\n let savedBranch: string | null = null;\n const checkGitBranch = () => {\n const currentBranch = getGitBranch(directoryPath);\n\n if (!savedBranch) {\n savedBranch = currentBranch;\n } else if (currentBranch !== savedBranch) {\n savedBranch = currentBranch;\n fsUpdateHandler(\"git\", \"\", directoryPath, true);\n }\n };\n\n return { fsWatcher: fsWatcher, gitPollIntervalId: setInterval(checkGitBranch, GIT_BRANCH_POLL_DELAY) };\n }\n\n @httpGet(\n \"/updates-observer/check-last-update-long-poll\",\n httpReturn.PlainText,\n httpQueryParam(\"prevLastUpdate\", httpType.Number)\n )\n public async getLastUpdateTime(): Promise<string> {\n return this.lastUpdateTime.toString();\n }\n\n public async afterStop(): Promise<void> {\n const clearWatcher = (watcher: DirectoryWatcher) => {\n watcher.fsWatcher.close();\n clearInterval(watcher.gitPollIntervalId);\n };\n this.farmWatchers?.forEach(clearWatcher);\n this.formWatchers?.forEach(clearWatcher);\n }\n\n private readonly getHandleFSUpdate: (directoriesRegExps: RegExp[]) => FSUpdateHandler =\n (directoriesRegExps: RegExp[]) =>\n (_eventType: string, filePath: string, rootDir: string, force: boolean = false) => {\n if (force || directoriesRegExps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (_err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (force || fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n}\n\nclass Monitor {\n private awaiters: Array<() => void> = [];\n\n public wait(): Promise<void> {\n return new Promise(this.waitPromiseHandler);\n }\n\n public pulseAll(): void {\n const awaiters = [...this.awaiters];\n this.awaiters = [];\n for (const awaiter of awaiters) {\n awaiter();\n }\n }\n\n private readonly waitPromiseHandler = (resolve: () => void) => {\n this.awaiters.push(resolve);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildServerBackendResourcesUpdatesController.js","names":["_fs","require","_path","_interopRequireDefault","_lodash","_Methods","_Params","_Results","_SingletonController","_WellKnownDirectories","_GitUtils","_GlobToRegexp","_dec","_class","GIT_BRANCH_POLL_DELAY","BuildServerBackendResourcesUpdatesController","exports","httpGet","httpReturn","PlainText","httpQueryParam","httpType","Number","SingletonController","constructor","allFarmConfig","lastUpdateTime","updateMonitor","Monitor","farmWatchers","formWatchers","farmWatchingRegexps","map","globToRegexp","formsWatchingRegexps","WellKnownDirectories","CandySubdirectoryName","FormJsonFileName","getHandleFSUpdate","directoriesRegExps","_eventType","filePath","rootDir","force","some","x","test","stat","path","join","_err","fileStat","fileTicks","Math","max","mtimeMs","ctimeMs","Date","now","pulseAll","beforeStart","config","getDirectoryWatcher","farmDirectory","formRootDirectory","normalize","FormsDirectory","directoryPath","fsUpdateHandler","fsWatcher","watch","recursive","_","debounce","y","savedBranch","checkGitBranch","currentBranch","getGitBranch","gitPollIntervalId","setInterval","getLastUpdateTime","toString","afterStop","_this$farmWatchers","_this$formWatchers","clearWatcher","watcher","close","clearInterval","forEach","_applyDecoratedDescriptor2","default","prototype","Object","getOwnPropertyDescriptor","awaiters","waitPromiseHandler","resolve","push","wait","Promise","awaiter"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBackendResourcesUpdatesController.ts"],"sourcesContent":["import { FSWatcher, watch, stat } from \"fs\";\nimport path from \"path\";\n\nimport _ from \"lodash\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { httpQueryParam, httpType } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\nimport { getGitBranch } from \"../../../Commons/GitUtils\";\n\nimport { globToRegexp } from \"./GlobToRegexp\";\n\ntype FSUpdateHandler = (eventType: string, filePath: string, rootDir: string, force?: boolean) => void;\n\ninterface DirectoryWatcher {\n fsWatcher: FSWatcher;\n gitPollIntervalId: NodeJS.Timeout;\n}\nconst GIT_BRANCH_POLL_DELAY = 3000;\n\nexport class BuildServerBackendResourcesUpdatesController extends SingletonController {\n private lastUpdateTime = 0;\n private readonly updateMonitor: Monitor = new Monitor();\n private farmWatchers?: DirectoryWatcher[];\n private formWatchers?: DirectoryWatcher[];\n private readonly allFarmConfig: FarmConfig[];\n private readonly farmWatchingRegexps = [\n \"sugarTemplates\",\n \"legacyfetchfunctions\",\n \"kclangfetchfunctions\",\n \"jsHelpers\",\n `images`,\n \"tour\",\n \"controls\",\n \"commonResources\",\n \"externalConverters\",\n ].map(globToRegexp);\n private readonly formsWatchingRegexps = [\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/schemas`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/converters`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/mergers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/autocalc`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/validations`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/fetchfunctions`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/helpers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/${WellKnownDirectories.FormJsonFileName}`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/sugar`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalize`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/normalizers`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/unmap`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/map`,\n `**/**/**/${WellKnownDirectories.CandySubdirectoryName}/patch`,\n ].map(globToRegexp);\n\n public constructor(allFarmConfig: FarmConfig[]) {\n super();\n this.allFarmConfig = allFarmConfig;\n this.lastUpdateTime = Date.now();\n }\n\n public async beforeStart(): Promise<void> {\n this.farmWatchers = this.allFarmConfig.map(config =>\n this.getDirectoryWatcher(config.farmDirectory, this.getHandleFSUpdate(this.farmWatchingRegexps))\n );\n\n this.formWatchers = this.allFarmConfig.map(config => {\n const formRootDirectory = path.normalize(\n path.join(config.farmDirectory, \"..\", WellKnownDirectories.FormsDirectory)\n );\n\n return this.getDirectoryWatcher(formRootDirectory, this.getHandleFSUpdate(this.formsWatchingRegexps));\n });\n }\n\n private getDirectoryWatcher(directoryPath: string, fsUpdateHandler: FSUpdateHandler): DirectoryWatcher {\n // @ts-ignore\n const fsWatcher = watch(\n directoryPath,\n { recursive: true },\n _.debounce((x: string, y: string) => fsUpdateHandler(x, y, directoryPath), 200)\n );\n\n let savedBranch: string | null = null;\n const checkGitBranch = () => {\n const currentBranch = getGitBranch(directoryPath);\n\n if (!savedBranch) {\n savedBranch = currentBranch;\n } else if (currentBranch !== savedBranch) {\n savedBranch = currentBranch;\n fsUpdateHandler(\"git\", \"\", directoryPath, true);\n }\n };\n\n return { fsWatcher: fsWatcher, gitPollIntervalId: setInterval(checkGitBranch, GIT_BRANCH_POLL_DELAY) };\n }\n\n @httpGet(\n \"/updates-observer/check-last-update-long-poll\",\n httpReturn.PlainText,\n httpQueryParam(\"prevLastUpdate\", httpType.Number)\n )\n public async getLastUpdateTime(): Promise<string> {\n return this.lastUpdateTime.toString();\n }\n\n public async afterStop(): Promise<void> {\n const clearWatcher = (watcher: DirectoryWatcher) => {\n watcher.fsWatcher.close();\n clearInterval(watcher.gitPollIntervalId);\n };\n this.farmWatchers?.forEach(clearWatcher);\n this.formWatchers?.forEach(clearWatcher);\n }\n\n private readonly getHandleFSUpdate: (directoriesRegExps: RegExp[]) => FSUpdateHandler =\n (directoriesRegExps: RegExp[]) =>\n (_eventType: string, filePath: string, rootDir: string, force: boolean = false) => {\n if (force || directoriesRegExps.some(x => x.test(filePath))) {\n stat(path.join(rootDir, filePath), (_err, fileStat) => {\n const fileTicks = Math.max(fileStat.mtimeMs, fileStat.ctimeMs);\n if (force || fileTicks > this.lastUpdateTime) {\n this.lastUpdateTime = Date.now();\n this.updateMonitor.pulseAll();\n }\n });\n }\n };\n}\n\nclass Monitor {\n private awaiters: Array<() => void> = [];\n\n public wait(): Promise<void> {\n return new Promise(this.waitPromiseHandler);\n }\n\n public pulseAll(): void {\n const awaiters = [...this.awaiters];\n this.awaiters = [];\n for (const awaiter of awaiters) {\n awaiter();\n }\n }\n\n private readonly waitPromiseHandler = (resolve: () => void) => {\n this.awaiters.push(resolve);\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,10 +18,10 @@ var _SingletonController = require("../../../Commons/HttpServer/ExpressWrapper/S
|
|
|
18
18
|
var _WellKnownDirectories = require("../../../../../Common/WellKnownDirectories");
|
|
19
19
|
var _BuildFormDevServer = require("./DevServers/BuildFormDevServer");
|
|
20
20
|
var _FarmDirectory = require("./Directories/FarmDirectory");
|
|
21
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _class;
|
|
21
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class;
|
|
22
22
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
23
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
|
-
let BuildServerBuildFormsController = exports.BuildServerBuildFormsController = (_dec = (0, _Methods.httpGet)("/:update.hot-update.json", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/:update.hot-update.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/:update.hot-update.js.map", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)(/^\/public\/scripts\/(((\d{6,})(.[\w\-]*)?(.min)?).js)$/i, _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)(/^\/public\/styles\/(((\d{6,})(.[\w\-]*)?(.min)?).css)$/i, _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String), (0, _Params.httpUrlParam)("3", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), (_class = class BuildServerBuildFormsController extends _SingletonController.SingletonController {
|
|
24
|
+
let BuildServerBuildFormsController = exports.BuildServerBuildFormsController = (_dec = (0, _Methods.httpGet)("/:update.hot-update.json", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec2 = (0, _Methods.httpGet)("/:update.hot-update.js", _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec3 = (0, _Methods.httpGet)("/:update.hot-update.js.map", _Results.httpReturn.StreamWithMime("application/json"), (0, _Params.httpUrlParam)("update", _Params.httpType.String)), _dec4 = (0, _Methods.httpGet)(/^\/public\/scripts\/(((\d{6,})(.[\w\-]*)?(.min)?).js)$/i, _Results.httpReturn.StreamWithMime("application/javascript"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String)), _dec5 = (0, _Methods.httpGet)(/^\/public\/styles\/(((\d{6,})(.[\w\-]*)?(.min)?).css)$/i, _Results.httpReturn.StreamWithMime("text/css"), (0, _Params.httpUrlParam)("0", _Params.httpType.String), (0, _Params.httpUrlParam)("1", _Params.httpType.String), (0, _Params.httpUrlParam)("2", _Params.httpType.String), (0, _Params.httpUrlParam)("3", _Params.httpType.String)), _dec6 = (0, _Methods.httpGet)("/public/images/:filename", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("filename", _Params.httpType.String)), _dec7 = (0, _Methods.httpGet)("/normalize/:gfv.All.kclang", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String)), _dec8 = (0, _Methods.httpGet)("/normalize/:gfv.:normalizerId.flang", _Results.httpReturn.Stream, (0, _Params.httpUrlParam)("gfv", _Params.httpType.String), (0, _Params.httpUrlParam)("normalizerId", _Params.httpType.String)), (_class = class BuildServerBuildFormsController extends _SingletonController.SingletonController {
|
|
25
25
|
constructor(allFarmConfig, candyModulesDirectory, useGeneratorFromLocalSources, engineDirectory, buildDebugOnly, nightly = false) {
|
|
26
26
|
super();
|
|
27
27
|
this.allFarmDirectory = void 0;
|
|
@@ -72,6 +72,16 @@ let BuildServerBuildFormsController = exports.BuildServerBuildFormsController =
|
|
|
72
72
|
async getFormImages(fileName) {
|
|
73
73
|
return await this.getFirstExistsFileAsStreamFromDevServer(`static/public/images/${fileName}`, _mimeTypes.default.lookup(fileName));
|
|
74
74
|
}
|
|
75
|
+
async getAllKclangFile(gfv) {
|
|
76
|
+
const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);
|
|
77
|
+
const stream = await buildFormDevServer.getGeneratedFileAsStream(`All.kclang`);
|
|
78
|
+
return new _StreamResultHandler.StreamResult(stream);
|
|
79
|
+
}
|
|
80
|
+
async getCustomFLangNormalizeFile(gfv, normalizerId) {
|
|
81
|
+
const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);
|
|
82
|
+
const stream = await buildFormDevServer.getGeneratedFileAsStream(`${normalizerId}.flang`);
|
|
83
|
+
return new _StreamResultHandler.StreamResult(stream);
|
|
84
|
+
}
|
|
75
85
|
async getFirstExistsFileAsStreamFromDevServer(filename, mimeType) {
|
|
76
86
|
for (const devServer of Object.values(this.devServers)) {
|
|
77
87
|
if (devServer != undefined) {
|
|
@@ -138,5 +148,5 @@ let BuildServerBuildFormsController = exports.BuildServerBuildFormsController =
|
|
|
138
148
|
}
|
|
139
149
|
return devServer;
|
|
140
150
|
}
|
|
141
|
-
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJson", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJson"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJs", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJsMap", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJsMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormScript", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getFormScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormStyle", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getFormStyle"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype)), _class));
|
|
151
|
+
}, ((0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJson", [_dec], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJson"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJs", [_dec2], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJs"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getDevServerUpdateJsMap", [_dec3], Object.getOwnPropertyDescriptor(_class.prototype, "getDevServerUpdateJsMap"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormScript", [_dec4], Object.getOwnPropertyDescriptor(_class.prototype, "getFormScript"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormStyle", [_dec5], Object.getOwnPropertyDescriptor(_class.prototype, "getFormStyle"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getFormImages", [_dec6], Object.getOwnPropertyDescriptor(_class.prototype, "getFormImages"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getAllKclangFile", [_dec7], Object.getOwnPropertyDescriptor(_class.prototype, "getAllKclangFile"), _class.prototype), (0, _applyDecoratedDescriptor2.default)(_class.prototype, "getCustomFLangNormalizeFile", [_dec8], Object.getOwnPropertyDescriptor(_class.prototype, "getCustomFLangNormalizeFile"), _class.prototype)), _class));
|
|
142
152
|
//# sourceMappingURL=BuildServerBuildFormsController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuildServerBuildFormsController.js","names":["path","_interopRequireWildcard","require","_mimeTypes","_interopRequireDefault","_ResolveFormInfo","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_WellKnownDirectories","_BuildFormDevServer","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBuildFormsController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","candyModulesDirectory","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","nightly","allFarmDirectory","allFarmDirectoryPath","nextFreePort","devServers","map","farm","FarmDirectory","farmDirectory","setupMiddleware","expressApplication","use","_","__","next","resetAllFarmDirectories","getDevServerUpdateJson","updateName","getFirstExistsFileAsStreamFromDevServer","getDevServerUpdateJs","getDevServerUpdateJsMap","getFormScript","fileName","_fileNameWithoutExt","gfv","buildFormDevServer","getOrCreateBuildFormDevServer","StreamResult","getFileAsStream","getFormStyle","theme","replace","getFormImages","mime","lookup","filename","mimeType","devServer","values","undefined","NotFoundWebError","getAllAttachmentPathFileNames","Promise","all","getAllGfvs","flat","getAttachmentPathsFileContent","resultStream","getGeneratedFileAsStream","getAttachmentPathsWithGfvsFileContent","getAllNormalizationFileNames","result","gfvInfos","getAllGfvWithLocations","formPath","_formConfig$settings$","_formConfig$settings","formConfig","readFormConfig","join","WellKnownDirectories","FormJsonFileName","useServerSideFLangNormalization","settings","push","getNormalizationFileContent","_formConfig$settings$2","_formConfig$settings2","gfvInfo","find","x","BuildFormDevServer","start","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { Express } from \"express\";\nimport mime from \"mime-types\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { readFormConfig } from \"../../../BuildTasks/ResolveFormInfo\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { StreamResult } from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { BuildFormDevServer } from \"./DevServers/BuildFormDevServer\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\n\nexport class BuildServerBuildFormsController\n extends SingletonController\n implements IGeneratedServerSideSourcesProvider\n{\n private allFarmDirectory: FarmDirectory[];\n private readonly allFarmDirectoryPath: string[];\n private nextFreePort = 12001;\n private readonly devServers: { [gfv: string]: undefined | BuildFormDevServer } = {};\n private readonly candyModulesDirectory: string;\n private readonly allFarmConfig: FarmConfig[];\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n allFarmConfig: FarmConfig[],\n candyModulesDirectory: string,\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n nightly: boolean = false\n ) {\n super();\n this.nightly = nightly;\n this.allFarmDirectory = allFarmConfig.map(farm => new FarmDirectory(farm.farmDirectory));\n this.allFarmDirectoryPath = allFarmConfig.map(farm => farm.farmDirectory);\n this.candyModulesDirectory = candyModulesDirectory;\n this.allFarmConfig = allFarmConfig;\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async setupMiddleware(expressApplication: Express) {\n expressApplication.use(\"/force-gfvs\", (_, __, next) => {\n this.resetAllFarmDirectories();\n next();\n });\n }\n\n private resetAllFarmDirectories() {\n this.allFarmDirectory = this.allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n }\n\n @httpGet(\n \"/:update.hot-update.json\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJson(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.json`);\n }\n\n @httpGet(\n \"/:update.hot-update.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJs(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js`);\n }\n\n @httpGet(\n \"/:update.hot-update.js.map\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJsMap(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js.map`);\n }\n\n @httpGet(\n /^\\/public\\/scripts\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).js)$/i,\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String)\n )\n public async getFormScript(fileName: string, _fileNameWithoutExt: string, gfv: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(await buildFormDevServer.getFileAsStream(`static/public/scripts/${fileName}`));\n }\n\n @httpGet(\n /^\\/public\\/styles\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).css)$/i,\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String),\n httpUrlParam(\"3\", httpType.String)\n )\n public async getFormStyle(\n fileName: string,\n _fileNameWithoutExt: string,\n gfv: string,\n theme: undefined | string\n ): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(\n await buildFormDevServer.getFileAsStream(`static/public/styles/${fileName.replace(theme ?? \"\", \"\")}`)\n );\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(\n `static/public/images/${fileName}`,\n mime.lookup(fileName)\n );\n }\n\n private async getFirstExistsFileAsStreamFromDevServer(filename: string, mimeType?: string | false) {\n for (const devServer of Object.values(this.devServers)) {\n if (devServer != undefined) {\n try {\n return new StreamResult(await devServer.getFileAsStream(filename), mimeType);\n } catch {\n // try next server\n }\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n public async getAllAttachmentPathFileNames(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvs()))).flat().map(gfv => `${gfv}.json`);\n }\n\n public async getAttachmentPathsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPaths.json`);\n return resultStream;\n }\n\n public async getAttachmentPathsWithGfvsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPathsWithGfvs.json`);\n return resultStream;\n }\n\n public async getAllNormalizationFileNames(): Promise<string[]> {\n const result: string[] = [];\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n for (const { gfv, formPath } of gfvInfos) {\n const formConfig = await readFormConfig(path.join(formPath, WellKnownDirectories.FormJsonFileName));\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (useServerSideFLangNormalization) {\n result.push(`${gfv}.normalize`);\n }\n }\n return result;\n }\n\n public async getNormalizationFileContent(gfv: string): Promise<NodeJS.ReadableStream | null> {\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n const gfvInfo = gfvInfos.find(x => x.gfv === gfv);\n if (gfvInfo == null) {\n return null;\n }\n const formConfig = await readFormConfig(path.join(gfvInfo.formPath, WellKnownDirectories.FormJsonFileName));\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (!useServerSideFLangNormalization) {\n return null;\n }\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`ServerSide.normalize`);\n return resultStream;\n }\n\n private async getOrCreateBuildFormDevServer(gfv: string): Promise<BuildFormDevServer> {\n let devServer = this.devServers[gfv];\n if (devServer == undefined) {\n devServer = new BuildFormDevServer(\n this.nextFreePort++,\n this.allFarmDirectoryPath,\n gfv,\n this.candyModulesDirectory,\n this.allFarmConfig,\n this.useGeneratorFromLocalSources,\n this.engineDirectory,\n this.buildDebugOnly,\n false,\n this.nightly\n );\n this.devServers[gfv] = devServer;\n await devServer.start();\n }\n return devServer;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"BuildServerBuildFormsController.js","names":["path","_interopRequireWildcard","require","_mimeTypes","_interopRequireDefault","_ResolveFormInfo","_Methods","_NotFoundWebError","_Params","_Results","_StreamResultHandler","_SingletonController","_WellKnownDirectories","_BuildFormDevServer","_FarmDirectory","_dec","_dec2","_dec3","_dec4","_dec5","_dec6","_dec7","_dec8","_class","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","BuildServerBuildFormsController","exports","httpGet","httpReturn","StreamWithMime","httpUrlParam","httpType","String","Stream","SingletonController","constructor","allFarmConfig","candyModulesDirectory","useGeneratorFromLocalSources","engineDirectory","buildDebugOnly","nightly","allFarmDirectory","allFarmDirectoryPath","nextFreePort","devServers","map","farm","FarmDirectory","farmDirectory","setupMiddleware","expressApplication","use","_","__","next","resetAllFarmDirectories","getDevServerUpdateJson","updateName","getFirstExistsFileAsStreamFromDevServer","getDevServerUpdateJs","getDevServerUpdateJsMap","getFormScript","fileName","_fileNameWithoutExt","gfv","buildFormDevServer","getOrCreateBuildFormDevServer","StreamResult","getFileAsStream","getFormStyle","theme","replace","getFormImages","mime","lookup","getAllKclangFile","stream","getGeneratedFileAsStream","getCustomFLangNormalizeFile","normalizerId","filename","mimeType","devServer","values","undefined","NotFoundWebError","getAllAttachmentPathFileNames","Promise","all","getAllGfvs","flat","getAttachmentPathsFileContent","resultStream","getAttachmentPathsWithGfvsFileContent","getAllNormalizationFileNames","result","gfvInfos","getAllGfvWithLocations","formPath","_formConfig$settings$","_formConfig$settings","formConfig","readFormConfig","join","WellKnownDirectories","FormJsonFileName","useServerSideFLangNormalization","settings","push","getNormalizationFileContent","_formConfig$settings$2","_formConfig$settings2","gfvInfo","find","x","BuildFormDevServer","start","_applyDecoratedDescriptor2","prototype"],"sources":["../../../../../../src/CLICommands/BuildServer/ResourcesControllers/BuildServerBuildFormsController.ts"],"sourcesContent":["import * as path from \"path\";\n\nimport { Express } from \"express\";\nimport mime from \"mime-types\";\nimport { FarmConfig } from \"Tools/src/CandyCLI\";\n\nimport { readFormConfig } from \"../../../BuildTasks/ResolveFormInfo\";\nimport { httpGet } from \"../../../Commons/HttpServer/AttributeRouting/Methods\";\nimport { NotFoundWebError } from \"../../../Commons/HttpServer/AttributeRouting/NotFoundWebError\";\nimport { httpType, httpUrlParam } from \"../../../Commons/HttpServer/AttributeRouting/Params\";\nimport { httpReturn } from \"../../../Commons/HttpServer/AttributeRouting/Results\";\nimport { StreamResult } from \"../../../Commons/HttpServer/AttributeRouting/Results/StreamResultHandler\";\nimport { SingletonController } from \"../../../Commons/HttpServer/ExpressWrapper/SingletonController\";\nimport { WellKnownDirectories } from \"../../../../../Common/WellKnownDirectories\";\n\nimport { BuildFormDevServer } from \"./DevServers/BuildFormDevServer\";\nimport { FarmDirectory } from \"./Directories/FarmDirectory\";\nimport { IGeneratedServerSideSourcesProvider } from \"./IGeneratedServerSideSourcesProvider\";\n\nexport class BuildServerBuildFormsController\n extends SingletonController\n implements IGeneratedServerSideSourcesProvider\n{\n private allFarmDirectory: FarmDirectory[];\n private readonly allFarmDirectoryPath: string[];\n private nextFreePort = 12001;\n private readonly devServers: { [gfv: string]: undefined | BuildFormDevServer } = {};\n private readonly candyModulesDirectory: string;\n private readonly allFarmConfig: FarmConfig[];\n private readonly useGeneratorFromLocalSources: boolean;\n private readonly engineDirectory: string;\n private readonly nightly: boolean;\n private readonly buildDebugOnly: boolean;\n\n public constructor(\n allFarmConfig: FarmConfig[],\n candyModulesDirectory: string,\n useGeneratorFromLocalSources: boolean,\n engineDirectory: string,\n buildDebugOnly: boolean,\n nightly: boolean = false\n ) {\n super();\n this.nightly = nightly;\n this.allFarmDirectory = allFarmConfig.map(farm => new FarmDirectory(farm.farmDirectory));\n this.allFarmDirectoryPath = allFarmConfig.map(farm => farm.farmDirectory);\n this.candyModulesDirectory = candyModulesDirectory;\n this.allFarmConfig = allFarmConfig;\n this.useGeneratorFromLocalSources = useGeneratorFromLocalSources;\n this.engineDirectory = engineDirectory;\n this.buildDebugOnly = buildDebugOnly;\n }\n\n public async setupMiddleware(expressApplication: Express) {\n expressApplication.use(\"/force-gfvs\", (_, __, next) => {\n this.resetAllFarmDirectories();\n next();\n });\n }\n\n private resetAllFarmDirectories() {\n this.allFarmDirectory = this.allFarmConfig.map(i => new FarmDirectory(i.farmDirectory));\n }\n\n @httpGet(\n \"/:update.hot-update.json\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJson(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.json`);\n }\n\n @httpGet(\n \"/:update.hot-update.js\",\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJs(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js`);\n }\n\n @httpGet(\n \"/:update.hot-update.js.map\",\n httpReturn.StreamWithMime(\"application/json\"),\n httpUrlParam(\"update\", httpType.String)\n )\n public async getDevServerUpdateJsMap(updateName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(`static/${updateName}.hot-update.js.map`);\n }\n\n @httpGet(\n /^\\/public\\/scripts\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).js)$/i,\n httpReturn.StreamWithMime(\"application/javascript\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String)\n )\n public async getFormScript(fileName: string, _fileNameWithoutExt: string, gfv: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(await buildFormDevServer.getFileAsStream(`static/public/scripts/${fileName}`));\n }\n\n @httpGet(\n /^\\/public\\/styles\\/(((\\d{6,})(.[\\w\\-]*)?(.min)?).css)$/i,\n httpReturn.StreamWithMime(\"text/css\"),\n httpUrlParam(\"0\", httpType.String),\n httpUrlParam(\"1\", httpType.String),\n httpUrlParam(\"2\", httpType.String),\n httpUrlParam(\"3\", httpType.String)\n )\n public async getFormStyle(\n fileName: string,\n _fileNameWithoutExt: string,\n gfv: string,\n theme: undefined | string\n ): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n return new StreamResult(\n await buildFormDevServer.getFileAsStream(`static/public/styles/${fileName.replace(theme ?? \"\", \"\")}`)\n );\n }\n\n @httpGet(\"/public/images/:filename\", httpReturn.Stream, httpUrlParam(\"filename\", httpType.String))\n public async getFormImages(fileName: string): Promise<StreamResult> {\n return await this.getFirstExistsFileAsStreamFromDevServer(\n `static/public/images/${fileName}`,\n mime.lookup(fileName)\n );\n }\n\n @httpGet(\"/normalize/:gfv.All.kclang\", httpReturn.Stream, httpUrlParam(\"gfv\", httpType.String))\n public async getAllKclangFile(gfv: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const stream = await buildFormDevServer.getGeneratedFileAsStream(`All.kclang`);\n return new StreamResult(stream);\n }\n\n @httpGet(\n \"/normalize/:gfv.:normalizerId.flang\",\n httpReturn.Stream,\n httpUrlParam(\"gfv\", httpType.String),\n httpUrlParam(\"normalizerId\", httpType.String)\n )\n public async getCustomFLangNormalizeFile(gfv: string, normalizerId: string): Promise<StreamResult> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const stream = await buildFormDevServer.getGeneratedFileAsStream(`${normalizerId}.flang`);\n return new StreamResult(stream);\n }\n\n private async getFirstExistsFileAsStreamFromDevServer(filename: string, mimeType?: string | false) {\n for (const devServer of Object.values(this.devServers)) {\n if (devServer != undefined) {\n try {\n return new StreamResult(await devServer.getFileAsStream(filename), mimeType);\n } catch {\n // try next server\n }\n }\n }\n throw new NotFoundWebError(\"File not found\", true);\n }\n\n public async getAllAttachmentPathFileNames(): Promise<string[]> {\n return (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvs()))).flat().map(gfv => `${gfv}.json`);\n }\n\n public async getAttachmentPathsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPaths.json`);\n return resultStream;\n }\n\n public async getAttachmentPathsWithGfvsFileContent(gfv: string): Promise<NodeJS.ReadableStream> {\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`AttachmentPathsWithGfvs.json`);\n return resultStream;\n }\n\n public async getAllNormalizationFileNames(): Promise<string[]> {\n const result: string[] = [];\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n for (const { gfv, formPath } of gfvInfos) {\n const formConfig = await readFormConfig(path.join(formPath, WellKnownDirectories.FormJsonFileName));\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (useServerSideFLangNormalization) {\n result.push(`${gfv}.normalize`);\n }\n }\n return result;\n }\n\n public async getNormalizationFileContent(gfv: string): Promise<NodeJS.ReadableStream | null> {\n const gfvInfos = (await Promise.all(this.allFarmDirectory.map(i => i.getAllGfvWithLocations()))).flat();\n const gfvInfo = gfvInfos.find(x => x.gfv === gfv);\n if (gfvInfo == null) {\n return null;\n }\n const formConfig = await readFormConfig(path.join(gfvInfo.formPath, WellKnownDirectories.FormJsonFileName));\n const useServerSideFLangNormalization = formConfig.settings?.useServerSideFLangNormalization ?? false;\n if (!useServerSideFLangNormalization) {\n return null;\n }\n const buildFormDevServer = await this.getOrCreateBuildFormDevServer(gfv);\n const resultStream = await buildFormDevServer.getGeneratedFileAsStream(`ServerSide.normalize`);\n return resultStream;\n }\n\n private async getOrCreateBuildFormDevServer(gfv: string): Promise<BuildFormDevServer> {\n let devServer = this.devServers[gfv];\n if (devServer == undefined) {\n devServer = new BuildFormDevServer(\n this.nextFreePort++,\n this.allFarmDirectoryPath,\n gfv,\n this.candyModulesDirectory,\n this.allFarmConfig,\n this.useGeneratorFromLocalSources,\n this.engineDirectory,\n this.buildDebugOnly,\n false,\n this.nightly\n );\n this.devServers[gfv] = devServer;\n await devServer.start();\n }\n return devServer;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|