runlify 0.0.714 → 0.0.715
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/build/cli.js +20 -52
- package/build/commands/availableEnvironments.js +16 -51
- package/build/commands/generate.js +10 -46
- package/build/commands/init.js +73 -140
- package/build/commands/login.js +6 -42
- package/build/commands/logout.js +5 -41
- package/build/commands/pullEnvs.js +23 -70
- package/build/commands/readEnv.js +16 -45
- package/build/commands/regen.js +17 -48
- package/build/commands/runlify.js +6 -37
- package/build/commands/showToken.js +14 -45
- package/build/commands/start.js +57 -84
- package/build/commands/tryGetMeta.js +7 -43
- package/build/documentation/algoritmToDoc.js +4 -4
- package/build/documentation/algoritmToDoc.spec.js +5 -5
- package/build/documentation/curlExampleToText.js +15 -16
- package/build/documentation/curlExampleToText.spec.js +32 -16
- package/build/documentation/doc.js +1 -2
- package/build/documentation/docToFlatDoc.js +13 -17
- package/build/documentation/docToFlatDoc.spec.js +9 -9
- package/build/documentation/flatDoc.js +1 -2
- package/build/documentation/flatDocToText.js +4 -6
- package/build/documentation/flatDocToText.spec.js +20 -8
- package/build/documentation/templateDoc.js +1 -2
- package/build/documentation/templateDocToDoc.js +2 -2
- package/build/extensions/auth.js +64 -124
- package/build/extensions/cli-extension.js +3 -3
- package/build/extensions/cloudEnv.js +76 -120
- package/build/extensions/cloudMeta.js +35 -73
- package/build/extensions/globalConfig.js +37 -80
- package/build/extensions/localConfig.js +15 -46
- package/build/extensions/preventRunningIfUpdateAvailable.js +18 -52
- package/build/log.js +6 -6
- package/build/projectsGeneration/args.js +33 -53
- package/build/projectsGeneration/builders/AdditionalServiceBuilder.js +62 -96
- package/build/projectsGeneration/builders/BaseBuilder.js +30 -34
- package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +272 -312
- package/build/projectsGeneration/builders/CatalogBuilder.js +17 -46
- package/build/projectsGeneration/builders/ConfigVarBuilder.js +25 -36
- package/build/projectsGeneration/builders/DeploymentBuilder.js +18 -47
- package/build/projectsGeneration/builders/DocumentBuilder.js +26 -56
- package/build/projectsGeneration/builders/InfoRegistryBuilder.js +106 -140
- package/build/projectsGeneration/builders/PageBuilder.js +22 -51
- package/build/projectsGeneration/builders/PermissionBuilder.js +12 -41
- package/build/projectsGeneration/builders/ReportBuilder.js +23 -52
- package/build/projectsGeneration/builders/RestApiBuilder.js +20 -50
- package/build/projectsGeneration/builders/RestApiMethodBuilder.js +25 -54
- package/build/projectsGeneration/builders/RoleBuilder.js +12 -41
- package/build/projectsGeneration/builders/SumRegistryBuilder.js +100 -133
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +281 -324
- package/build/projectsGeneration/builders/TelegramBotBuilder.js +18 -47
- package/build/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.js +8 -9
- package/build/projectsGeneration/builders/fields/BaseFieldBuilder.js +89 -105
- package/build/projectsGeneration/builders/fields/IdFieldBuilder.js +24 -54
- package/build/projectsGeneration/builders/fields/LinkFieldBuilder.js +33 -62
- package/build/projectsGeneration/builders/fields/ModelFieldBuilder.js +18 -47
- package/build/projectsGeneration/builders/fields/ScalarFieldBuilder.js +11 -42
- package/build/projectsGeneration/builders/fields/ViewLinkFieldBuilder.js +26 -55
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientArgsModelBuilder.js +6 -23
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientBaseModelBuilder.js +28 -57
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientBuilder.js +25 -54
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientQueryMethodsBuilder.js +18 -47
- package/build/projectsGeneration/builders/integrationClients/IntegrationClientReturnModelBuilder.js +12 -41
- package/build/projectsGeneration/builders/materialUiIcons.js +2 -2
- package/build/projectsGeneration/builders/mehods/ArgsModelBuilder.js +6 -23
- package/build/projectsGeneration/builders/mehods/BaseModelBuilder.js +30 -59
- package/build/projectsGeneration/builders/mehods/MethodBuilder.js +36 -66
- package/build/projectsGeneration/builders/mehods/ReturnModelBuilder.js +12 -41
- package/build/projectsGeneration/builders/menu/BaseMenuItemBuilder.js +24 -54
- package/build/projectsGeneration/builders/menu/ExternalEnvMenuItemBuilder.js +11 -40
- package/build/projectsGeneration/builders/menu/ExternalMenuItemBuilder.js +11 -40
- package/build/projectsGeneration/builders/menu/GroupMenuItemBuilder.js +31 -66
- package/build/projectsGeneration/builders/menu/InternalMenuItemBuilder.js +16 -45
- package/build/projectsGeneration/builders/tsFilterFields.js +11 -12
- package/build/projectsGeneration/builders/tsFilterFields.spec.js +29 -11
- package/build/projectsGeneration/builders/ui/FormsBuilder.js +9 -10
- package/build/projectsGeneration/builders/ui/ListFormBuilder.js +9 -10
- package/build/projectsGeneration/builders/ui/ListFormFilterBuilder.js +14 -16
- package/build/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.js +8 -9
- package/build/projectsGeneration/builders/utils/accessFunctions.js +4 -4
- package/build/projectsGeneration/builders/validation/baseValudationToYupAssertions.js +4 -4
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.js +5 -5
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.js +7 -7
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.js +4 -4
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.js +6 -6
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.js +9 -9
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.js +9 -9
- package/build/projectsGeneration/builders/validation/numberValudationToYupAssertions.js +10 -10
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.js +6 -6
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.js +6 -6
- package/build/projectsGeneration/commonEntities/addAggregateTrackings.js +3 -3
- package/build/projectsGeneration/commonEntities/addAuditLogs.js +6 -6
- package/build/projectsGeneration/commonEntities/addAutogeneration.js +4 -4
- package/build/projectsGeneration/commonEntities/addCommonCommands.js +2 -2
- package/build/projectsGeneration/commonEntities/addCommonEntities.js +14 -14
- package/build/projectsGeneration/commonEntities/addConfigurationVariables.js +4 -4
- package/build/projectsGeneration/commonEntities/addLanguages.js +3 -3
- package/build/projectsGeneration/commonEntities/addManagers.js +6 -6
- package/build/projectsGeneration/commonEntities/addRefreshTokens.js +4 -4
- package/build/projectsGeneration/commonEntities/addRoles.js +8 -8
- package/build/projectsGeneration/commonEntities/addTenants.js +3 -3
- package/build/projectsGeneration/commonEntities/addUserSettings.js +7 -7
- package/build/projectsGeneration/commonEntities/addUsers.js +4 -4
- package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +12 -13
- package/build/projectsGeneration/defaultCatalogs/files.js +6 -6
- package/build/projectsGeneration/fileCleaners/back/graphServices/cleanGraphServices.js +24 -59
- package/build/projectsGeneration/fileCleaners/back/services/cleanServices.js +32 -67
- package/build/projectsGeneration/fileCleaners/cleanFiles.js +7 -38
- package/build/projectsGeneration/fileCleaners/ui/cleanUi.js +7 -39
- package/build/projectsGeneration/fileCleaners/ui/pages/cleanPages.js +24 -59
- package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgets.js +10 -40
- package/build/projectsGeneration/fileCleaners/ui/widgets/cleanWidgetsByType.js +29 -62
- package/build/projectsGeneration/genGraphSchemesByLocalGenerator.js +26 -68
- package/build/projectsGeneration/generateAdditionalService.js +41 -98
- package/build/projectsGeneration/generateEntity.js +215 -346
- package/build/projectsGeneration/generateEnvironment.js +157 -265
- package/build/projectsGeneration/generateProject.js +422 -724
- package/build/projectsGeneration/generators/fieldTypeToTsType.js +4 -4
- package/build/projectsGeneration/generators/fileTemplates/back/Entities.js +16 -14
- package/build/projectsGeneration/generators/fileTemplates/back/devEnum.js +17 -13
- package/build/projectsGeneration/generators/fileTemplates/back/elastic/elastic.js +8 -44
- package/build/projectsGeneration/generators/fileTemplates/back/elastic/jobs.js +36 -26
- package/build/projectsGeneration/generators/fileTemplates/back/enum.js +17 -13
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.js +12 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.js +128 -12
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.js +54 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/values.js +149 -13
- package/build/projectsGeneration/generators/fileTemplates/back/environment/ciNotify.js +19 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.js +5 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.js +38 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.js +42 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocSpec.js +3 -6
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +27 -19
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.js +7 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsIntegrationClient.js +44 -29
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.js +45 -18
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/findLinksToEntities.js +2 -4
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getAllSavableEntities.js +7 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/getProjectSpec.js +206 -216
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/spec/titleMd.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.js +272 -37
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +78 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.js +42 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/index.js +36 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.js +56 -5
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClients.js +12 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/fieldsToTsTypeFields.js +4 -6
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/integrationClientConstrictors.js +13 -9
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/tsModelTmpl.js +6 -4
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/types.js +15 -7
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.js +9 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/permissionToGraphql.js +16 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/resolvers.js +32 -12
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalService/typeDefs.js +18 -11
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.js +7 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.js +20 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.js +22 -10
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.js +18 -9
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.js +17 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.js +11 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.js +26 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.js +17 -2
- package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +52 -13
- package/build/projectsGeneration/generators/fileTemplates/back/graph/resolvers.js +52 -13
- package/build/projectsGeneration/generators/fileTemplates/back/graph/types.js +18 -11
- package/build/projectsGeneration/generators/fileTemplates/back/initCommon.js +30 -16
- package/build/projectsGeneration/generators/fileTemplates/back/initDev.js +27 -15
- package/build/projectsGeneration/generators/fileTemplates/back/initEntities.js +24 -10
- package/build/projectsGeneration/generators/fileTemplates/back/root/config/config.js +30 -16
- package/build/projectsGeneration/generators/fileTemplates/back/root/restRouter.js +21 -2
- package/build/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.js +7 -2
- package/build/projectsGeneration/generators/fileTemplates/back/services/BaseServices.js +18 -22
- package/build/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.js +30 -7
- package/build/projectsGeneration/generators/fileTemplates/back/services/additionalService/types.js +18 -13
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +7 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +126 -49
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +59 -40
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.js +13 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.js +15 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.js +30 -7
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.js +14 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.js +81 -8
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.js +22 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.js +31 -6
- package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +26 -14
- package/build/projectsGeneration/generators/fileTemplates/ui/Dashboard.js +14 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/MetaPage.js +120 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.js +45 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.js +5 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/entityMapping.js +14 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.js +12 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.js +118 -13
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.js +51 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.js +79 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/ciNotify.js +19 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +27 -21
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.js +179 -26
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/App.js +107 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.js +67 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/getAdditionalMethods.js +55 -18
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +93 -13
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/i18nProvider/index.js +51 -19
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.js +60 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.js +52 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +38 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/functions/Functions.js +60 -7
- package/build/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.js +11 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +136 -23
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.js +3 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.js +3 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.js +33 -21
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.js +23 -15
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +101 -62
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +176 -77
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +68 -50
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +83 -47
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.js +12 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.js +54 -19
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.js +53 -30
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +45 -32
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +57 -41
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.js +3 -2
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.js +7 -3
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.js +15 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/Icon.js +8 -8
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.js +45 -30
- package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +46 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.js +50 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.js +109 -14
- package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalar.js +8 -9
- package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalarStringified.js +4 -6
- package/build/projectsGeneration/generators/graph/fields/genGraphField.js +8 -9
- package/build/projectsGeneration/generators/graph/fields/genGraphIdField.js +7 -8
- package/build/projectsGeneration/generators/graph/fields/genGraphIdFieldType.js +6 -6
- package/build/projectsGeneration/generators/graph/fields/genGraphLinkField.js +10 -11
- package/build/projectsGeneration/generators/graph/fields/genGraphModelField.js +10 -11
- package/build/projectsGeneration/generators/graph/fields/genGraphScalarField.js +10 -11
- package/build/projectsGeneration/generators/graph/filters/genGraphField.js +7 -7
- package/build/projectsGeneration/generators/graph/filters/genGraphIdFilter.js +12 -14
- package/build/projectsGeneration/generators/graph/filters/genGraphLinkFilter.js +12 -24
- package/build/projectsGeneration/generators/graph/filters/genGraphScalarFilter.js +25 -37
- package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.js +35 -35
- package/build/projectsGeneration/generators/graph/genGraphAdditionalServiceSchema.spec.js +148 -65
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.js +38 -50
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.spec.js +393 -34
- package/build/projectsGeneration/generators/graph/genGraphFilterType.js +11 -22
- package/build/projectsGeneration/generators/graph/genGraphFilterType.spec.js +75 -13
- package/build/projectsGeneration/generators/graph/genGraphModelType.js +15 -27
- package/build/projectsGeneration/generators/graph/genGraphType.js +7 -18
- package/build/projectsGeneration/generators/graph/genGraphType.spec.js +27 -12
- package/build/projectsGeneration/generators/graph/printGraphType.js +5 -7
- package/build/projectsGeneration/generators/graph/printGraphType.spec.js +11 -6
- package/build/projectsGeneration/generators/graph/utils/mapUtils.js +11 -30
- package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.js +14 -28
- package/build/projectsGeneration/generators/graph/utils/models/getModelInitOrder.spec.js +18 -18
- package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.js +3 -3
- package/build/projectsGeneration/generators/graph/utils/models/getUniqModels.spec.js +17 -28
- package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.js +14 -19
- package/build/projectsGeneration/generators/graph/utils/models/getUsedModels.spec.js +40 -51
- package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.js +17 -26
- package/build/projectsGeneration/generators/graph/utils/serviceModels/augmentInputModelsByUsedAsInputGeneralModelsAndPostfixThemByInput.spec.js +68 -68
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.js +21 -42
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getGraphTypesFromInputOutputModels.spec.js +85 -62
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.js +20 -31
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getPreparedModelsForGraph.spec.js +48 -49
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getServiceModels.js +7 -7
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.js +6 -6
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedGraphModelsForService.spec.js +13 -13
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.js +18 -21
- package/build/projectsGeneration/generators/graph/utils/serviceModels/getUsedModelsForService.spec.js +153 -153
- package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.js +25 -26
- package/build/projectsGeneration/generators/graph/utils/serviceModels/prefixServiceModelsWithServiceName.spec.js +69 -69
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeDublicatesFromServiceModels.js +4 -4
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeUnusedInOutputGeneralModels.js +6 -17
- package/build/projectsGeneration/generators/graph/utils/serviceModels/removeVoidsInServiceModels.js +5 -5
- package/build/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.js +3 -3
- package/build/projectsGeneration/generators/prisma/fieldTypeToPrismaType.js +3 -3
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.js +3 -3
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.js +20 -20
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.js +7 -8
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.js +6 -7
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.js +7 -19
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.js +10 -11
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.js +13 -13
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.js +15 -18
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.js +27 -28
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.js +12 -14
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.js +29 -30
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +23 -32
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +104 -47
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +5 -7
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +19 -10
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.js +7 -7
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.js +5 -5
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.js +10 -10
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.js +7 -7
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.js +3 -3
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.js +2 -14
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.js +17 -17
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.js +3 -3
- package/build/projectsGeneration/generators/ui/getLinkShowComponent.spec.js +18 -18
- package/build/projectsGeneration/generators/ui/getScalarShowComponent.spec.js +11 -11
- package/build/projectsGeneration/generators/ui/getShowComponent.js +19 -20
- package/build/projectsGeneration/links/getLinksFromExternalEntities.js +2 -4
- package/build/projectsGeneration/links/getLinksFromExternalEntities.spec.js +11 -22
- package/build/projectsGeneration/links/getLinksOfEntities.js +6 -8
- package/build/projectsGeneration/links/getLinksOfEntities.spec.js +20 -31
- package/build/projectsGeneration/links/getLinksToExternalEntities.js +2 -4
- package/build/projectsGeneration/links/getLinksToExternalEntities.spec.js +11 -22
- package/build/projectsGeneration/metaUtils.js +17 -23
- package/build/projectsGeneration/modelsGeneration.serialization.spec.js +8 -8
- package/build/projectsGeneration/modules/addEmailModuleEntities.js +11 -11
- package/build/projectsGeneration/types.js +6 -6
- package/build/projectsGeneration/utils.js +24 -61
- package/build/refs/yup.spec.js +7 -7
- package/build/types/projectsGeneration/builders/InfoRegistryBuilder.d.ts +0 -4
- package/build/types/projectsGeneration/builders/SumRegistryBuilder.d.ts +0 -3
- package/build/types/projectsGeneration/fileCleaners/cleanFiles.d.ts +1 -1
- package/build/types/projectsGeneration/generateProject.d.ts +0 -5
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/integrationClients/IntegrationClient.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/App.d.ts +1 -1
- package/build/utils/TermSignals.js +35 -43
- package/build/utils/cases.js +12 -18
- package/build/utils/getPkgManager.js +4 -4
- package/package.json +12 -24
- package/build/projectsGeneration/fileCleaners/back/cleanBack.js +0 -50
- package/build/types/projectsGeneration/fileCleaners/back/cleanBack.d.ts +0 -3
|
@@ -1,153 +1,145 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
-
if (ar || !(i in from)) {
|
|
5
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
-
ar[i] = from[i];
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
14
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
docs += (0, titleMd_1.titleMd2)(
|
|
29
|
-
docs +=
|
|
6
|
+
const markdown_table_1 = __importDefault(require("markdown-table"));
|
|
7
|
+
const buildedTypes_1 = require("../../../../../../builders/buildedTypes");
|
|
8
|
+
const findLinksToEntities_1 = __importDefault(require("./findLinksToEntities"));
|
|
9
|
+
const getAllSavableEntities_1 = __importDefault(require("./getAllSavableEntities"));
|
|
10
|
+
const titleMd_1 = require("./titleMd");
|
|
11
|
+
const toUrl = (source) => source.toLowerCase().replaceAll(' ', '-').replaceAll('.', '');
|
|
12
|
+
const getLink = (title, link) => `[${title}](#${toUrl(link)})`;
|
|
13
|
+
const getSimpleLink = (title) => getLink(title, title);
|
|
14
|
+
const getEntityLink = (lang, entity) => getLink(`\`${entity.title[lang].plural}\``, entity.title[lang].plural);
|
|
15
|
+
const getToCLink = (title, link, level) => `${' '.repeat(level - 1)}* ${getLink(title, link)}\n`;
|
|
16
|
+
const getToCSimpleLink = (title, level) => `${' '.repeat(level - 1)}* ${getSimpleLink(title)}\n`;
|
|
17
|
+
const getEntityHeaderSpec = (lang, entity) => {
|
|
18
|
+
let docs = '';
|
|
19
|
+
docs += (0, titleMd_1.titleMd2)(`${entity.title[lang].singular}`);
|
|
20
|
+
docs += `\`${entity.name}\`\n\n`;
|
|
30
21
|
if (entity.needFor[lang]) {
|
|
31
|
-
docs +=
|
|
22
|
+
docs += `Нужен для: ${entity.needFor[lang]}\n\n`;
|
|
32
23
|
}
|
|
33
24
|
return docs;
|
|
34
25
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
docs += (0, titleMd_1.titleMd2)(
|
|
38
|
-
docs +=
|
|
26
|
+
const getSavableEntityHeaderSpec = (lang, entity) => {
|
|
27
|
+
let docs = '';
|
|
28
|
+
docs += (0, titleMd_1.titleMd2)(`${entity.title[lang].plural}`);
|
|
29
|
+
docs += `\`${entity.name}\`\n\n`;
|
|
39
30
|
if (entity.needFor[lang]) {
|
|
40
|
-
docs +=
|
|
31
|
+
docs += `Нужен для: ${entity.needFor[lang]}\n\n`;
|
|
41
32
|
}
|
|
42
33
|
return docs;
|
|
43
34
|
};
|
|
44
|
-
|
|
45
|
-
|
|
35
|
+
const getEntityLinksToEntitySpec = (lang, links) => {
|
|
36
|
+
let docs = '';
|
|
46
37
|
if (links.length) {
|
|
47
|
-
docs +=
|
|
38
|
+
docs += `На сущность ссылаются: ${links.map(entity => `${getEntityLink(lang, entity)}`).join(', ')}\n`;
|
|
48
39
|
}
|
|
49
40
|
else {
|
|
50
41
|
docs += 'На сущность нет ссылок\n';
|
|
51
42
|
}
|
|
52
43
|
return docs;
|
|
53
44
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
docs +=
|
|
57
|
-
['Имя поля', 'Наименование', 'Тип данных', 'Обязательное', 'Справочник']
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
45
|
+
const getEntityFieldsSpec = (lang, entity, entities) => {
|
|
46
|
+
let docs = '';
|
|
47
|
+
docs += `${(0, markdown_table_1.default)([
|
|
48
|
+
['Имя поля', 'Наименование', 'Тип данных', 'Обязательное', 'Справочник'],
|
|
49
|
+
...entity.fields
|
|
50
|
+
.filter(f => !f.hidden)
|
|
51
|
+
.map((f) => [
|
|
52
|
+
f.name,
|
|
53
|
+
f.title[lang],
|
|
54
|
+
f.type,
|
|
55
|
+
f.required ? 'Обязательное' : 'Не обязательное',
|
|
56
|
+
f.category === 'link' ? `ссылается на ${getEntityLink(lang, entities.find(c => c.name === f.externalEntity))}` : '',
|
|
57
|
+
]),
|
|
58
|
+
])}`;
|
|
67
59
|
docs += '\n';
|
|
68
60
|
return docs;
|
|
69
61
|
};
|
|
70
|
-
|
|
71
|
-
|
|
62
|
+
const getSavableEntityMethodsSpec = (lang, entity) => {
|
|
63
|
+
let docs = '';
|
|
72
64
|
if (entity.methods.length) {
|
|
73
65
|
docs += '\n';
|
|
74
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
75
|
-
for (
|
|
76
|
-
var method = _a[_i];
|
|
66
|
+
docs += (0, titleMd_1.titleMd3)(`Методы`);
|
|
67
|
+
for (const method of entity.methods) {
|
|
77
68
|
docs += getServiceMethodSpec(lang, entity, method);
|
|
78
69
|
}
|
|
79
70
|
}
|
|
80
71
|
return docs;
|
|
81
72
|
};
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
const getSavableEntityLabelsSpec = (entity) => {
|
|
74
|
+
let docs = '';
|
|
84
75
|
if (entity.labels.length) {
|
|
85
76
|
docs += '\n';
|
|
86
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
87
|
-
docs += entity.labels.map(
|
|
77
|
+
docs += (0, titleMd_1.titleMd3)(`Лейблы`);
|
|
78
|
+
docs += entity.labels.map(label => `* ${label}\n`).join('');
|
|
88
79
|
}
|
|
89
80
|
return docs;
|
|
90
81
|
};
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
const getReportLabelsSpec = (entity) => {
|
|
83
|
+
let docs = '';
|
|
93
84
|
if (entity.labels.length) {
|
|
94
85
|
docs += '\n';
|
|
95
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
96
|
-
docs += entity.labels.map(
|
|
86
|
+
docs += (0, titleMd_1.titleMd3)(`Лейблы`);
|
|
87
|
+
docs += entity.labels.map(label => `* ${label}\n`).join('');
|
|
97
88
|
}
|
|
98
89
|
return docs;
|
|
99
90
|
};
|
|
100
|
-
|
|
101
|
-
|
|
91
|
+
const getSavableEntityClearDBAfterSpec = (entity) => {
|
|
92
|
+
let docs = '';
|
|
102
93
|
if (entity.clearDBAfter.length) {
|
|
103
94
|
docs += '\n';
|
|
104
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
105
|
-
docs += entity.clearDBAfter.map(
|
|
95
|
+
docs += (0, titleMd_1.titleMd3)(`Периоды автоочистки`);
|
|
96
|
+
docs += entity.clearDBAfter.map(clearDBAfter => `* ${clearDBAfter.count} ${clearDBAfter.unit}\n`).join('');
|
|
106
97
|
}
|
|
107
98
|
return docs;
|
|
108
99
|
};
|
|
109
|
-
|
|
110
|
-
|
|
100
|
+
const getEntityPredefinedSpec = (entity) => {
|
|
101
|
+
let docs = '';
|
|
111
102
|
if (entity.predefinedElements.length) {
|
|
112
103
|
docs += '\n';
|
|
113
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
114
|
-
docs +=
|
|
115
|
-
entity.fields.filter(
|
|
116
|
-
|
|
104
|
+
docs += (0, titleMd_1.titleMd3)(`Предопределенные элементы`);
|
|
105
|
+
docs += `${(0, markdown_table_1.default)([
|
|
106
|
+
entity.fields.filter(f => !f.hidden).map(f => f.name),
|
|
107
|
+
...entity.predefinedElements.map((f) => entity.fields.filter(f => !f.hidden).map(field => f[field.name])),
|
|
108
|
+
])}`;
|
|
117
109
|
docs += '\n';
|
|
118
110
|
}
|
|
119
111
|
return docs;
|
|
120
112
|
};
|
|
121
|
-
|
|
122
|
-
|
|
113
|
+
const getEntityUniqueConstraintsSpec = (entity) => {
|
|
114
|
+
let docs = '';
|
|
123
115
|
if (entity.uniqueConstraints.length) {
|
|
124
116
|
docs += '\n';
|
|
125
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
126
|
-
docs += entity.uniqueConstraints.map(
|
|
117
|
+
docs += (0, titleMd_1.titleMd3)(`Ограничения уникальности`);
|
|
118
|
+
docs += entity.uniqueConstraints.map(с => `* ${с.map(c => `\`${c}\``).join(', ')}\n`).join('');
|
|
127
119
|
}
|
|
128
120
|
return docs;
|
|
129
121
|
};
|
|
130
|
-
|
|
131
|
-
|
|
122
|
+
const getDocRegistriesSpec = (lang, entity, entities) => {
|
|
123
|
+
let docs = '';
|
|
132
124
|
if (entity.registries.length) {
|
|
133
125
|
docs += '\n';
|
|
134
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
135
|
-
docs +=
|
|
126
|
+
docs += (0, titleMd_1.titleMd3)(`Связанные регистры`);
|
|
127
|
+
docs += `${entity.registries.map(name => `${getEntityLink(lang, entities.find(r => r.name === name))}`).join(', ')}\n`;
|
|
136
128
|
}
|
|
137
129
|
return docs;
|
|
138
130
|
};
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
131
|
+
const getSumRegistryRegistrarsSpec = (lang, entity, documents) => {
|
|
132
|
+
let docs = '';
|
|
133
|
+
const registrars = documents.filter(d => d.registries.includes(entity.name));
|
|
142
134
|
if (registrars.length) {
|
|
143
135
|
docs += '\n';
|
|
144
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
145
|
-
docs +=
|
|
136
|
+
docs += (0, titleMd_1.titleMd3)(`Регистраторы`);
|
|
137
|
+
docs += `${registrars.map(registrar => `${getEntityLink(lang, registrar)}`).join(', ')}\n`;
|
|
146
138
|
}
|
|
147
139
|
return docs;
|
|
148
140
|
};
|
|
149
|
-
|
|
150
|
-
|
|
141
|
+
const getEntitySpec = (lang, entity, entities, links) => {
|
|
142
|
+
let docs = '';
|
|
151
143
|
docs += getSavableEntityHeaderSpec(lang, entity);
|
|
152
144
|
docs += getEntityLinksToEntitySpec(lang, links);
|
|
153
145
|
docs += '\n';
|
|
@@ -159,8 +151,8 @@ var getEntitySpec = function (lang, entity, entities, links) {
|
|
|
159
151
|
docs += getSavableEntityClearDBAfterSpec(entity);
|
|
160
152
|
return docs;
|
|
161
153
|
};
|
|
162
|
-
|
|
163
|
-
|
|
154
|
+
const getDocSpec = (lang, entity, entities, links) => {
|
|
155
|
+
let docs = '';
|
|
164
156
|
docs += getSavableEntityHeaderSpec(lang, entity);
|
|
165
157
|
docs += getEntityLinksToEntitySpec(lang, links);
|
|
166
158
|
docs += '\n';
|
|
@@ -172,8 +164,8 @@ var getDocSpec = function (lang, entity, entities, links) {
|
|
|
172
164
|
docs += getSavableEntityLabelsSpec(entity);
|
|
173
165
|
return docs;
|
|
174
166
|
};
|
|
175
|
-
|
|
176
|
-
|
|
167
|
+
const getSumRegistrySpec = (lang, entity, entities, documents, links) => {
|
|
168
|
+
let docs = '';
|
|
177
169
|
docs += getSavableEntityHeaderSpec(lang, entity);
|
|
178
170
|
docs += getEntityLinksToEntitySpec(lang, links);
|
|
179
171
|
docs += '\n';
|
|
@@ -185,44 +177,47 @@ var getSumRegistrySpec = function (lang, entity, entities, documents, links) {
|
|
|
185
177
|
docs += getSavableEntityLabelsSpec(entity);
|
|
186
178
|
return docs;
|
|
187
179
|
};
|
|
188
|
-
|
|
189
|
-
|
|
180
|
+
const getEntitiesToCLinks = (lang, title, entities) => {
|
|
181
|
+
let text = '';
|
|
190
182
|
text += getToCSimpleLink(title, 1);
|
|
191
|
-
text += entities.map(
|
|
183
|
+
text += entities.map(m => getToCSimpleLink(m.title[lang].singular, 2)).join('');
|
|
192
184
|
return text;
|
|
193
185
|
};
|
|
194
|
-
|
|
195
|
-
|
|
186
|
+
const getRestApisToCLinks = (lang, title, apis) => {
|
|
187
|
+
let text = '';
|
|
196
188
|
text += getToCSimpleLink(title, 1);
|
|
197
|
-
text += apis.map(
|
|
198
|
-
getToCSimpleLink(api.title[lang].singular, 2)
|
|
199
|
-
|
|
189
|
+
text += apis.map(api => [
|
|
190
|
+
getToCSimpleLink(api.title[lang].singular, 2),
|
|
191
|
+
...api.methods.map(m => getToCLink(m.name, `${api.name}.${m.name}`, 3)),
|
|
192
|
+
]).flat().join('');
|
|
200
193
|
return text;
|
|
201
194
|
};
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
const getIntegrationClientsToCLinks = (lang, title, cleints) => {
|
|
196
|
+
let text = '';
|
|
204
197
|
text += getToCSimpleLink(title, 1);
|
|
205
|
-
text += cleints.map(
|
|
206
|
-
getToCSimpleLink(cleint.title[lang].singular, 2)
|
|
207
|
-
|
|
198
|
+
text += cleints.map(cleint => [
|
|
199
|
+
getToCSimpleLink(cleint.title[lang].singular, 2),
|
|
200
|
+
...cleint.queryMethods.map(m => getToCLink(m.name, `${cleint.name}.${m.name}`, 3)),
|
|
201
|
+
]).flat().join('');
|
|
208
202
|
return text;
|
|
209
203
|
};
|
|
210
|
-
|
|
211
|
-
|
|
204
|
+
const getAdditionalServicesToCLinks = (lang, title, cleints) => {
|
|
205
|
+
let text = '';
|
|
212
206
|
text += getToCSimpleLink(title, 1);
|
|
213
|
-
text += cleints.map(
|
|
214
|
-
getToCSimpleLink(cleint.title[lang].singular, 2)
|
|
215
|
-
|
|
207
|
+
text += cleints.map(cleint => [
|
|
208
|
+
getToCSimpleLink(cleint.title[lang].singular, 2),
|
|
209
|
+
...cleint.methods.map(m => getToCLink(m.name, `${cleint.name}.${m.name}`, 3)),
|
|
210
|
+
]).flat().join('');
|
|
216
211
|
return text;
|
|
217
212
|
};
|
|
218
|
-
|
|
219
|
-
|
|
213
|
+
const getSavableEntityToCLinks = (lang, title, entities) => {
|
|
214
|
+
let text = '';
|
|
220
215
|
text += getToCSimpleLink(title, 1);
|
|
221
|
-
text += entities.map(
|
|
216
|
+
text += entities.map(m => getToCSimpleLink(m.title[lang].plural, 2)).join('');
|
|
222
217
|
return text;
|
|
223
218
|
};
|
|
224
|
-
|
|
225
|
-
|
|
219
|
+
const getTableOfContentsSpec = (meta) => {
|
|
220
|
+
let text = '';
|
|
226
221
|
text += (0, titleMd_1.titleMd1)('Оглавление');
|
|
227
222
|
if (meta.catalogs.length) {
|
|
228
223
|
text += getSavableEntityToCLinks(meta.defaultLanguage, 'Каталоги', meta.catalogs);
|
|
@@ -259,262 +254,257 @@ var getTableOfContentsSpec = function (meta) {
|
|
|
259
254
|
}
|
|
260
255
|
return text;
|
|
261
256
|
};
|
|
262
|
-
|
|
263
|
-
|
|
257
|
+
const getCommonInfoSpec = (meta) => {
|
|
258
|
+
let text = '';
|
|
264
259
|
text += (0, titleMd_1.titleMd1)('Общие сведения');
|
|
265
|
-
text +=
|
|
266
|
-
text +=
|
|
267
|
-
text +=
|
|
260
|
+
text += `* Название: ${meta.name}\n`;
|
|
261
|
+
text += `* Нужен для: ${meta.needFor}\n`;
|
|
262
|
+
text += `* Префикс: ${meta.prefix}\n`;
|
|
268
263
|
return text;
|
|
269
264
|
};
|
|
270
|
-
|
|
265
|
+
const getMenuItemSpec = (item, level) => {
|
|
271
266
|
switch (item.itemType) {
|
|
272
267
|
case buildedTypes_1.MenuItemType.Group:
|
|
273
|
-
return item.items.map(
|
|
268
|
+
return item.items.map(i => getMenuItemSpec(i, level + 1)).join('');
|
|
274
269
|
case buildedTypes_1.MenuItemType.Internal:
|
|
275
|
-
return
|
|
270
|
+
return `${' '.repeat(level - 1)}* ${item.label} (${item.link})\n`;
|
|
276
271
|
case buildedTypes_1.MenuItemType.External:
|
|
277
|
-
return
|
|
272
|
+
return `${' '.repeat(level - 1)}* ${item.label} (${item.link})\n`;
|
|
278
273
|
}
|
|
279
274
|
};
|
|
280
|
-
|
|
275
|
+
const getMethodsSpec = (meta) => {
|
|
281
276
|
if (!meta.methods.length) {
|
|
282
277
|
return;
|
|
283
278
|
}
|
|
284
|
-
|
|
279
|
+
let text = '';
|
|
285
280
|
text += (0, titleMd_1.titleMd1)('Доп методы');
|
|
286
|
-
for (
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
docs += "* ".concat(method, "\n");
|
|
281
|
+
for (const method of meta.methods) {
|
|
282
|
+
let docs = '';
|
|
283
|
+
docs += `* ${method}\n`;
|
|
290
284
|
return docs;
|
|
291
285
|
}
|
|
292
286
|
text += '\n';
|
|
293
287
|
return text;
|
|
294
288
|
};
|
|
295
|
-
|
|
289
|
+
const getLabelsSpec = (meta) => {
|
|
296
290
|
if (!meta.labels.length) {
|
|
297
291
|
return;
|
|
298
292
|
}
|
|
299
|
-
|
|
293
|
+
let text = '';
|
|
300
294
|
text += (0, titleMd_1.titleMd1)('Доп лейблы');
|
|
301
|
-
for (
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
docs += "* ".concat(label, "\n");
|
|
295
|
+
for (const label of meta.labels) {
|
|
296
|
+
let docs = '';
|
|
297
|
+
docs += `* ${label}\n`;
|
|
305
298
|
return docs;
|
|
306
299
|
}
|
|
307
300
|
text += '\n';
|
|
308
301
|
return text;
|
|
309
302
|
};
|
|
310
|
-
|
|
303
|
+
const getMenuSpec = (meta) => {
|
|
311
304
|
if (!meta.menuItems.length) {
|
|
312
305
|
return;
|
|
313
306
|
}
|
|
314
|
-
|
|
307
|
+
let text = '';
|
|
315
308
|
text += (0, titleMd_1.titleMd1)('Меню');
|
|
316
|
-
for (
|
|
317
|
-
var item = _a[_i];
|
|
309
|
+
for (const item of meta.menuItems) {
|
|
318
310
|
text += getMenuItemSpec(item, 1);
|
|
319
311
|
}
|
|
320
312
|
return text;
|
|
321
313
|
};
|
|
322
|
-
|
|
314
|
+
const getGlosarySpec = (meta) => {
|
|
323
315
|
if (!meta.glossary.length) {
|
|
324
316
|
return;
|
|
325
317
|
}
|
|
326
|
-
|
|
318
|
+
let text = '';
|
|
327
319
|
text += (0, titleMd_1.titleMd1)('Глоссарий');
|
|
328
|
-
text +=
|
|
329
|
-
['Термин', 'Расшифровка']
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
320
|
+
text += `${(0, markdown_table_1.default)([
|
|
321
|
+
['Термин', 'Расшифровка'],
|
|
322
|
+
...meta.glossary.map((f) => [
|
|
323
|
+
f.term,
|
|
324
|
+
f.definition,
|
|
325
|
+
]),
|
|
326
|
+
])}`;
|
|
334
327
|
text += '\n';
|
|
335
328
|
return text;
|
|
336
329
|
};
|
|
337
|
-
|
|
330
|
+
const getDocumentsSpec = (meta) => {
|
|
338
331
|
if (!meta.documents.length) {
|
|
339
332
|
return;
|
|
340
333
|
}
|
|
341
|
-
|
|
334
|
+
let text = '';
|
|
342
335
|
text += (0, titleMd_1.titleMd1)('Документы');
|
|
343
|
-
|
|
344
|
-
text += meta.documents.map(
|
|
345
|
-
|
|
336
|
+
const entities = (0, getAllSavableEntities_1.default)(meta);
|
|
337
|
+
text += meta.documents.map(entity => {
|
|
338
|
+
const links = (0, findLinksToEntities_1.default)(entities, entity.name);
|
|
346
339
|
return getDocSpec(meta.defaultLanguage, entity, entities, links);
|
|
347
340
|
}).join('\n');
|
|
348
341
|
return text;
|
|
349
342
|
};
|
|
350
|
-
|
|
343
|
+
const getCatalogsSpec = (meta) => {
|
|
351
344
|
if (!meta.catalogs.length) {
|
|
352
345
|
return;
|
|
353
346
|
}
|
|
354
|
-
|
|
347
|
+
let text = '';
|
|
355
348
|
text += (0, titleMd_1.titleMd1)('Каталоги');
|
|
356
|
-
|
|
357
|
-
text += meta.catalogs.map(
|
|
358
|
-
|
|
349
|
+
const entities = (0, getAllSavableEntities_1.default)(meta);
|
|
350
|
+
text += meta.catalogs.map(entity => {
|
|
351
|
+
const links = (0, findLinksToEntities_1.default)(entities, entity.name);
|
|
359
352
|
return getEntitySpec(meta.defaultLanguage, entity, entities, links);
|
|
360
353
|
}).join('\n');
|
|
361
354
|
text += '\n';
|
|
362
355
|
return text;
|
|
363
356
|
};
|
|
364
|
-
|
|
357
|
+
const getInfoRegistriesSpec = (meta) => {
|
|
365
358
|
if (!meta.infoRegistries.length) {
|
|
366
359
|
return;
|
|
367
360
|
}
|
|
368
|
-
|
|
361
|
+
let text = '';
|
|
369
362
|
text += (0, titleMd_1.titleMd1)('Информационные регистры');
|
|
370
|
-
|
|
371
|
-
text += meta.infoRegistries.map(
|
|
372
|
-
|
|
363
|
+
const entities = (0, getAllSavableEntities_1.default)(meta);
|
|
364
|
+
text += meta.infoRegistries.map(entity => {
|
|
365
|
+
const links = (0, findLinksToEntities_1.default)(entities, entity.name);
|
|
373
366
|
return getEntitySpec(meta.defaultLanguage, entity, entities, links);
|
|
374
367
|
}).join('\n');
|
|
375
368
|
return text;
|
|
376
369
|
};
|
|
377
|
-
|
|
370
|
+
const getSumRegistriesSpec = (meta) => {
|
|
378
371
|
if (!meta.sumRegistries.length) {
|
|
379
372
|
return;
|
|
380
373
|
}
|
|
381
|
-
|
|
374
|
+
let text = '';
|
|
382
375
|
text += (0, titleMd_1.titleMd1)('Регистры накопления');
|
|
383
|
-
|
|
384
|
-
text += meta.sumRegistries.map(
|
|
385
|
-
|
|
376
|
+
const entities = (0, getAllSavableEntities_1.default)(meta);
|
|
377
|
+
text += meta.sumRegistries.map(entity => {
|
|
378
|
+
const links = (0, findLinksToEntities_1.default)(entities, entity.name);
|
|
386
379
|
return getSumRegistrySpec(meta.defaultLanguage, entity, entities, meta.documents, links);
|
|
387
380
|
}).join('\n');
|
|
388
381
|
return text;
|
|
389
382
|
};
|
|
390
|
-
|
|
383
|
+
const getLanguagesSpec = (meta) => {
|
|
391
384
|
if (!meta.languages.length) {
|
|
392
385
|
return;
|
|
393
386
|
}
|
|
394
|
-
|
|
387
|
+
let text = '';
|
|
395
388
|
text += (0, titleMd_1.titleMd1)('Языки');
|
|
396
|
-
text += meta.languages.map(
|
|
389
|
+
text += meta.languages.map(l => `* ${l.title} (${l.id})\n`).join('');
|
|
397
390
|
return text;
|
|
398
391
|
};
|
|
399
|
-
|
|
392
|
+
const getRolesSpec = (meta) => {
|
|
400
393
|
if (!meta.roles.length) {
|
|
401
394
|
return;
|
|
402
395
|
}
|
|
403
|
-
|
|
396
|
+
let text = '';
|
|
404
397
|
text += (0, titleMd_1.titleMd1)('Роли');
|
|
405
|
-
text += meta.roles.map(
|
|
398
|
+
text += meta.roles.map(r => `* ${r.name} ${r.title[meta.defaultLanguage].singular} (${r.needFor[meta.defaultLanguage]})\n`).join('');
|
|
406
399
|
return text;
|
|
407
400
|
};
|
|
408
|
-
|
|
401
|
+
const getReportsSpec = (meta) => {
|
|
409
402
|
if (!meta.reports.length) {
|
|
410
403
|
return;
|
|
411
404
|
}
|
|
412
|
-
|
|
405
|
+
let text = '';
|
|
413
406
|
text += (0, titleMd_1.titleMd1)('Отчеты');
|
|
414
|
-
text += meta.reports.map(
|
|
415
|
-
|
|
407
|
+
text += meta.reports.map(report => {
|
|
408
|
+
let docs = '';
|
|
416
409
|
docs += getEntityHeaderSpec(meta.defaultLanguage, report);
|
|
417
410
|
docs += getReportLabelsSpec(report);
|
|
418
411
|
return docs;
|
|
419
412
|
}).join('\n');
|
|
420
413
|
return text;
|
|
421
414
|
};
|
|
422
|
-
|
|
415
|
+
const getRestApisSpec = (meta) => {
|
|
423
416
|
if (!meta.restApis.length) {
|
|
424
417
|
return;
|
|
425
418
|
}
|
|
426
|
-
|
|
419
|
+
let text = '';
|
|
427
420
|
text += (0, titleMd_1.titleMd1)('Апи');
|
|
428
|
-
text += meta.restApis.map(
|
|
429
|
-
|
|
421
|
+
text += meta.restApis.map(entity => {
|
|
422
|
+
let docs = '';
|
|
430
423
|
docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
|
|
431
|
-
for (
|
|
432
|
-
|
|
433
|
-
docs +=
|
|
434
|
-
docs += "".concat(method.title[meta.defaultLanguage].singular, ". `").concat(method.httpMethod, "`\n\n");
|
|
424
|
+
for (const method of entity.methods) {
|
|
425
|
+
docs += (0, titleMd_1.titleMd3)(`${entity.name}.${method.name}`);
|
|
426
|
+
docs += `${method.title[meta.defaultLanguage].singular}. \`${method.httpMethod}\`\n\n`;
|
|
435
427
|
if (method.urlExample) {
|
|
436
|
-
docs +=
|
|
428
|
+
docs += `Пример урла: \`${method.urlExample}\`\n\n`;
|
|
437
429
|
}
|
|
438
430
|
if (method.needFor[meta.defaultLanguage]) {
|
|
439
|
-
docs +=
|
|
431
|
+
docs += `Нужен для: ${method.needFor[meta.defaultLanguage]}\n\n`;
|
|
440
432
|
}
|
|
441
433
|
}
|
|
442
434
|
return docs;
|
|
443
435
|
}).join('\n');
|
|
444
436
|
return text;
|
|
445
437
|
};
|
|
446
|
-
|
|
438
|
+
const getIntegrationClientsSpec = (meta) => {
|
|
447
439
|
if (!meta.integrationClients.length) {
|
|
448
440
|
return;
|
|
449
441
|
}
|
|
450
|
-
|
|
442
|
+
let text = '';
|
|
451
443
|
text += (0, titleMd_1.titleMd1)('Интеграционные клиенты');
|
|
452
|
-
text +=
|
|
453
|
-
text += meta.integrationClients.map(
|
|
444
|
+
text += `Используются дли запросов во внешние системы\n\n`;
|
|
445
|
+
text += meta.integrationClients.map(entity => {
|
|
454
446
|
if (!entity.queryMethods.length) {
|
|
455
447
|
return;
|
|
456
448
|
}
|
|
457
|
-
|
|
449
|
+
let docs = '';
|
|
458
450
|
docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
|
|
459
|
-
for (
|
|
460
|
-
|
|
461
|
-
docs +=
|
|
462
|
-
docs += "".concat(queryMethod.title[meta.defaultLanguage].singular, "\n\n");
|
|
451
|
+
for (const queryMethod of entity.queryMethods) {
|
|
452
|
+
docs += (0, titleMd_1.titleMd3)(`${entity.name}.${queryMethod.name}`);
|
|
453
|
+
docs += `${queryMethod.title[meta.defaultLanguage].singular}\n\n`;
|
|
463
454
|
if (queryMethod.needFor[meta.defaultLanguage]) {
|
|
464
|
-
docs +=
|
|
455
|
+
docs += `Нужен для: ${queryMethod.needFor[meta.defaultLanguage]}\n\n`;
|
|
465
456
|
}
|
|
466
457
|
}
|
|
467
458
|
return docs;
|
|
468
459
|
}).filter(Boolean).join('\n');
|
|
469
460
|
return text;
|
|
470
461
|
};
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
text += (0, titleMd_1.titleMd3)(
|
|
474
|
-
text +=
|
|
475
|
-
text +=
|
|
476
|
-
text +=
|
|
477
|
-
text +=
|
|
462
|
+
const getServiceMethodSpec = (lang, service, method) => {
|
|
463
|
+
let text = '';
|
|
464
|
+
text += (0, titleMd_1.titleMd3)(`${service.name}.${method.name}`);
|
|
465
|
+
text += `${method.title[lang].singular}\n\n`;
|
|
466
|
+
text += `Экспортируется через апи: ${method.exportedToApi ? 'да' : 'нет'}\n\n`;
|
|
467
|
+
text += `Можно запускать через очередь: ${method.queable ? 'да' : 'нет'}\n\n`;
|
|
468
|
+
text += `Тип: \`${method.methodType}\`\n\n`;
|
|
478
469
|
if (method.needFor[lang]) {
|
|
479
|
-
text +=
|
|
470
|
+
text += `Нужен для: ${method.needFor[lang]}\n\n`;
|
|
480
471
|
}
|
|
481
472
|
return text;
|
|
482
473
|
};
|
|
483
|
-
|
|
474
|
+
const getAdditionalServicesSpec = (meta) => {
|
|
484
475
|
if (!meta.additionalServices.length) {
|
|
485
476
|
return;
|
|
486
477
|
}
|
|
487
|
-
|
|
478
|
+
let text = '';
|
|
488
479
|
text += (0, titleMd_1.titleMd1)('Дополнителььные сервисы');
|
|
489
|
-
text += meta.additionalServices.map(
|
|
480
|
+
text += meta.additionalServices.map(entity => {
|
|
490
481
|
if (!entity.methods.length) {
|
|
491
482
|
return;
|
|
492
483
|
}
|
|
493
|
-
|
|
484
|
+
let docs = '';
|
|
494
485
|
docs += getEntityHeaderSpec(meta.defaultLanguage, entity);
|
|
495
|
-
for (
|
|
496
|
-
var method = _a[_i];
|
|
486
|
+
for (const method of entity.methods) {
|
|
497
487
|
docs += getServiceMethodSpec(meta.defaultLanguage, entity, method);
|
|
498
488
|
}
|
|
499
489
|
return docs;
|
|
500
490
|
}).filter(Boolean).join('\n');
|
|
501
491
|
return text;
|
|
502
492
|
};
|
|
503
|
-
|
|
493
|
+
const getSystemAdditionalPagesSpec = (meta) => {
|
|
504
494
|
if (!meta.pages.length) {
|
|
505
495
|
return;
|
|
506
496
|
}
|
|
507
|
-
|
|
497
|
+
let text = '';
|
|
508
498
|
text += (0, titleMd_1.titleMd1)('Доп старницы');
|
|
509
|
-
text += meta.pages.map(
|
|
510
|
-
|
|
511
|
-
docs += (0, titleMd_1.titleMd3)(
|
|
499
|
+
text += meta.pages.map(page => {
|
|
500
|
+
let docs = '';
|
|
501
|
+
docs += (0, titleMd_1.titleMd3)(`${page.title[meta.defaultLanguage].singular}`);
|
|
512
502
|
return docs;
|
|
513
503
|
}).filter(Boolean).join('\n');
|
|
514
504
|
return text;
|
|
515
505
|
};
|
|
516
|
-
|
|
517
|
-
|
|
506
|
+
const getProjectSpec = (meta) => {
|
|
507
|
+
let spec = '\n';
|
|
518
508
|
spec += [
|
|
519
509
|
getCommonInfoSpec(meta),
|
|
520
510
|
getTableOfContentsSpec(meta),
|
|
@@ -539,4 +529,4 @@ var getProjectSpec = function (meta) {
|
|
|
539
529
|
return spec;
|
|
540
530
|
};
|
|
541
531
|
exports.default = getProjectSpec;
|
|
542
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJvamVjdFNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2Vudmlyb25tZW50L2RvY3Mvc3BlYy9nZXRQcm9qZWN0U3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLGtFQUEyQztBQUMzQyx3RUFlaUQ7QUFDakQsOEVBQXdEO0FBQ3hELGtGQUE0RDtBQUM1RCxxQ0FBdUQ7QUFFdkQsSUFBTSxLQUFLLEdBQUcsVUFBQyxNQUFjLElBQUssT0FBQSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUE3RCxDQUE2RCxDQUFDO0FBQ2hHLElBQU0sT0FBTyxHQUFHLFVBQUMsS0FBYSxFQUFFLElBQVksSUFBSyxPQUFBLFdBQUksS0FBSyxnQkFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQUcsRUFBN0IsQ0FBNkIsQ0FBQztBQUMvRSxJQUFNLGFBQWEsR0FBRyxVQUFDLEtBQWEsSUFBSyxPQUFBLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQXJCLENBQXFCLENBQUM7QUFDL0QsSUFBTSxhQUFhLEdBQUcsVUFBQyxJQUFZLEVBQUUsTUFBeUIsSUFBSyxPQUFBLE9BQU8sQ0FBQyxXQUFLLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxNQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBdEUsQ0FBc0UsQ0FBQztBQUMxSSxJQUFNLFVBQVUsR0FBRyxVQUFDLEtBQWEsRUFBRSxJQUFZLEVBQUUsS0FBYSxJQUFLLE9BQUEsVUFBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtB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
|
|
532
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UHJvamVjdFNwZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2dlbmVyYXRvcnMvZmlsZVRlbXBsYXRlcy9iYWNrL2Vudmlyb25tZW50L2RvY3Mvc3BlYy9nZXRQcm9qZWN0U3BlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9FQUEyQztBQUMzQywwRUFlaUQ7QUFDakQsZ0ZBQXdEO0FBQ3hELG9GQUE0RDtBQUM1RCx1Q0FBdUQ7QUFFdkQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDaEcsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztBQUMvRSxNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMvRCxNQUFNLGFBQWEsR0FBRyxDQUFDLElBQVksRUFBRSxNQUF5QixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDMUksTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFhLEVBQUUsSUFBWSxFQUFFLEtBQWEsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMs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
|