runlify 0.0.372 → 0.0.374
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/bin/runlify +0 -0
- package/build/cli.js +68 -68
- package/build/commands/availableEnvironments.js +65 -65
- package/build/commands/generate.js +61 -61
- package/build/commands/init.js +183 -183
- package/build/commands/login.js +57 -57
- package/build/commands/logout.js +55 -55
- package/build/commands/pullEnvs.js +84 -84
- package/build/commands/readEnv.js +59 -59
- package/build/commands/regen.js +64 -64
- package/build/commands/runlify.js +50 -50
- package/build/commands/showToken.js +60 -60
- package/build/commands/start.js +128 -128
- package/build/commands/tryGetMeta.js +57 -57
- package/build/documentation/algorithm.js +2 -2
- package/build/documentation/algoritmToDoc.js +23 -23
- package/build/documentation/algoritmToDoc.spec.js +58 -58
- package/build/documentation/curlExampleToText.js +58 -58
- package/build/documentation/curlExampleToText.spec.js +61 -61
- package/build/documentation/doc.js +3 -3
- package/build/documentation/docToFlatDoc.js +53 -53
- package/build/documentation/docToFlatDoc.spec.js +221 -221
- package/build/documentation/flatDoc.js +3 -3
- package/build/documentation/flatDocToText.js +16 -16
- package/build/documentation/flatDocToText.spec.js +71 -71
- package/build/documentation/templateDoc.js +3 -3
- package/build/documentation/templateDocToDoc.js +8 -8
- package/build/extensions/auth.js +135 -135
- package/build/extensions/cli-extension.js +16 -16
- package/build/extensions/cloudEnv.js +154 -154
- package/build/extensions/cloudMeta.js +84 -84
- package/build/extensions/globalConfig.js +93 -93
- package/build/extensions/localConfig.js +57 -57
- package/build/extensions/preventRunningIfUpdateAvailable.js +62 -62
- package/build/index.js +23 -23
- package/build/log.js +37 -37
- package/build/projectsGeneration/args.js +101 -101
- package/build/projectsGeneration/builders/BaseBuilder.js +86 -86
- package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +290 -290
- package/build/projectsGeneration/builders/CatalogBuilder.js +81 -81
- package/build/projectsGeneration/builders/DeploymentBuilder.js +71 -71
- package/build/projectsGeneration/builders/DocumentBuilder.js +99 -99
- package/build/projectsGeneration/builders/InfoRegistryBuilder.js +233 -233
- package/build/projectsGeneration/builders/ReportBuilder.js +47 -47
- package/build/projectsGeneration/builders/RestApiBuilder.js +58 -58
- package/build/projectsGeneration/builders/RestApiMethodBuilder.js +70 -70
- package/build/projectsGeneration/builders/RoleBuilder.js +45 -45
- package/build/projectsGeneration/builders/SumRegistryBuilder.js +219 -219
- package/build/projectsGeneration/builders/SystemMetaBuilder.js +430 -430
- package/build/projectsGeneration/builders/TelegramBotBuilder.js +43 -43
- package/build/projectsGeneration/builders/buildedTypes.js +19 -19
- package/build/projectsGeneration/builders/curlTypes.js +2 -2
- package/build/projectsGeneration/builders/docs/DocumentationOfDocument.js +2 -2
- package/build/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.js +19 -19
- package/build/projectsGeneration/builders/fields/BaseFieldBuilder.js +235 -235
- package/build/projectsGeneration/builders/fields/IdFieldBuilder.js +98 -98
- package/build/projectsGeneration/builders/fields/LinkFieldBuilder.js +101 -101
- package/build/projectsGeneration/builders/fields/ScalarFieldBuilder.js +70 -70
- package/build/projectsGeneration/builders/fields/ViewLinkFieldBuilder.js +90 -90
- package/build/projectsGeneration/builders/index.js +19 -19
- package/build/projectsGeneration/builders/materialUiIcons.js +8881 -8881
- package/build/projectsGeneration/builders/tsFilterFields.js +38 -38
- package/build/projectsGeneration/builders/tsFilterFields.spec.js +28 -28
- package/build/projectsGeneration/builders/types.js +2 -2
- package/build/projectsGeneration/builders/ui/Forms.js +2 -2
- package/build/projectsGeneration/builders/ui/FormsBuilder.js +20 -20
- package/build/projectsGeneration/builders/ui/ListFormBuilder.js +20 -20
- package/build/projectsGeneration/builders/ui/ListFormFilterBuilder.js +28 -28
- package/build/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.js +24 -24
- package/build/projectsGeneration/builders/utils/accessFunctions.js +11 -11
- package/build/projectsGeneration/builders/validation/baseValudationToYupAssertions.js +12 -12
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.js +13 -13
- package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.js +22 -22
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.js +12 -12
- package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.js +21 -21
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.js +22 -22
- package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.js +24 -24
- package/build/projectsGeneration/builders/validation/numberValudationToYupAssertions.js +37 -37
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.js +14 -14
- package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.js +21 -21
- package/build/projectsGeneration/builders/validation/types.js +17 -17
- package/build/projectsGeneration/commonEntities/addAggregateTrackings.js +48 -48
- package/build/projectsGeneration/commonEntities/addAuditLogs.js +160 -160
- package/build/projectsGeneration/commonEntities/addAutogeneration.js +158 -158
- package/build/projectsGeneration/commonEntities/addCommonCommands.js +20 -20
- package/build/projectsGeneration/commonEntities/addCommonEntities.js +31 -31
- package/build/projectsGeneration/commonEntities/addLanguages.js +18 -18
- package/build/projectsGeneration/commonEntities/addManagers.js +166 -166
- package/build/projectsGeneration/commonEntities/addRefreshTokens.js +50 -50
- package/build/projectsGeneration/commonEntities/addRoles.js +204 -204
- package/build/projectsGeneration/commonEntities/addTenants.js +30 -30
- package/build/projectsGeneration/commonEntities/addUsers.js +56 -56
- package/build/projectsGeneration/commonEntities/index.js +28 -28
- package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +60 -60
- package/build/projectsGeneration/defaultCatalogs/files.js +29 -28
- package/build/projectsGeneration/defaultCatalogs/index.js +18 -18
- package/build/projectsGeneration/genGraphSchemesByLocalGenerator.js +107 -107
- package/build/projectsGeneration/generateEntity.js +358 -358
- package/build/projectsGeneration/generateEnvironment.js +258 -258
- package/build/projectsGeneration/generateProject.js +803 -803
- package/build/projectsGeneration/generators/fieldTypeToTsType.js +25 -25
- package/build/projectsGeneration/generators/fileTemplates/back/Entities.js +18 -18
- package/build/projectsGeneration/generators/fileTemplates/back/devEnum.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/enum.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.js +15 -15
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/values.js +19 -19
- package/build/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.js +35 -35
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +26 -26
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.js +8 -8
- package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.js +35 -35
- package/build/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.js +45 -45
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/environment/src/index.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.js +13 -13
- package/build/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.js +4 -4
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.js +7 -7
- package/build/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.js +4 -4
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/graph/resolvers.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/graph/types.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/back/initCommon.js +53 -53
- package/build/projectsGeneration/generators/fileTemplates/back/initDev.js +45 -45
- package/build/projectsGeneration/generators/fileTemplates/back/initEntities.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/root/config/index.js +34 -34
- package/build/projectsGeneration/generators/fileTemplates/back/root/restRouter.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/back/services/BaseServices.js +14 -14
- package/build/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +74 -74
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +82 -82
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.js +17 -17
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +14 -14
- package/build/projectsGeneration/generators/fileTemplates/ui/Dashboard.js +4 -4
- package/build/projectsGeneration/generators/fileTemplates/ui/MetaPage.js +7 -7
- package/build/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/entityMapping.js +15 -15
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +28 -28
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.js +32 -32
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/App.js +13 -13
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +16 -16
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/functions/Functions.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +22 -22
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.js +23 -23
- package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.js +17 -17
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +102 -102
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +152 -152
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +74 -74
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +90 -90
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.js +23 -23
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.js +52 -52
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +63 -63
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +79 -79
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.js +5 -5
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.js +7 -7
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.js +9 -9
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/Icon.js +11 -11
- package/build/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.js +68 -68
- package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +10 -10
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.js +12 -12
- package/build/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.js +19 -19
- package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalar.js +29 -29
- package/build/projectsGeneration/generators/graph/fields/genGraphField.js +20 -20
- package/build/projectsGeneration/generators/graph/fields/genGraphIdField.js +15 -15
- package/build/projectsGeneration/generators/graph/fields/genGraphIdFieldType.js +19 -19
- package/build/projectsGeneration/generators/graph/fields/genGraphLinkField.js +34 -34
- package/build/projectsGeneration/generators/graph/fields/genGraphScalarField.js +27 -27
- package/build/projectsGeneration/generators/graph/filters/genGraphField.js +20 -20
- package/build/projectsGeneration/generators/graph/filters/genGraphIdFilter.js +24 -24
- package/build/projectsGeneration/generators/graph/filters/genGraphLinkFilter.js +17 -17
- package/build/projectsGeneration/generators/graph/filters/genGraphScalarFilter.js +41 -41
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.js +102 -102
- package/build/projectsGeneration/generators/graph/genGraphCrudSchema.spec.js +86 -86
- package/build/projectsGeneration/generators/graph/genGraphFilterType.js +28 -28
- package/build/projectsGeneration/generators/graph/genGraphFilterType.spec.js +34 -34
- package/build/projectsGeneration/generators/graph/genGraphType.js +26 -26
- package/build/projectsGeneration/generators/graph/genGraphType.spec.js +27 -27
- package/build/projectsGeneration/generators/graph/printGraphType.js +10 -10
- package/build/projectsGeneration/generators/graph/printGraphType.spec.js +17 -17
- package/build/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.js +16 -16
- package/build/projectsGeneration/generators/prisma/fieldTypeToPrismaType.js +27 -27
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.js +10 -10
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.js +56 -56
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.js +21 -21
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.js +11 -11
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.js +34 -34
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.js +20 -20
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.js +44 -44
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.js +32 -32
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.js +85 -85
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.js +23 -23
- package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.js +116 -116
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +56 -56
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +96 -96
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +14 -14
- package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +15 -15
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.js +24 -24
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.js +20 -20
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.js +8 -8
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.js +14 -14
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.js +23 -23
- package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.js +8 -8
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.js +28 -28
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.js +20 -20
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.js +8 -8
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.js +16 -16
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.js +160 -160
- package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.js +8 -8
- package/build/projectsGeneration/generators/ui/componentNames/types.js +2 -2
- package/build/projectsGeneration/generators/ui/getLinkShowComponent.spec.js +41 -41
- package/build/projectsGeneration/generators/ui/getScalarShowComponent.spec.js +26 -26
- package/build/projectsGeneration/generators/ui/getShowComponent.js +44 -44
- package/build/projectsGeneration/index.js +27 -27
- package/build/projectsGeneration/links/getLinksFromExternalEntities.js +7 -7
- package/build/projectsGeneration/links/getLinksFromExternalEntities.spec.js +88 -88
- package/build/projectsGeneration/links/getLinksOfEntities.js +21 -21
- package/build/projectsGeneration/links/getLinksOfEntities.spec.js +203 -203
- package/build/projectsGeneration/links/getLinksToExternalEntities.js +7 -7
- package/build/projectsGeneration/links/getLinksToExternalEntities.spec.js +88 -88
- package/build/projectsGeneration/metaUtils.js +41 -41
- package/build/projectsGeneration/modelsGeneration.serialization.spec.js +95 -95
- package/build/projectsGeneration/modules/addEmailModuleEntities.js +204 -204
- package/build/projectsGeneration/modules/index.js +8 -8
- package/build/projectsGeneration/types.js +90 -90
- package/build/projectsGeneration/utils.js +86 -86
- package/build/refs/yup.spec.js +59 -59
- package/build/templates/model.ts.ejs +3 -0
- package/build/templates/runlify.developer.example.json.ejs +3 -0
- package/build/templates/runlify.json.ejs +6 -0
- package/build/types/cli.d.ts +1 -1
- package/build/types/commands/availableEnvironments.d.ts +1 -1
- package/build/types/commands/generate.d.ts +1 -1
- package/build/types/commands/init.d.ts +1 -1
- package/build/types/commands/login.d.ts +1 -1
- package/build/types/commands/logout.d.ts +1 -1
- package/build/types/commands/pullEnvs.d.ts +1 -1
- package/build/types/commands/readEnv.d.ts +1 -1
- package/build/types/commands/regen.d.ts +1 -1
- package/build/types/commands/runlify.d.ts +1 -1
- package/build/types/commands/showToken.d.ts +1 -1
- package/build/types/commands/start.d.ts +1 -1
- package/build/types/commands/tryGetMeta.d.ts +1 -1
- package/build/types/documentation/algorithm.d.ts +8 -8
- package/build/types/documentation/algoritmToDoc.d.ts +4 -4
- package/build/types/documentation/algoritmToDoc.spec.d.ts +1 -1
- package/build/types/documentation/curlExampleToText.d.ts +3 -3
- package/build/types/documentation/curlExampleToText.spec.d.ts +1 -1
- package/build/types/documentation/doc.d.ts +21 -21
- package/build/types/documentation/docToFlatDoc.d.ts +4 -4
- package/build/types/documentation/docToFlatDoc.spec.d.ts +1 -1
- package/build/types/documentation/flatDoc.d.ts +20 -20
- package/build/types/documentation/flatDocToText.d.ts +3 -3
- package/build/types/documentation/flatDocToText.spec.d.ts +1 -1
- package/build/types/documentation/templateDoc.d.ts +9 -9
- package/build/types/documentation/templateDocToDoc.d.ts +4 -4
- package/build/types/extensions/auth.d.ts +1 -1
- package/build/types/extensions/cli-extension.d.ts +1 -1
- package/build/types/extensions/cloudEnv.d.ts +1 -1
- package/build/types/extensions/cloudMeta.d.ts +1 -1
- package/build/types/extensions/globalConfig.d.ts +1 -1
- package/build/types/extensions/localConfig.d.ts +1 -1
- package/build/types/extensions/preventRunningIfUpdateAvailable.d.ts +1 -1
- package/build/types/index.d.ts +2 -2
- package/build/types/log.d.ts +3 -3
- package/build/types/projectsGeneration/args.d.ts +20 -20
- package/build/types/projectsGeneration/builders/BaseBuilder.d.ts +27 -27
- package/build/types/projectsGeneration/builders/BaseSavableEntityBuilder.d.ts +76 -76
- package/build/types/projectsGeneration/builders/CatalogBuilder.d.ts +14 -14
- package/build/types/projectsGeneration/builders/DeploymentBuilder.d.ts +13 -13
- package/build/types/projectsGeneration/builders/DocumentBuilder.d.ts +18 -18
- package/build/types/projectsGeneration/builders/InfoRegistryBuilder.d.ts +44 -44
- package/build/types/projectsGeneration/builders/ReportBuilder.d.ts +8 -8
- package/build/types/projectsGeneration/builders/RestApiBuilder.d.ts +12 -12
- package/build/types/projectsGeneration/builders/RestApiMethodBuilder.d.ts +20 -20
- package/build/types/projectsGeneration/builders/RoleBuilder.d.ts +8 -8
- package/build/types/projectsGeneration/builders/SumRegistryBuilder.d.ts +43 -43
- package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +80 -80
- package/build/types/projectsGeneration/builders/TelegramBotBuilder.d.ts +7 -7
- package/build/types/projectsGeneration/builders/buildedTypes.d.ts +264 -264
- package/build/types/projectsGeneration/builders/curlTypes.d.ts +24 -24
- package/build/types/projectsGeneration/builders/docs/DocumentationOfDocument.d.ts +10 -10
- package/build/types/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.d.ts +9 -9
- package/build/types/projectsGeneration/builders/fields/BaseFieldBuilder.d.ts +49 -49
- package/build/types/projectsGeneration/builders/fields/IdFieldBuilder.d.ts +12 -12
- package/build/types/projectsGeneration/builders/fields/LinkFieldBuilder.d.ts +15 -15
- package/build/types/projectsGeneration/builders/fields/ScalarFieldBuilder.d.ts +5 -5
- package/build/types/projectsGeneration/builders/fields/ViewLinkFieldBuilder.d.ts +13 -13
- package/build/types/projectsGeneration/builders/index.d.ts +3 -3
- package/build/types/projectsGeneration/builders/materialUiIcons.d.ts +2 -2
- package/build/types/projectsGeneration/builders/tsFilterFields.d.ts +2 -2
- package/build/types/projectsGeneration/builders/tsFilterFields.spec.d.ts +1 -1
- package/build/types/projectsGeneration/builders/types.d.ts +5 -5
- package/build/types/projectsGeneration/builders/ui/Forms.d.ts +14 -14
- package/build/types/projectsGeneration/builders/ui/FormsBuilder.d.ts +10 -10
- package/build/types/projectsGeneration/builders/ui/ListFormBuilder.d.ts +10 -10
- package/build/types/projectsGeneration/builders/ui/ListFormFilterBuilder.d.ts +10 -10
- package/build/types/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.d.ts +11 -11
- package/build/types/projectsGeneration/builders/utils/accessFunctions.d.ts +2 -2
- package/build/types/projectsGeneration/builders/validation/baseValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/bigintValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.d.ts +1 -1
- package/build/types/projectsGeneration/builders/validation/floatValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.d.ts +1 -1
- package/build/types/projectsGeneration/builders/validation/intValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.d.ts +1 -1
- package/build/types/projectsGeneration/builders/validation/numberValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/stringValudationToYupAssertions.d.ts +4 -4
- package/build/types/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.d.ts +1 -1
- package/build/types/projectsGeneration/builders/validation/types.d.ts +41 -41
- package/build/types/projectsGeneration/commonEntities/addAggregateTrackings.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addAuditLogs.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addAutogeneration.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addCommonCommands.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addCommonEntities.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addLanguages.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addManagers.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addRefreshTokens.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addRoles.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addTenants.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/addUsers.d.ts +3 -3
- package/build/types/projectsGeneration/commonEntities/index.d.ts +11 -11
- package/build/types/projectsGeneration/defaultCatalogs/addElasticSearch.d.ts +2 -2
- package/build/types/projectsGeneration/defaultCatalogs/files.d.ts +4 -4
- package/build/types/projectsGeneration/defaultCatalogs/index.d.ts +2 -2
- package/build/types/projectsGeneration/genGraphSchemesByLocalGenerator.d.ts +2 -2
- package/build/types/projectsGeneration/generateEntity.d.ts +2 -2
- package/build/types/projectsGeneration/generateEnvironment.d.ts +2 -2
- package/build/types/projectsGeneration/generateProject.d.ts +34 -34
- package/build/types/projectsGeneration/generators/fieldTypeToTsType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/Entities.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/devEnum.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/enum.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/values.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/resolvers.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/graph/types.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/initCommon.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/initDev.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/initEntities.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/root/config/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/root/restRouter.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/BaseServices.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/Dashboard.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/MetaPage.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/entityMapping.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/App.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/functions/Functions.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.d.ts +4 -4
- package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.d.ts +9 -9
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.d.ts +12 -12
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.d.ts +3 -3
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.d.ts +1 -1
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/Icon.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/resources.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.d.ts +2 -2
- package/build/types/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.d.ts +2 -2
- package/build/types/projectsGeneration/generators/graph/fieldTypeToGraphScalar.d.ts +2 -2
- package/build/types/projectsGeneration/generators/graph/fields/genGraphField.d.ts +7 -7
- package/build/types/projectsGeneration/generators/graph/fields/genGraphIdField.d.ts +8 -8
- package/build/types/projectsGeneration/generators/graph/fields/genGraphIdFieldType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/graph/fields/genGraphLinkField.d.ts +8 -8
- package/build/types/projectsGeneration/generators/graph/fields/genGraphScalarField.d.ts +8 -8
- package/build/types/projectsGeneration/generators/graph/filters/genGraphField.d.ts +4 -4
- package/build/types/projectsGeneration/generators/graph/filters/genGraphIdFilter.d.ts +8 -8
- package/build/types/projectsGeneration/generators/graph/filters/genGraphLinkFilter.d.ts +5 -5
- package/build/types/projectsGeneration/generators/graph/filters/genGraphScalarFilter.d.ts +5 -5
- package/build/types/projectsGeneration/generators/graph/genGraphCrudSchema.d.ts +3 -3
- package/build/types/projectsGeneration/generators/graph/genGraphCrudSchema.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/graph/genGraphFilterType.d.ts +3 -3
- package/build/types/projectsGeneration/generators/graph/genGraphFilterType.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/graph/genGraphType.d.ts +3 -3
- package/build/types/projectsGeneration/generators/graph/genGraphType.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/graph/printGraphType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/graph/printGraphType.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/fieldTypeToPrismaType.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.d.ts +2 -2
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.d.ts +3 -3
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts +3 -3
- package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +2 -2
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.d.ts +3 -3
- package/build/types/projectsGeneration/generators/ui/componentNames/types.d.ts +4 -4
- package/build/types/projectsGeneration/generators/ui/getLinkShowComponent.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/ui/getScalarShowComponent.spec.d.ts +1 -1
- package/build/types/projectsGeneration/generators/ui/getShowComponent.d.ts +6 -6
- package/build/types/projectsGeneration/index.d.ts +6 -6
- package/build/types/projectsGeneration/links/getLinksFromExternalEntities.d.ts +3 -3
- package/build/types/projectsGeneration/links/getLinksFromExternalEntities.spec.d.ts +1 -1
- package/build/types/projectsGeneration/links/getLinksOfEntities.d.ts +3 -3
- package/build/types/projectsGeneration/links/getLinksOfEntities.spec.d.ts +1 -1
- package/build/types/projectsGeneration/links/getLinksToExternalEntities.d.ts +3 -3
- package/build/types/projectsGeneration/links/getLinksToExternalEntities.spec.d.ts +1 -1
- package/build/types/projectsGeneration/metaUtils.d.ts +9 -9
- package/build/types/projectsGeneration/modelsGeneration.serialization.spec.d.ts +1 -1
- package/build/types/projectsGeneration/modules/addEmailModuleEntities.d.ts +3 -3
- package/build/types/projectsGeneration/modules/index.d.ts +1 -1
- package/build/types/projectsGeneration/types.d.ts +100 -100
- package/build/types/projectsGeneration/utils.d.ts +15 -15
- package/build/types/refs/yup.spec.d.ts +1 -1
- package/build/types/types.d.ts +1 -1
- package/build/types/utils/TermSignals.d.ts +29 -29
- package/build/types/utils/cases.d.ts +9 -9
- package/build/types/utils/getPkgManager.d.ts +3 -3
- package/build/types.js +17 -17
- package/build/utils/TermSignals.js +116 -116
- package/build/utils/cases.js +32 -32
- package/build/utils/getPkgManager.js +28 -28
- package/package.json +3 -3
|
@@ -1,431 +1,431 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
|
-
};
|
|
36
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
-
if (ar || !(i in from)) {
|
|
39
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
-
ar[i] = from[i];
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
-
};
|
|
45
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
-
};
|
|
48
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.defaultConfigVar = void 0;
|
|
50
|
-
var types_1 = require("../types");
|
|
51
|
-
var CatalogBuilder_1 = __importDefault(require("./CatalogBuilder"));
|
|
52
|
-
var DocumentBuilder_1 = __importDefault(require("./DocumentBuilder"));
|
|
53
|
-
var InfoRegistryBuilder_1 = require("./InfoRegistryBuilder");
|
|
54
|
-
var SumRegistryBuilder_1 = __importDefault(require("./SumRegistryBuilder"));
|
|
55
|
-
var defaultCatalogs_1 = require("../defaultCatalogs");
|
|
56
|
-
var R = __importStar(require("ramda"));
|
|
57
|
-
var ReportBuilder_1 = __importDefault(require("./ReportBuilder"));
|
|
58
|
-
var RestApiBuilder_1 = __importDefault(require("./RestApiBuilder"));
|
|
59
|
-
var DeploymentBuilder_1 = __importDefault(require("./DeploymentBuilder"));
|
|
60
|
-
var TelegramBotBuilder_1 = __importDefault(require("./TelegramBotBuilder"));
|
|
61
|
-
exports.defaultConfigVar = {
|
|
62
|
-
needFor: '',
|
|
63
|
-
default: '',
|
|
64
|
-
required: true,
|
|
65
|
-
scopes: ['back', 'worker', 'telegramBot'],
|
|
66
|
-
};
|
|
67
|
-
var SystemMetaBuilder = /** @class */ (function () {
|
|
68
|
-
// requests: MemoryAndCpu = { memory: '128Mi', cpu: '0.15' }
|
|
69
|
-
// limits: MemoryAndCpu = { memory: '256Mi', cpu: '1' }
|
|
70
|
-
// space = '';
|
|
71
|
-
function SystemMetaBuilder(prefix, defOpts, defaultLanguage) {
|
|
72
|
-
if (defOpts === void 0) { defOpts = types_1.defaultBootstrapEntityOptions; }
|
|
73
|
-
if (defaultLanguage === void 0) { defaultLanguage = 'ru'; }
|
|
74
|
-
this.catalogs = [];
|
|
75
|
-
this.reports = [];
|
|
76
|
-
this.documents = [];
|
|
77
|
-
this.infoRegistries = [];
|
|
78
|
-
this.sumRegistries = [];
|
|
79
|
-
this.configVars = [];
|
|
80
|
-
this.glossary = [];
|
|
81
|
-
this.commands = [];
|
|
82
|
-
this.deployEnvironments = [];
|
|
83
|
-
this.telegramBots = [];
|
|
84
|
-
this.languages = [];
|
|
85
|
-
this.restApis = [];
|
|
86
|
-
this.workers = [];
|
|
87
|
-
this.roles = [];
|
|
88
|
-
this.name = 'notSet';
|
|
89
|
-
this.prefix = 'notSet';
|
|
90
|
-
this.needFor = 'notSet';
|
|
91
|
-
this.defOpts = defOpts;
|
|
92
|
-
this.setPrefix(prefix);
|
|
93
|
-
this.setName(prefix);
|
|
94
|
-
this.back = new DeploymentBuilder_1.default('back', defaultLanguage);
|
|
95
|
-
this.addConfigVar('app.name', 'string', true, this.defOpts.projectPrefix, 'Техническое название приложения');
|
|
96
|
-
this.addConfigVar('app.title', 'string', false, this.defOpts.projectName, 'Человеческое название приложения');
|
|
97
|
-
this.addConfigVar('app.environment', 'string', true, 'dev', 'Название окружения');
|
|
98
|
-
this.addConfigVar('app.ui.url', 'string', false, 'http://localhost:4000', 'Урл интерфейса конечного пользователя (без конечного слеша)');
|
|
99
|
-
// Main database
|
|
100
|
-
this.addConfigVar('database.main.write.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных для записи');
|
|
101
|
-
this.addConfigVar('database.main.readOnly.uri', 'string', false, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе только для чтения');
|
|
102
|
-
this.addConfigVar('database.main.readOnly.enabled', 'bool', true, false, 'Включена ли работа с запросами на чтение через отдельное подключение');
|
|
103
|
-
this.addConfigVar('database.main.migration.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе для миграций (должна быть прямой строкой подключения к бд минуя pgbouncer, если он используется)');
|
|
104
|
-
this.addConfigVar('adm.jwt.secret', 'string', false, 'admSecret', 'Секрет для подписи JWT-токенов приложения админки');
|
|
105
|
-
this.addConfigVar('app.jwt.secret', 'string', false, 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей');
|
|
106
|
-
this.addConfigVar('s3.accessKeyId', 'string', false, '', 'Идентификатор доступа для авторизации в S3');
|
|
107
|
-
this.addConfigVar('s3.secretAccessKey', 'string', false, '', 'Секретный ключ для авторизации в S3');
|
|
108
|
-
this.addConfigVar('admin.ui.url', 'string', false, 'http://localhost:8080', 'Урл административного интерфейса (без конечного слеша)');
|
|
109
|
-
this.addConfigVar('admin.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения админки');
|
|
110
|
-
this.addConfigVar('admin.recaptcha.requiredScore', 'float', false, 0.7, 'Требуемый уровень доверия к пользователю');
|
|
111
|
-
this.addConfigVar('admin.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения админки', ['admin-app']);
|
|
112
|
-
this.addConfigVar('customer.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения пользователя');
|
|
113
|
-
this.addConfigVar('customer.recaptcha.requiredScore', 'string', false, '0.7', 'Требуемый уровень доверия к пользователю');
|
|
114
|
-
this.addConfigVar('customer.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения пользователя', ['cutomer-app']);
|
|
115
|
-
this.addConfigVar('loki.url', 'string', false, '', 'Урл для доступа в Loki. Используется для запроса бизнес-логов');
|
|
116
|
-
this.addConfigVar('logs.format', 'string', false, 'plain', 'Формат логов (plain | json)');
|
|
117
|
-
this.addConfigVar('graphql.playground.enabled', 'bool', false, true, 'Включение graphql playground (true | false)');
|
|
118
|
-
this.addConfigVar('bootstrap.enabled', 'bool', false, false, 'Подготавливать окружеине при запуске');
|
|
119
|
-
this.addConfigVar('authorization.backendChecks.enabled', 'bool', false, false, 'Проверка авторизации на бекенде включены');
|
|
120
|
-
// kafka
|
|
121
|
-
this.addConfigVar('kafka.enabled', 'bool', false, false, 'Кафка включена');
|
|
122
|
-
this.addConfigVar('kafka.brokers', 'string', false, 'localhost:29092;localhost:29094', 'Список kafka блокеров');
|
|
123
|
-
this.addConfigVar('kafka.username', 'string', false, '', 'Username доступа в kafka');
|
|
124
|
-
this.addConfigVar('kafka.password', 'string', false, '', 'Пароль доступа в kafka');
|
|
125
|
-
this.addConfigVar('kafka.queue.maxAttemptsSize', 'int', false, 10, 'Максимальное количество попыток обработки ошибки на сообщение');
|
|
126
|
-
this.addConfigVar('kafka.queue.defaultRetryTime', 'int', false, 20000, 'Время паузы после первой ошибки, например 20000 мс, потом оно увеличывается экспоненциально с мультипликатором 1.5');
|
|
127
|
-
this.addConfigVar('kafka.queue.waitingInterruptTime', 'int', false, 60000, 'Время паузы в очереди ожидания, когда она прошла все сообщения, это чтобы она не крутила сообщения покругу без остановки ');
|
|
128
|
-
this.addConfigVar('kafka.queue.stackSize', 'int', false, 3, 'Количество сообщений, обрабатываемых параллельно');
|
|
129
|
-
this.addConfigVar('kafka.queue.supportedVersion', 'string', false, '1;2', 'Поддерживаемые версии сообщения');
|
|
130
|
-
// this.addConfigVar('kafka.queue.autoCommitInterval', 'int', false, 10000, 'Потребитель будет фиксировать смещения по истечении заданного периода, например, пяти секунд. Значение в миллисекундах ');
|
|
131
|
-
// this.addConfigVar('kafka.queue.autoCommitThreshold', 'int', false, 1000, 'Потребитель будет фиксировать смещения после разрешения заданного количества сообщений, например тысячи сообщений');
|
|
132
|
-
this.addConfigVar('kafka.queue.acks', 'int', false, 1, '`-1`(all) все несинхронизированные реплики должны подтвердить (по умолчанию), `0` нет подтверждений, `1` только ждет подтверждения лидера');
|
|
133
|
-
this.addConfigVar('kafka.auth.enabled', 'bool', true, true, 'Включена проверка аутентификации');
|
|
134
|
-
this.addConfigVar('kafka.ssl.enabled', 'bool', true, true, 'Включена работа по ssl');
|
|
135
|
-
this.addConfigVar('kafka.ssl.rejectUnauthorized', 'bool', false, false, 'Запрещать невалидный ssl сертификат');
|
|
136
|
-
// es
|
|
137
|
-
this.addConfigVar('es.enabled', 'bool', false, false, 'Эластик включен');
|
|
138
|
-
this.addConfigVar('es.cloudId', 'string', false, '', 'Идентификатор аккаунта в облачном сервисе ElasticSearch');
|
|
139
|
-
this.addConfigVar('es.username', 'string', false, '', 'Пользователь для авторизации в облачном сервисе ElasticSearch');
|
|
140
|
-
this.addConfigVar('es.password', 'string', false, '', 'Пароль для авторизации в облачном сервисе ElasticSearch');
|
|
141
|
-
this.addConfigVar('es.node', 'string', false, 'http://localhost:9200', 'Нода эластика');
|
|
142
|
-
this.addConfigVar('es.tls.rejectUnauthorized', 'bool', false, false, 'Запрещать невалидный ssl сертификат');
|
|
143
|
-
this.addDeployEnvironment('stage', 'stage');
|
|
144
|
-
this.addDeployEnvironment('prod', 'stage');
|
|
145
|
-
this.addLanguage('en');
|
|
146
|
-
this.addLanguage('ru');
|
|
147
|
-
if (defaultLanguage !== 'defaultLanguage') {
|
|
148
|
-
this.addLanguage(defaultLanguage);
|
|
149
|
-
}
|
|
150
|
-
this.defaultLanguage = defaultLanguage;
|
|
151
|
-
// this.addTelegramBot('hello');
|
|
152
|
-
this.initDefaultCatalogs();
|
|
153
|
-
// this
|
|
154
|
-
// .addWorker('general', 'Таски общего назначения')
|
|
155
|
-
// .setNeedFor('Для выполнения тасков общего назначения');
|
|
156
|
-
// this
|
|
157
|
-
// .addWorker('emails', 'Отправка почты')
|
|
158
|
-
// .setNeedFor('Для отправки почты');
|
|
159
|
-
}
|
|
160
|
-
SystemMetaBuilder.prototype.setName = function (name) {
|
|
161
|
-
this.name = name;
|
|
162
|
-
return this;
|
|
163
|
-
};
|
|
164
|
-
SystemMetaBuilder.prototype.setNeedFor = function (needFor) {
|
|
165
|
-
this.needFor = needFor;
|
|
166
|
-
return this;
|
|
167
|
-
};
|
|
168
|
-
SystemMetaBuilder.prototype.setPrefix = function (prefix) {
|
|
169
|
-
this.prefix = prefix;
|
|
170
|
-
return this;
|
|
171
|
-
};
|
|
172
|
-
// | 'string'
|
|
173
|
-
// | 'int'
|
|
174
|
-
// | 'bigint'
|
|
175
|
-
// | 'float'
|
|
176
|
-
// | 'bool'
|
|
177
|
-
// | 'datetime'
|
|
178
|
-
// | 'date'
|
|
179
|
-
SystemMetaBuilder.prototype.addConfigVar = function (name, type, required, def, needFor, scopes) {
|
|
180
|
-
if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
|
|
181
|
-
if (this.configVars.some(function (v) { return v.name === name; })) {
|
|
182
|
-
throw new Error("\"".concat(name, "\" config var already exists"));
|
|
183
|
-
}
|
|
184
|
-
this.configVars.push(R.mergeDeepLeft({
|
|
185
|
-
name: name,
|
|
186
|
-
type: type,
|
|
187
|
-
required: required,
|
|
188
|
-
default: def,
|
|
189
|
-
needFor: needFor,
|
|
190
|
-
scopes: scopes,
|
|
191
|
-
}, exports.defaultConfigVar));
|
|
192
|
-
return this;
|
|
193
|
-
};
|
|
194
|
-
SystemMetaBuilder.prototype.setConfigVarDefaultValue = function (name, def) {
|
|
195
|
-
if (!this.configVars.some(function (v) { return v.name === name; })) {
|
|
196
|
-
throw new Error("There is no \"".concat(name, "\" config var"));
|
|
197
|
-
}
|
|
198
|
-
this.configVars = this.configVars.map(function (el) { return el.name === name ? __assign(__assign({}, el), { default: def }) : el; });
|
|
199
|
-
return this;
|
|
200
|
-
};
|
|
201
|
-
SystemMetaBuilder.prototype.setDefaultValueForConfigVar = function (name, def) {
|
|
202
|
-
var variable = this.configVars.find(function (v) { return v.name === name; });
|
|
203
|
-
if (!variable) {
|
|
204
|
-
throw new Error("There is no \"".concat(name, "\" config var"));
|
|
205
|
-
}
|
|
206
|
-
this.configVars = __spreadArray(__spreadArray([], this.configVars.filter(function (v) { return v.name !== name; }), true), [
|
|
207
|
-
__assign(__assign({}, variable), { default: def }),
|
|
208
|
-
], false);
|
|
209
|
-
return this;
|
|
210
|
-
};
|
|
211
|
-
SystemMetaBuilder.prototype.addLanguage = function (language) {
|
|
212
|
-
if (!this.languages.includes(language)) {
|
|
213
|
-
this.languages.push(language);
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
SystemMetaBuilder.prototype.setDefailtLanguage = function (language) {
|
|
217
|
-
if (!this.languages.includes(language)) {
|
|
218
|
-
throw new Error("There is no \"".concat(language, "\" langiage"));
|
|
219
|
-
}
|
|
220
|
-
this.defaultLanguage = language;
|
|
221
|
-
};
|
|
222
|
-
SystemMetaBuilder.prototype.addDeployEnvironment = function (name, clusterName) {
|
|
223
|
-
this.deployEnvironments.push({ name: name, clusterName: clusterName });
|
|
224
|
-
return this;
|
|
225
|
-
};
|
|
226
|
-
SystemMetaBuilder.prototype.addTelegramBot = function (name, title) {
|
|
227
|
-
if (this.telegramBots.some(function (f) { return f.name === name; })) {
|
|
228
|
-
throw new Error("There is already telegramBot with name \"".concat(name, "\""));
|
|
229
|
-
}
|
|
230
|
-
var telegramBot = new TelegramBotBuilder_1.default(name, this.defaultLanguage, title);
|
|
231
|
-
this.telegramBots.push(telegramBot);
|
|
232
|
-
return telegramBot;
|
|
233
|
-
};
|
|
234
|
-
// catalogs
|
|
235
|
-
SystemMetaBuilder.prototype.getCatalogs = function () {
|
|
236
|
-
return this.catalogs;
|
|
237
|
-
};
|
|
238
|
-
SystemMetaBuilder.prototype.addCatalog = function (name, title, options) {
|
|
239
|
-
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
240
|
-
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
241
|
-
throw new Error("There is already entity with name \"".concat(name, "\""));
|
|
242
|
-
}
|
|
243
|
-
var catalog = new CatalogBuilder_1.default(name, this.defaultLanguage, title);
|
|
244
|
-
this.catalogs.push({ entity: catalog, options: options });
|
|
245
|
-
return catalog;
|
|
246
|
-
};
|
|
247
|
-
SystemMetaBuilder.prototype.getCatalogByName = function (name) {
|
|
248
|
-
var catalog = this.catalogs.find(function (c) { return c.entity.name === name; });
|
|
249
|
-
if (!catalog) {
|
|
250
|
-
throw new Error("There is no \"".concat(name, "\" catalog"));
|
|
251
|
-
}
|
|
252
|
-
return catalog.entity;
|
|
253
|
-
};
|
|
254
|
-
SystemMetaBuilder.prototype.getInfoRegistryByName = function (name) {
|
|
255
|
-
var infoRegistry = this.infoRegistries.find(function (c) { return c.entity.name === name; });
|
|
256
|
-
if (!infoRegistry) {
|
|
257
|
-
throw new Error("There is no \"".concat(name, "\" infoRegistry"));
|
|
258
|
-
}
|
|
259
|
-
return infoRegistry.entity;
|
|
260
|
-
};
|
|
261
|
-
SystemMetaBuilder.prototype.addRestApi = function (name, path, title) {
|
|
262
|
-
if (this.restApis.some(function (f) { return f.name === name; })) {
|
|
263
|
-
throw new Error("There is already rest api with name \"".concat(name, "\""));
|
|
264
|
-
}
|
|
265
|
-
if (this.restApis.some(function (f) { return f.path === path; })) {
|
|
266
|
-
throw new Error("There is already rest api with path \"".concat(path, "\""));
|
|
267
|
-
}
|
|
268
|
-
var restApi = new RestApiBuilder_1.default(name, path, this.defaultLanguage, title);
|
|
269
|
-
this.restApis.push(restApi);
|
|
270
|
-
return restApi;
|
|
271
|
-
};
|
|
272
|
-
SystemMetaBuilder.prototype.addWorker = function (name, title) {
|
|
273
|
-
if (this.workers.some(function (f) { return f.name === name; })) {
|
|
274
|
-
throw new Error("There is already rest api with name \"".concat(name, "\""));
|
|
275
|
-
}
|
|
276
|
-
var worker = new DeploymentBuilder_1.default(name, this.defaultLanguage, title);
|
|
277
|
-
this.workers.push(worker);
|
|
278
|
-
return worker;
|
|
279
|
-
};
|
|
280
|
-
SystemMetaBuilder.prototype.addManyToManyRelation = function (name, title, options) {
|
|
281
|
-
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
282
|
-
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
283
|
-
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
284
|
-
}
|
|
285
|
-
var catalog = new CatalogBuilder_1.default(name, this.defaultLanguage, title);
|
|
286
|
-
this.catalogs.push({ entity: catalog, options: options });
|
|
287
|
-
return catalog;
|
|
288
|
-
};
|
|
289
|
-
SystemMetaBuilder.prototype.getBack = function () {
|
|
290
|
-
return this.back;
|
|
291
|
-
};
|
|
292
|
-
// documents
|
|
293
|
-
SystemMetaBuilder.prototype.getDocuments = function () {
|
|
294
|
-
return this.documents;
|
|
295
|
-
};
|
|
296
|
-
SystemMetaBuilder.prototype.addDocument = function (name, title, options) {
|
|
297
|
-
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
298
|
-
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
299
|
-
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
300
|
-
}
|
|
301
|
-
var document = new DocumentBuilder_1.default(name, this.defaultLanguage, title);
|
|
302
|
-
this.documents.push({ entity: document, options: options });
|
|
303
|
-
return document;
|
|
304
|
-
};
|
|
305
|
-
SystemMetaBuilder.prototype.addReport = function (name, title, options) {
|
|
306
|
-
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
307
|
-
if (this.reports.some(function (f) { return f.entity.name === name; })) {
|
|
308
|
-
throw new Error("There is already report with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
309
|
-
}
|
|
310
|
-
var report = new ReportBuilder_1.default(name, this.defaultLanguage, title);
|
|
311
|
-
this.reports.push({ entity: report, options: options });
|
|
312
|
-
return report;
|
|
313
|
-
};
|
|
314
|
-
SystemMetaBuilder.prototype.addInfoRegistry = function (name, registrarDepended, title, options) {
|
|
315
|
-
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
316
|
-
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
317
|
-
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
318
|
-
}
|
|
319
|
-
var infoRegistry = new InfoRegistryBuilder_1.InfoRegistryBuilder(name, registrarDepended, this.defaultLanguage, title);
|
|
320
|
-
this.infoRegistries.push({ entity: infoRegistry, options: options });
|
|
321
|
-
return infoRegistry;
|
|
322
|
-
};
|
|
323
|
-
SystemMetaBuilder.prototype.addSumRegistry = function (name, registrarDepended, title, options) {
|
|
324
|
-
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
325
|
-
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
326
|
-
}
|
|
327
|
-
var sumRegistry = new SumRegistryBuilder_1.default(name, registrarDepended, this.defaultLanguage, title, options);
|
|
328
|
-
this.sumRegistries.push({ entity: sumRegistry, options: this.defOpts });
|
|
329
|
-
return sumRegistry;
|
|
330
|
-
};
|
|
331
|
-
SystemMetaBuilder.prototype.addGlossaryTerm = function (term, definition) {
|
|
332
|
-
if (this.glossary.some(function (g) { return g.term === term; })) {
|
|
333
|
-
throw new Error("There is already term \"".concat(term, "\" in glossary"));
|
|
334
|
-
}
|
|
335
|
-
this.glossary.push({ term: term, definition: definition });
|
|
336
|
-
return this;
|
|
337
|
-
};
|
|
338
|
-
SystemMetaBuilder.prototype.addCommnad = function (projectCategory, name, command, needFor) {
|
|
339
|
-
if (this.commands.some(function (g) { return g.name === name; })) {
|
|
340
|
-
throw new Error("There is already \"".concat(name, "\" command"));
|
|
341
|
-
}
|
|
342
|
-
this.commands.push({
|
|
343
|
-
projectCategory: projectCategory,
|
|
344
|
-
name: name,
|
|
345
|
-
command: command,
|
|
346
|
-
needFor: needFor,
|
|
347
|
-
});
|
|
348
|
-
return this;
|
|
349
|
-
};
|
|
350
|
-
SystemMetaBuilder.prototype.getEntities = function () {
|
|
351
|
-
return __spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).map(function (el) { return ({
|
|
352
|
-
entity: el.entity.build(),
|
|
353
|
-
options: el.options,
|
|
354
|
-
}); });
|
|
355
|
-
};
|
|
356
|
-
SystemMetaBuilder.prototype.getExternalSearchFields = function () {
|
|
357
|
-
return [
|
|
358
|
-
this.catalogs,
|
|
359
|
-
this.documents,
|
|
360
|
-
this.infoRegistries,
|
|
361
|
-
this.sumRegistries,
|
|
362
|
-
]
|
|
363
|
-
.flat()
|
|
364
|
-
.map(function (e) { return e.entity; })
|
|
365
|
-
.filter(function (e) { return e.externalSearch; });
|
|
366
|
-
};
|
|
367
|
-
// setMemory(request: string, limit?: string) {
|
|
368
|
-
// this.requests.memory = request
|
|
369
|
-
// if (limit) {
|
|
370
|
-
// this.limits.memory = limit
|
|
371
|
-
// } else {
|
|
372
|
-
// this.limits.memory = request
|
|
373
|
-
// }
|
|
374
|
-
// return this
|
|
375
|
-
// }
|
|
376
|
-
// setCpu(request: string, limit?: string) {
|
|
377
|
-
// this.requests.cpu = request
|
|
378
|
-
// if (limit) {
|
|
379
|
-
// this.limits.cpu = limit
|
|
380
|
-
// } else {
|
|
381
|
-
// this.limits.cpu = request
|
|
382
|
-
// }
|
|
383
|
-
// return this
|
|
384
|
-
// }
|
|
385
|
-
SystemMetaBuilder.prototype.build = function () {
|
|
386
|
-
var sortByName = function (entries) {
|
|
387
|
-
return R.sortBy(R.compose(R.prop('name'), R.prop('entity')), entries);
|
|
388
|
-
};
|
|
389
|
-
return {
|
|
390
|
-
name: this.name,
|
|
391
|
-
prefix: this.prefix,
|
|
392
|
-
needFor: this.needFor,
|
|
393
|
-
deployEnvironments: this.deployEnvironments,
|
|
394
|
-
glossary: R.sortBy(R.prop('term'), this.glossary),
|
|
395
|
-
commands: R.sortBy(R.prop('command'), this.commands),
|
|
396
|
-
telegramBots: R.sortBy(R.prop('name'), this.telegramBots).map(function (el) {
|
|
397
|
-
return el.build();
|
|
398
|
-
}),
|
|
399
|
-
configVars: R.sortBy(R.prop('name'), this.configVars),
|
|
400
|
-
catalogs: sortByName(this.catalogs).map(function (el) { return el.entity.build(); }),
|
|
401
|
-
documents: sortByName(this.documents).map(function (el) { return el.entity.build(); }),
|
|
402
|
-
infoRegistries: sortByName(this.infoRegistries).map(function (el) {
|
|
403
|
-
return el.entity.build();
|
|
404
|
-
}),
|
|
405
|
-
sumRegistries: sortByName(this.sumRegistries).map(function (el) {
|
|
406
|
-
return el.entity.build();
|
|
407
|
-
}),
|
|
408
|
-
languages: this.languages.sort(),
|
|
409
|
-
defaultLanguage: this.defaultLanguage,
|
|
410
|
-
reports: sortByName(this.reports).map(function (_a) {
|
|
411
|
-
var entity = _a.entity;
|
|
412
|
-
return entity.build();
|
|
413
|
-
}),
|
|
414
|
-
restApis: R.sortBy(R.prop('name'), this.restApis).map(function (api) {
|
|
415
|
-
return api.build();
|
|
416
|
-
}),
|
|
417
|
-
workers: R.sortBy(R.prop('name'), this.workers).map(function (worker) {
|
|
418
|
-
return worker.build();
|
|
419
|
-
}),
|
|
420
|
-
roles: R.sortBy(R.prop('name'), this.roles).map(function (role) { return role.build(); }),
|
|
421
|
-
back: this.back.build(),
|
|
422
|
-
};
|
|
423
|
-
};
|
|
424
|
-
SystemMetaBuilder.prototype.initDefaultCatalogs = function () {
|
|
425
|
-
(0, defaultCatalogs_1.addFilesCatalog)(this);
|
|
426
|
-
return this.catalogs;
|
|
427
|
-
};
|
|
428
|
-
return SystemMetaBuilder;
|
|
429
|
-
}());
|
|
430
|
-
exports.default = SystemMetaBuilder;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
37
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
38
|
+
if (ar || !(i in from)) {
|
|
39
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
40
|
+
ar[i] = from[i];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
|
+
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.defaultConfigVar = void 0;
|
|
50
|
+
var types_1 = require("../types");
|
|
51
|
+
var CatalogBuilder_1 = __importDefault(require("./CatalogBuilder"));
|
|
52
|
+
var DocumentBuilder_1 = __importDefault(require("./DocumentBuilder"));
|
|
53
|
+
var InfoRegistryBuilder_1 = require("./InfoRegistryBuilder");
|
|
54
|
+
var SumRegistryBuilder_1 = __importDefault(require("./SumRegistryBuilder"));
|
|
55
|
+
var defaultCatalogs_1 = require("../defaultCatalogs");
|
|
56
|
+
var R = __importStar(require("ramda"));
|
|
57
|
+
var ReportBuilder_1 = __importDefault(require("./ReportBuilder"));
|
|
58
|
+
var RestApiBuilder_1 = __importDefault(require("./RestApiBuilder"));
|
|
59
|
+
var DeploymentBuilder_1 = __importDefault(require("./DeploymentBuilder"));
|
|
60
|
+
var TelegramBotBuilder_1 = __importDefault(require("./TelegramBotBuilder"));
|
|
61
|
+
exports.defaultConfigVar = {
|
|
62
|
+
needFor: '',
|
|
63
|
+
default: '',
|
|
64
|
+
required: true,
|
|
65
|
+
scopes: ['back', 'worker', 'telegramBot'],
|
|
66
|
+
};
|
|
67
|
+
var SystemMetaBuilder = /** @class */ (function () {
|
|
68
|
+
// requests: MemoryAndCpu = { memory: '128Mi', cpu: '0.15' }
|
|
69
|
+
// limits: MemoryAndCpu = { memory: '256Mi', cpu: '1' }
|
|
70
|
+
// space = '';
|
|
71
|
+
function SystemMetaBuilder(prefix, defOpts, defaultLanguage) {
|
|
72
|
+
if (defOpts === void 0) { defOpts = types_1.defaultBootstrapEntityOptions; }
|
|
73
|
+
if (defaultLanguage === void 0) { defaultLanguage = 'ru'; }
|
|
74
|
+
this.catalogs = [];
|
|
75
|
+
this.reports = [];
|
|
76
|
+
this.documents = [];
|
|
77
|
+
this.infoRegistries = [];
|
|
78
|
+
this.sumRegistries = [];
|
|
79
|
+
this.configVars = [];
|
|
80
|
+
this.glossary = [];
|
|
81
|
+
this.commands = [];
|
|
82
|
+
this.deployEnvironments = [];
|
|
83
|
+
this.telegramBots = [];
|
|
84
|
+
this.languages = [];
|
|
85
|
+
this.restApis = [];
|
|
86
|
+
this.workers = [];
|
|
87
|
+
this.roles = [];
|
|
88
|
+
this.name = 'notSet';
|
|
89
|
+
this.prefix = 'notSet';
|
|
90
|
+
this.needFor = 'notSet';
|
|
91
|
+
this.defOpts = defOpts;
|
|
92
|
+
this.setPrefix(prefix);
|
|
93
|
+
this.setName(prefix);
|
|
94
|
+
this.back = new DeploymentBuilder_1.default('back', defaultLanguage);
|
|
95
|
+
this.addConfigVar('app.name', 'string', true, this.defOpts.projectPrefix, 'Техническое название приложения');
|
|
96
|
+
this.addConfigVar('app.title', 'string', false, this.defOpts.projectName, 'Человеческое название приложения');
|
|
97
|
+
this.addConfigVar('app.environment', 'string', true, 'dev', 'Название окружения');
|
|
98
|
+
this.addConfigVar('app.ui.url', 'string', false, 'http://localhost:4000', 'Урл интерфейса конечного пользователя (без конечного слеша)');
|
|
99
|
+
// Main database
|
|
100
|
+
this.addConfigVar('database.main.write.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе данных для записи');
|
|
101
|
+
this.addConfigVar('database.main.readOnly.uri', 'string', false, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе только для чтения');
|
|
102
|
+
this.addConfigVar('database.main.readOnly.enabled', 'bool', true, false, 'Включена ли работа с запросами на чтение через отдельное подключение');
|
|
103
|
+
this.addConfigVar('database.main.migration.uri', 'string', true, 'postgresql://postgres:password@localhost:5432', 'Строка подключения к основной базе для миграций (должна быть прямой строкой подключения к бд минуя pgbouncer, если он используется)');
|
|
104
|
+
this.addConfigVar('adm.jwt.secret', 'string', false, 'admSecret', 'Секрет для подписи JWT-токенов приложения админки');
|
|
105
|
+
this.addConfigVar('app.jwt.secret', 'string', false, 'appSecret', 'Секрет для подписи JWT-токенов приложения пользователей');
|
|
106
|
+
this.addConfigVar('s3.accessKeyId', 'string', false, '', 'Идентификатор доступа для авторизации в S3');
|
|
107
|
+
this.addConfigVar('s3.secretAccessKey', 'string', false, '', 'Секретный ключ для авторизации в S3');
|
|
108
|
+
this.addConfigVar('admin.ui.url', 'string', false, 'http://localhost:8080', 'Урл административного интерфейса (без конечного слеша)');
|
|
109
|
+
this.addConfigVar('admin.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения админки');
|
|
110
|
+
this.addConfigVar('admin.recaptcha.requiredScore', 'float', false, 0.7, 'Требуемый уровень доверия к пользователю');
|
|
111
|
+
this.addConfigVar('admin.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения админки', ['admin-app']);
|
|
112
|
+
this.addConfigVar('customer.recaptcha.secretKey', 'string', false, '', 'Секретный токен рекапчи приложения пользователя');
|
|
113
|
+
this.addConfigVar('customer.recaptcha.requiredScore', 'string', false, '0.7', 'Требуемый уровень доверия к пользователю');
|
|
114
|
+
this.addConfigVar('customer.recaptcha.publicKey', 'string', false, '', 'Публичный токен рекапчи приложения пользователя', ['cutomer-app']);
|
|
115
|
+
this.addConfigVar('loki.url', 'string', false, '', 'Урл для доступа в Loki. Используется для запроса бизнес-логов');
|
|
116
|
+
this.addConfigVar('logs.format', 'string', false, 'plain', 'Формат логов (plain | json)');
|
|
117
|
+
this.addConfigVar('graphql.playground.enabled', 'bool', false, true, 'Включение graphql playground (true | false)');
|
|
118
|
+
this.addConfigVar('bootstrap.enabled', 'bool', false, false, 'Подготавливать окружеине при запуске');
|
|
119
|
+
this.addConfigVar('authorization.backendChecks.enabled', 'bool', false, false, 'Проверка авторизации на бекенде включены');
|
|
120
|
+
// kafka
|
|
121
|
+
this.addConfigVar('kafka.enabled', 'bool', false, false, 'Кафка включена');
|
|
122
|
+
this.addConfigVar('kafka.brokers', 'string', false, 'localhost:29092;localhost:29094', 'Список kafka блокеров');
|
|
123
|
+
this.addConfigVar('kafka.username', 'string', false, '', 'Username доступа в kafka');
|
|
124
|
+
this.addConfigVar('kafka.password', 'string', false, '', 'Пароль доступа в kafka');
|
|
125
|
+
this.addConfigVar('kafka.queue.maxAttemptsSize', 'int', false, 10, 'Максимальное количество попыток обработки ошибки на сообщение');
|
|
126
|
+
this.addConfigVar('kafka.queue.defaultRetryTime', 'int', false, 20000, 'Время паузы после первой ошибки, например 20000 мс, потом оно увеличывается экспоненциально с мультипликатором 1.5');
|
|
127
|
+
this.addConfigVar('kafka.queue.waitingInterruptTime', 'int', false, 60000, 'Время паузы в очереди ожидания, когда она прошла все сообщения, это чтобы она не крутила сообщения покругу без остановки ');
|
|
128
|
+
this.addConfigVar('kafka.queue.stackSize', 'int', false, 3, 'Количество сообщений, обрабатываемых параллельно');
|
|
129
|
+
this.addConfigVar('kafka.queue.supportedVersion', 'string', false, '1;2', 'Поддерживаемые версии сообщения');
|
|
130
|
+
// this.addConfigVar('kafka.queue.autoCommitInterval', 'int', false, 10000, 'Потребитель будет фиксировать смещения по истечении заданного периода, например, пяти секунд. Значение в миллисекундах ');
|
|
131
|
+
// this.addConfigVar('kafka.queue.autoCommitThreshold', 'int', false, 1000, 'Потребитель будет фиксировать смещения после разрешения заданного количества сообщений, например тысячи сообщений');
|
|
132
|
+
this.addConfigVar('kafka.queue.acks', 'int', false, 1, '`-1`(all) все несинхронизированные реплики должны подтвердить (по умолчанию), `0` нет подтверждений, `1` только ждет подтверждения лидера');
|
|
133
|
+
this.addConfigVar('kafka.auth.enabled', 'bool', true, true, 'Включена проверка аутентификации');
|
|
134
|
+
this.addConfigVar('kafka.ssl.enabled', 'bool', true, true, 'Включена работа по ssl');
|
|
135
|
+
this.addConfigVar('kafka.ssl.rejectUnauthorized', 'bool', false, false, 'Запрещать невалидный ssl сертификат');
|
|
136
|
+
// es
|
|
137
|
+
this.addConfigVar('es.enabled', 'bool', false, false, 'Эластик включен');
|
|
138
|
+
this.addConfigVar('es.cloudId', 'string', false, '', 'Идентификатор аккаунта в облачном сервисе ElasticSearch');
|
|
139
|
+
this.addConfigVar('es.username', 'string', false, '', 'Пользователь для авторизации в облачном сервисе ElasticSearch');
|
|
140
|
+
this.addConfigVar('es.password', 'string', false, '', 'Пароль для авторизации в облачном сервисе ElasticSearch');
|
|
141
|
+
this.addConfigVar('es.node', 'string', false, 'http://localhost:9200', 'Нода эластика');
|
|
142
|
+
this.addConfigVar('es.tls.rejectUnauthorized', 'bool', false, false, 'Запрещать невалидный ssl сертификат');
|
|
143
|
+
this.addDeployEnvironment('stage', 'stage');
|
|
144
|
+
this.addDeployEnvironment('prod', 'stage');
|
|
145
|
+
this.addLanguage('en');
|
|
146
|
+
this.addLanguage('ru');
|
|
147
|
+
if (defaultLanguage !== 'defaultLanguage') {
|
|
148
|
+
this.addLanguage(defaultLanguage);
|
|
149
|
+
}
|
|
150
|
+
this.defaultLanguage = defaultLanguage;
|
|
151
|
+
// this.addTelegramBot('hello');
|
|
152
|
+
this.initDefaultCatalogs();
|
|
153
|
+
// this
|
|
154
|
+
// .addWorker('general', 'Таски общего назначения')
|
|
155
|
+
// .setNeedFor('Для выполнения тасков общего назначения');
|
|
156
|
+
// this
|
|
157
|
+
// .addWorker('emails', 'Отправка почты')
|
|
158
|
+
// .setNeedFor('Для отправки почты');
|
|
159
|
+
}
|
|
160
|
+
SystemMetaBuilder.prototype.setName = function (name) {
|
|
161
|
+
this.name = name;
|
|
162
|
+
return this;
|
|
163
|
+
};
|
|
164
|
+
SystemMetaBuilder.prototype.setNeedFor = function (needFor) {
|
|
165
|
+
this.needFor = needFor;
|
|
166
|
+
return this;
|
|
167
|
+
};
|
|
168
|
+
SystemMetaBuilder.prototype.setPrefix = function (prefix) {
|
|
169
|
+
this.prefix = prefix;
|
|
170
|
+
return this;
|
|
171
|
+
};
|
|
172
|
+
// | 'string'
|
|
173
|
+
// | 'int'
|
|
174
|
+
// | 'bigint'
|
|
175
|
+
// | 'float'
|
|
176
|
+
// | 'bool'
|
|
177
|
+
// | 'datetime'
|
|
178
|
+
// | 'date'
|
|
179
|
+
SystemMetaBuilder.prototype.addConfigVar = function (name, type, required, def, needFor, scopes) {
|
|
180
|
+
if (scopes === void 0) { scopes = ['back', 'worker', 'telegramBot']; }
|
|
181
|
+
if (this.configVars.some(function (v) { return v.name === name; })) {
|
|
182
|
+
throw new Error("\"".concat(name, "\" config var already exists"));
|
|
183
|
+
}
|
|
184
|
+
this.configVars.push(R.mergeDeepLeft({
|
|
185
|
+
name: name,
|
|
186
|
+
type: type,
|
|
187
|
+
required: required,
|
|
188
|
+
default: def,
|
|
189
|
+
needFor: needFor,
|
|
190
|
+
scopes: scopes,
|
|
191
|
+
}, exports.defaultConfigVar));
|
|
192
|
+
return this;
|
|
193
|
+
};
|
|
194
|
+
SystemMetaBuilder.prototype.setConfigVarDefaultValue = function (name, def) {
|
|
195
|
+
if (!this.configVars.some(function (v) { return v.name === name; })) {
|
|
196
|
+
throw new Error("There is no \"".concat(name, "\" config var"));
|
|
197
|
+
}
|
|
198
|
+
this.configVars = this.configVars.map(function (el) { return el.name === name ? __assign(__assign({}, el), { default: def }) : el; });
|
|
199
|
+
return this;
|
|
200
|
+
};
|
|
201
|
+
SystemMetaBuilder.prototype.setDefaultValueForConfigVar = function (name, def) {
|
|
202
|
+
var variable = this.configVars.find(function (v) { return v.name === name; });
|
|
203
|
+
if (!variable) {
|
|
204
|
+
throw new Error("There is no \"".concat(name, "\" config var"));
|
|
205
|
+
}
|
|
206
|
+
this.configVars = __spreadArray(__spreadArray([], this.configVars.filter(function (v) { return v.name !== name; }), true), [
|
|
207
|
+
__assign(__assign({}, variable), { default: def }),
|
|
208
|
+
], false);
|
|
209
|
+
return this;
|
|
210
|
+
};
|
|
211
|
+
SystemMetaBuilder.prototype.addLanguage = function (language) {
|
|
212
|
+
if (!this.languages.includes(language)) {
|
|
213
|
+
this.languages.push(language);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
SystemMetaBuilder.prototype.setDefailtLanguage = function (language) {
|
|
217
|
+
if (!this.languages.includes(language)) {
|
|
218
|
+
throw new Error("There is no \"".concat(language, "\" langiage"));
|
|
219
|
+
}
|
|
220
|
+
this.defaultLanguage = language;
|
|
221
|
+
};
|
|
222
|
+
SystemMetaBuilder.prototype.addDeployEnvironment = function (name, clusterName) {
|
|
223
|
+
this.deployEnvironments.push({ name: name, clusterName: clusterName });
|
|
224
|
+
return this;
|
|
225
|
+
};
|
|
226
|
+
SystemMetaBuilder.prototype.addTelegramBot = function (name, title) {
|
|
227
|
+
if (this.telegramBots.some(function (f) { return f.name === name; })) {
|
|
228
|
+
throw new Error("There is already telegramBot with name \"".concat(name, "\""));
|
|
229
|
+
}
|
|
230
|
+
var telegramBot = new TelegramBotBuilder_1.default(name, this.defaultLanguage, title);
|
|
231
|
+
this.telegramBots.push(telegramBot);
|
|
232
|
+
return telegramBot;
|
|
233
|
+
};
|
|
234
|
+
// catalogs
|
|
235
|
+
SystemMetaBuilder.prototype.getCatalogs = function () {
|
|
236
|
+
return this.catalogs;
|
|
237
|
+
};
|
|
238
|
+
SystemMetaBuilder.prototype.addCatalog = function (name, title, options) {
|
|
239
|
+
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
240
|
+
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
241
|
+
throw new Error("There is already entity with name \"".concat(name, "\""));
|
|
242
|
+
}
|
|
243
|
+
var catalog = new CatalogBuilder_1.default(name, this.defaultLanguage, title);
|
|
244
|
+
this.catalogs.push({ entity: catalog, options: options });
|
|
245
|
+
return catalog;
|
|
246
|
+
};
|
|
247
|
+
SystemMetaBuilder.prototype.getCatalogByName = function (name) {
|
|
248
|
+
var catalog = this.catalogs.find(function (c) { return c.entity.name === name; });
|
|
249
|
+
if (!catalog) {
|
|
250
|
+
throw new Error("There is no \"".concat(name, "\" catalog"));
|
|
251
|
+
}
|
|
252
|
+
return catalog.entity;
|
|
253
|
+
};
|
|
254
|
+
SystemMetaBuilder.prototype.getInfoRegistryByName = function (name) {
|
|
255
|
+
var infoRegistry = this.infoRegistries.find(function (c) { return c.entity.name === name; });
|
|
256
|
+
if (!infoRegistry) {
|
|
257
|
+
throw new Error("There is no \"".concat(name, "\" infoRegistry"));
|
|
258
|
+
}
|
|
259
|
+
return infoRegistry.entity;
|
|
260
|
+
};
|
|
261
|
+
SystemMetaBuilder.prototype.addRestApi = function (name, path, title) {
|
|
262
|
+
if (this.restApis.some(function (f) { return f.name === name; })) {
|
|
263
|
+
throw new Error("There is already rest api with name \"".concat(name, "\""));
|
|
264
|
+
}
|
|
265
|
+
if (this.restApis.some(function (f) { return f.path === path; })) {
|
|
266
|
+
throw new Error("There is already rest api with path \"".concat(path, "\""));
|
|
267
|
+
}
|
|
268
|
+
var restApi = new RestApiBuilder_1.default(name, path, this.defaultLanguage, title);
|
|
269
|
+
this.restApis.push(restApi);
|
|
270
|
+
return restApi;
|
|
271
|
+
};
|
|
272
|
+
SystemMetaBuilder.prototype.addWorker = function (name, title) {
|
|
273
|
+
if (this.workers.some(function (f) { return f.name === name; })) {
|
|
274
|
+
throw new Error("There is already rest api with name \"".concat(name, "\""));
|
|
275
|
+
}
|
|
276
|
+
var worker = new DeploymentBuilder_1.default(name, this.defaultLanguage, title);
|
|
277
|
+
this.workers.push(worker);
|
|
278
|
+
return worker;
|
|
279
|
+
};
|
|
280
|
+
SystemMetaBuilder.prototype.addManyToManyRelation = function (name, title, options) {
|
|
281
|
+
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
282
|
+
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
283
|
+
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
284
|
+
}
|
|
285
|
+
var catalog = new CatalogBuilder_1.default(name, this.defaultLanguage, title);
|
|
286
|
+
this.catalogs.push({ entity: catalog, options: options });
|
|
287
|
+
return catalog;
|
|
288
|
+
};
|
|
289
|
+
SystemMetaBuilder.prototype.getBack = function () {
|
|
290
|
+
return this.back;
|
|
291
|
+
};
|
|
292
|
+
// documents
|
|
293
|
+
SystemMetaBuilder.prototype.getDocuments = function () {
|
|
294
|
+
return this.documents;
|
|
295
|
+
};
|
|
296
|
+
SystemMetaBuilder.prototype.addDocument = function (name, title, options) {
|
|
297
|
+
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
298
|
+
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
299
|
+
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
300
|
+
}
|
|
301
|
+
var document = new DocumentBuilder_1.default(name, this.defaultLanguage, title);
|
|
302
|
+
this.documents.push({ entity: document, options: options });
|
|
303
|
+
return document;
|
|
304
|
+
};
|
|
305
|
+
SystemMetaBuilder.prototype.addReport = function (name, title, options) {
|
|
306
|
+
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
307
|
+
if (this.reports.some(function (f) { return f.entity.name === name; })) {
|
|
308
|
+
throw new Error("There is already report with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
309
|
+
}
|
|
310
|
+
var report = new ReportBuilder_1.default(name, this.defaultLanguage, title);
|
|
311
|
+
this.reports.push({ entity: report, options: options });
|
|
312
|
+
return report;
|
|
313
|
+
};
|
|
314
|
+
SystemMetaBuilder.prototype.addInfoRegistry = function (name, registrarDepended, title, options) {
|
|
315
|
+
if (options === void 0) { options = this ? this.defOpts : {}; }
|
|
316
|
+
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
317
|
+
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
318
|
+
}
|
|
319
|
+
var infoRegistry = new InfoRegistryBuilder_1.InfoRegistryBuilder(name, registrarDepended, this.defaultLanguage, title);
|
|
320
|
+
this.infoRegistries.push({ entity: infoRegistry, options: options });
|
|
321
|
+
return infoRegistry;
|
|
322
|
+
};
|
|
323
|
+
SystemMetaBuilder.prototype.addSumRegistry = function (name, registrarDepended, title, options) {
|
|
324
|
+
if (__spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).some(function (f) { return f.entity.name === name; })) {
|
|
325
|
+
throw new Error("There is already entity with name \"".concat(name, "\". Entity ").concat(this.name));
|
|
326
|
+
}
|
|
327
|
+
var sumRegistry = new SumRegistryBuilder_1.default(name, registrarDepended, this.defaultLanguage, title, options);
|
|
328
|
+
this.sumRegistries.push({ entity: sumRegistry, options: this.defOpts });
|
|
329
|
+
return sumRegistry;
|
|
330
|
+
};
|
|
331
|
+
SystemMetaBuilder.prototype.addGlossaryTerm = function (term, definition) {
|
|
332
|
+
if (this.glossary.some(function (g) { return g.term === term; })) {
|
|
333
|
+
throw new Error("There is already term \"".concat(term, "\" in glossary"));
|
|
334
|
+
}
|
|
335
|
+
this.glossary.push({ term: term, definition: definition });
|
|
336
|
+
return this;
|
|
337
|
+
};
|
|
338
|
+
SystemMetaBuilder.prototype.addCommnad = function (projectCategory, name, command, needFor) {
|
|
339
|
+
if (this.commands.some(function (g) { return g.name === name; })) {
|
|
340
|
+
throw new Error("There is already \"".concat(name, "\" command"));
|
|
341
|
+
}
|
|
342
|
+
this.commands.push({
|
|
343
|
+
projectCategory: projectCategory,
|
|
344
|
+
name: name,
|
|
345
|
+
command: command,
|
|
346
|
+
needFor: needFor,
|
|
347
|
+
});
|
|
348
|
+
return this;
|
|
349
|
+
};
|
|
350
|
+
SystemMetaBuilder.prototype.getEntities = function () {
|
|
351
|
+
return __spreadArray(__spreadArray([], this.catalogs, true), this.documents, true).map(function (el) { return ({
|
|
352
|
+
entity: el.entity.build(),
|
|
353
|
+
options: el.options,
|
|
354
|
+
}); });
|
|
355
|
+
};
|
|
356
|
+
SystemMetaBuilder.prototype.getExternalSearchFields = function () {
|
|
357
|
+
return [
|
|
358
|
+
this.catalogs,
|
|
359
|
+
this.documents,
|
|
360
|
+
this.infoRegistries,
|
|
361
|
+
this.sumRegistries,
|
|
362
|
+
]
|
|
363
|
+
.flat()
|
|
364
|
+
.map(function (e) { return e.entity; })
|
|
365
|
+
.filter(function (e) { return e.externalSearch; });
|
|
366
|
+
};
|
|
367
|
+
// setMemory(request: string, limit?: string) {
|
|
368
|
+
// this.requests.memory = request
|
|
369
|
+
// if (limit) {
|
|
370
|
+
// this.limits.memory = limit
|
|
371
|
+
// } else {
|
|
372
|
+
// this.limits.memory = request
|
|
373
|
+
// }
|
|
374
|
+
// return this
|
|
375
|
+
// }
|
|
376
|
+
// setCpu(request: string, limit?: string) {
|
|
377
|
+
// this.requests.cpu = request
|
|
378
|
+
// if (limit) {
|
|
379
|
+
// this.limits.cpu = limit
|
|
380
|
+
// } else {
|
|
381
|
+
// this.limits.cpu = request
|
|
382
|
+
// }
|
|
383
|
+
// return this
|
|
384
|
+
// }
|
|
385
|
+
SystemMetaBuilder.prototype.build = function () {
|
|
386
|
+
var sortByName = function (entries) {
|
|
387
|
+
return R.sortBy(R.compose(R.prop('name'), R.prop('entity')), entries);
|
|
388
|
+
};
|
|
389
|
+
return {
|
|
390
|
+
name: this.name,
|
|
391
|
+
prefix: this.prefix,
|
|
392
|
+
needFor: this.needFor,
|
|
393
|
+
deployEnvironments: this.deployEnvironments,
|
|
394
|
+
glossary: R.sortBy(R.prop('term'), this.glossary),
|
|
395
|
+
commands: R.sortBy(R.prop('command'), this.commands),
|
|
396
|
+
telegramBots: R.sortBy(R.prop('name'), this.telegramBots).map(function (el) {
|
|
397
|
+
return el.build();
|
|
398
|
+
}),
|
|
399
|
+
configVars: R.sortBy(R.prop('name'), this.configVars),
|
|
400
|
+
catalogs: sortByName(this.catalogs).map(function (el) { return el.entity.build(); }),
|
|
401
|
+
documents: sortByName(this.documents).map(function (el) { return el.entity.build(); }),
|
|
402
|
+
infoRegistries: sortByName(this.infoRegistries).map(function (el) {
|
|
403
|
+
return el.entity.build();
|
|
404
|
+
}),
|
|
405
|
+
sumRegistries: sortByName(this.sumRegistries).map(function (el) {
|
|
406
|
+
return el.entity.build();
|
|
407
|
+
}),
|
|
408
|
+
languages: this.languages.sort(),
|
|
409
|
+
defaultLanguage: this.defaultLanguage,
|
|
410
|
+
reports: sortByName(this.reports).map(function (_a) {
|
|
411
|
+
var entity = _a.entity;
|
|
412
|
+
return entity.build();
|
|
413
|
+
}),
|
|
414
|
+
restApis: R.sortBy(R.prop('name'), this.restApis).map(function (api) {
|
|
415
|
+
return api.build();
|
|
416
|
+
}),
|
|
417
|
+
workers: R.sortBy(R.prop('name'), this.workers).map(function (worker) {
|
|
418
|
+
return worker.build();
|
|
419
|
+
}),
|
|
420
|
+
roles: R.sortBy(R.prop('name'), this.roles).map(function (role) { return role.build(); }),
|
|
421
|
+
back: this.back.build(),
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
SystemMetaBuilder.prototype.initDefaultCatalogs = function () {
|
|
425
|
+
(0, defaultCatalogs_1.addFilesCatalog)(this);
|
|
426
|
+
return this.catalogs;
|
|
427
|
+
};
|
|
428
|
+
return SystemMetaBuilder;
|
|
429
|
+
}());
|
|
430
|
+
exports.default = SystemMetaBuilder;
|
|
431
431
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3lzdGVtTWV0YUJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvamVjdHNHZW5lcmF0aW9uL2J1aWxkZXJzL1N5c3RlbU1ldGFCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxrQ0FLaUI7QUFDakIsb0VBQTZDO0FBQzdDLHNFQUErQztBQUMvQyw2REFBMkQ7QUFDM0QsNEVBQTBFO0FBWTFFLHNEQUFvRDtBQUNwRCx1Q0FBMEI7QUFDMUIsa0VBQTJDO0FBQzNDLG9FQUE2QztBQUM3QywwRUFBbUQ7QUFFbkQsNEVBQXFEO0FBRXhDLFFBQUEsZ0JBQWdCLEdBQXFDO0lBQ2hFLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEVBQUU7SUFDWCxRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO0NBQzFDLENBQUE7QUFFRDtJQXdCRSw0REFBNEQ7SUFDNUQsdURBQXVEO0lBRXZELGNBQWM7SUFDZCwyQkFDRSxNQUFjLEVBQ2QsT0FBK0QsRUFDL0QsZUFBc0I7UUFEdEIsd0JBQUEsRUFBQSxVQUFrQyxxQ0FBNkI7UUFDL0QsZ0NBQUEsRUFBQSxzQkFBc0I7UUE5QnhCLGFBQVEsR0FBK0MsRUFBRSxDQUFBO1FBQ3pELFlBQU8sR0FBOEMsRUFBRSxDQUFBO1FBQ3ZELGNBQVMsR0FBZ0QsRUFBRSxDQUFBO1FBQzNELG1CQUFjLEdBQW9ELEVBQUUsQ0FBQTtRQUNwRSxrQkFBYSxHQUFtRCxFQUFFLENBQUE7UUFDbEUsZUFBVSxHQUFnQixFQUFFLENBQUE7UUFDNUIsYUFBUSxHQUFlLEVBQUUsQ0FBQTtRQUN6QixhQUFRLEdBQWMsRUFBRSxDQUFBO1FBQ3hCLHVCQUFrQixHQUF3QixFQUFFLENBQUE7UUFDNUMsaUJBQVksR0FBeUIsRUFBRSxD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
|