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.
Files changed (551) hide show
  1. package/bin/runlify +0 -0
  2. package/build/cli.js +68 -68
  3. package/build/commands/availableEnvironments.js +65 -65
  4. package/build/commands/generate.js +61 -61
  5. package/build/commands/init.js +183 -183
  6. package/build/commands/login.js +57 -57
  7. package/build/commands/logout.js +55 -55
  8. package/build/commands/pullEnvs.js +84 -84
  9. package/build/commands/readEnv.js +59 -59
  10. package/build/commands/regen.js +64 -64
  11. package/build/commands/runlify.js +50 -50
  12. package/build/commands/showToken.js +60 -60
  13. package/build/commands/start.js +128 -128
  14. package/build/commands/tryGetMeta.js +57 -57
  15. package/build/documentation/algorithm.js +2 -2
  16. package/build/documentation/algoritmToDoc.js +23 -23
  17. package/build/documentation/algoritmToDoc.spec.js +58 -58
  18. package/build/documentation/curlExampleToText.js +58 -58
  19. package/build/documentation/curlExampleToText.spec.js +61 -61
  20. package/build/documentation/doc.js +3 -3
  21. package/build/documentation/docToFlatDoc.js +53 -53
  22. package/build/documentation/docToFlatDoc.spec.js +221 -221
  23. package/build/documentation/flatDoc.js +3 -3
  24. package/build/documentation/flatDocToText.js +16 -16
  25. package/build/documentation/flatDocToText.spec.js +71 -71
  26. package/build/documentation/templateDoc.js +3 -3
  27. package/build/documentation/templateDocToDoc.js +8 -8
  28. package/build/extensions/auth.js +135 -135
  29. package/build/extensions/cli-extension.js +16 -16
  30. package/build/extensions/cloudEnv.js +154 -154
  31. package/build/extensions/cloudMeta.js +84 -84
  32. package/build/extensions/globalConfig.js +93 -93
  33. package/build/extensions/localConfig.js +57 -57
  34. package/build/extensions/preventRunningIfUpdateAvailable.js +62 -62
  35. package/build/index.js +23 -23
  36. package/build/log.js +37 -37
  37. package/build/projectsGeneration/args.js +101 -101
  38. package/build/projectsGeneration/builders/BaseBuilder.js +86 -86
  39. package/build/projectsGeneration/builders/BaseSavableEntityBuilder.js +290 -290
  40. package/build/projectsGeneration/builders/CatalogBuilder.js +81 -81
  41. package/build/projectsGeneration/builders/DeploymentBuilder.js +71 -71
  42. package/build/projectsGeneration/builders/DocumentBuilder.js +99 -99
  43. package/build/projectsGeneration/builders/InfoRegistryBuilder.js +233 -233
  44. package/build/projectsGeneration/builders/ReportBuilder.js +47 -47
  45. package/build/projectsGeneration/builders/RestApiBuilder.js +58 -58
  46. package/build/projectsGeneration/builders/RestApiMethodBuilder.js +70 -70
  47. package/build/projectsGeneration/builders/RoleBuilder.js +45 -45
  48. package/build/projectsGeneration/builders/SumRegistryBuilder.js +219 -219
  49. package/build/projectsGeneration/builders/SystemMetaBuilder.js +430 -430
  50. package/build/projectsGeneration/builders/TelegramBotBuilder.js +43 -43
  51. package/build/projectsGeneration/builders/buildedTypes.js +19 -19
  52. package/build/projectsGeneration/builders/curlTypes.js +2 -2
  53. package/build/projectsGeneration/builders/docs/DocumentationOfDocument.js +2 -2
  54. package/build/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.js +19 -19
  55. package/build/projectsGeneration/builders/fields/BaseFieldBuilder.js +235 -235
  56. package/build/projectsGeneration/builders/fields/IdFieldBuilder.js +98 -98
  57. package/build/projectsGeneration/builders/fields/LinkFieldBuilder.js +101 -101
  58. package/build/projectsGeneration/builders/fields/ScalarFieldBuilder.js +70 -70
  59. package/build/projectsGeneration/builders/fields/ViewLinkFieldBuilder.js +90 -90
  60. package/build/projectsGeneration/builders/index.js +19 -19
  61. package/build/projectsGeneration/builders/materialUiIcons.js +8881 -8881
  62. package/build/projectsGeneration/builders/tsFilterFields.js +38 -38
  63. package/build/projectsGeneration/builders/tsFilterFields.spec.js +28 -28
  64. package/build/projectsGeneration/builders/types.js +2 -2
  65. package/build/projectsGeneration/builders/ui/Forms.js +2 -2
  66. package/build/projectsGeneration/builders/ui/FormsBuilder.js +20 -20
  67. package/build/projectsGeneration/builders/ui/ListFormBuilder.js +20 -20
  68. package/build/projectsGeneration/builders/ui/ListFormFilterBuilder.js +28 -28
  69. package/build/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.js +24 -24
  70. package/build/projectsGeneration/builders/utils/accessFunctions.js +11 -11
  71. package/build/projectsGeneration/builders/validation/baseValudationToYupAssertions.js +12 -12
  72. package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.js +13 -13
  73. package/build/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.js +22 -22
  74. package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.js +12 -12
  75. package/build/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.js +21 -21
  76. package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.js +22 -22
  77. package/build/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.js +24 -24
  78. package/build/projectsGeneration/builders/validation/numberValudationToYupAssertions.js +37 -37
  79. package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.js +14 -14
  80. package/build/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.js +21 -21
  81. package/build/projectsGeneration/builders/validation/types.js +17 -17
  82. package/build/projectsGeneration/commonEntities/addAggregateTrackings.js +48 -48
  83. package/build/projectsGeneration/commonEntities/addAuditLogs.js +160 -160
  84. package/build/projectsGeneration/commonEntities/addAutogeneration.js +158 -158
  85. package/build/projectsGeneration/commonEntities/addCommonCommands.js +20 -20
  86. package/build/projectsGeneration/commonEntities/addCommonEntities.js +31 -31
  87. package/build/projectsGeneration/commonEntities/addLanguages.js +18 -18
  88. package/build/projectsGeneration/commonEntities/addManagers.js +166 -166
  89. package/build/projectsGeneration/commonEntities/addRefreshTokens.js +50 -50
  90. package/build/projectsGeneration/commonEntities/addRoles.js +204 -204
  91. package/build/projectsGeneration/commonEntities/addTenants.js +30 -30
  92. package/build/projectsGeneration/commonEntities/addUsers.js +56 -56
  93. package/build/projectsGeneration/commonEntities/index.js +28 -28
  94. package/build/projectsGeneration/defaultCatalogs/addElasticSearch.js +60 -60
  95. package/build/projectsGeneration/defaultCatalogs/files.js +29 -28
  96. package/build/projectsGeneration/defaultCatalogs/index.js +18 -18
  97. package/build/projectsGeneration/genGraphSchemesByLocalGenerator.js +107 -107
  98. package/build/projectsGeneration/generateEntity.js +358 -358
  99. package/build/projectsGeneration/generateEnvironment.js +258 -258
  100. package/build/projectsGeneration/generateProject.js +803 -803
  101. package/build/projectsGeneration/generators/fieldTypeToTsType.js +25 -25
  102. package/build/projectsGeneration/generators/fileTemplates/back/Entities.js +18 -18
  103. package/build/projectsGeneration/generators/fileTemplates/back/devEnum.js +16 -16
  104. package/build/projectsGeneration/generators/fileTemplates/back/enum.js +16 -16
  105. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.js +11 -11
  106. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.js +15 -15
  107. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.js +11 -11
  108. package/build/projectsGeneration/generators/fileTemplates/back/environment/chart/values.js +19 -19
  109. package/build/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.js +35 -35
  110. package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.js +11 -11
  111. package/build/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.js +11 -11
  112. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.js +26 -26
  113. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.js +8 -8
  114. package/build/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.js +35 -35
  115. package/build/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.js +45 -45
  116. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.js +12 -12
  117. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.js +12 -12
  118. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.js +12 -12
  119. package/build/projectsGeneration/generators/fileTemplates/back/environment/src/index.js +12 -12
  120. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.js +5 -5
  121. package/build/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.js +5 -5
  122. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.js +12 -12
  123. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.js +13 -13
  124. package/build/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.js +12 -12
  125. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.js +4 -4
  126. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.js +7 -7
  127. package/build/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.js +4 -4
  128. package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.js +5 -5
  129. package/build/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.js +5 -5
  130. package/build/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.js +16 -16
  131. package/build/projectsGeneration/generators/fileTemplates/back/graph/resolvers.js +16 -16
  132. package/build/projectsGeneration/generators/fileTemplates/back/graph/types.js +12 -12
  133. package/build/projectsGeneration/generators/fileTemplates/back/initCommon.js +53 -53
  134. package/build/projectsGeneration/generators/fileTemplates/back/initDev.js +45 -45
  135. package/build/projectsGeneration/generators/fileTemplates/back/initEntities.js +16 -16
  136. package/build/projectsGeneration/generators/fileTemplates/back/root/config/index.js +34 -34
  137. package/build/projectsGeneration/generators/fileTemplates/back/root/restRouter.js +5 -5
  138. package/build/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.js +5 -5
  139. package/build/projectsGeneration/generators/fileTemplates/back/services/BaseServices.js +14 -14
  140. package/build/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.js +9 -9
  141. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.js +9 -9
  142. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/class.js +74 -74
  143. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/config.js +82 -82
  144. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.js +9 -9
  145. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.js +10 -10
  146. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.js +10 -10
  147. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.js +10 -10
  148. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.js +10 -10
  149. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.js +10 -10
  150. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.js +10 -10
  151. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.js +10 -10
  152. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.js +10 -10
  153. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.js +11 -11
  154. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.js +10 -10
  155. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.js +17 -17
  156. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.js +16 -16
  157. package/build/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.js +9 -9
  158. package/build/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.js +14 -14
  159. package/build/projectsGeneration/generators/fileTemplates/ui/Dashboard.js +4 -4
  160. package/build/projectsGeneration/generators/fileTemplates/ui/MetaPage.js +7 -7
  161. package/build/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.js +16 -16
  162. package/build/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.js +5 -5
  163. package/build/projectsGeneration/generators/fileTemplates/ui/entityMapping.js +15 -15
  164. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.js +11 -11
  165. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.js +16 -16
  166. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.js +11 -11
  167. package/build/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.js +11 -11
  168. package/build/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.js +28 -28
  169. package/build/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.js +32 -32
  170. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/App.js +13 -13
  171. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.js +12 -12
  172. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.js +16 -16
  173. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.js +12 -12
  174. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.js +12 -12
  175. package/build/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.js +10 -10
  176. package/build/projectsGeneration/generators/fileTemplates/ui/functions/Functions.js +12 -12
  177. package/build/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.js +5 -5
  178. package/build/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.js +22 -22
  179. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.js +11 -11
  180. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.js +11 -11
  181. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.js +11 -11
  182. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.js +9 -9
  183. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.js +11 -11
  184. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.js +23 -23
  185. package/build/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.js +17 -17
  186. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.js +102 -102
  187. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.js +9 -9
  188. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.js +152 -152
  189. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.js +9 -9
  190. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.js +74 -74
  191. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.js +90 -90
  192. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.js +9 -9
  193. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.js +9 -9
  194. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.js +23 -23
  195. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.js +52 -52
  196. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.js +63 -63
  197. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.js +79 -79
  198. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.js +5 -5
  199. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.js +7 -7
  200. package/build/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.js +9 -9
  201. package/build/projectsGeneration/generators/fileTemplates/ui/pages/Icon.js +11 -11
  202. package/build/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.js +68 -68
  203. package/build/projectsGeneration/generators/fileTemplates/ui/resources.js +10 -10
  204. package/build/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.js +12 -12
  205. package/build/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.js +19 -19
  206. package/build/projectsGeneration/generators/graph/fieldTypeToGraphScalar.js +29 -29
  207. package/build/projectsGeneration/generators/graph/fields/genGraphField.js +20 -20
  208. package/build/projectsGeneration/generators/graph/fields/genGraphIdField.js +15 -15
  209. package/build/projectsGeneration/generators/graph/fields/genGraphIdFieldType.js +19 -19
  210. package/build/projectsGeneration/generators/graph/fields/genGraphLinkField.js +34 -34
  211. package/build/projectsGeneration/generators/graph/fields/genGraphScalarField.js +27 -27
  212. package/build/projectsGeneration/generators/graph/filters/genGraphField.js +20 -20
  213. package/build/projectsGeneration/generators/graph/filters/genGraphIdFilter.js +24 -24
  214. package/build/projectsGeneration/generators/graph/filters/genGraphLinkFilter.js +17 -17
  215. package/build/projectsGeneration/generators/graph/filters/genGraphScalarFilter.js +41 -41
  216. package/build/projectsGeneration/generators/graph/genGraphCrudSchema.js +102 -102
  217. package/build/projectsGeneration/generators/graph/genGraphCrudSchema.spec.js +86 -86
  218. package/build/projectsGeneration/generators/graph/genGraphFilterType.js +28 -28
  219. package/build/projectsGeneration/generators/graph/genGraphFilterType.spec.js +34 -34
  220. package/build/projectsGeneration/generators/graph/genGraphType.js +26 -26
  221. package/build/projectsGeneration/generators/graph/genGraphType.spec.js +27 -27
  222. package/build/projectsGeneration/generators/graph/printGraphType.js +10 -10
  223. package/build/projectsGeneration/generators/graph/printGraphType.spec.js +17 -17
  224. package/build/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.js +16 -16
  225. package/build/projectsGeneration/generators/prisma/fieldTypeToPrismaType.js +27 -27
  226. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.js +10 -10
  227. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.js +56 -56
  228. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.js +21 -21
  229. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.js +11 -11
  230. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.js +34 -34
  231. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.js +20 -20
  232. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.js +44 -44
  233. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.js +32 -32
  234. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.js +85 -85
  235. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.js +23 -23
  236. package/build/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.js +116 -116
  237. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.js +56 -56
  238. package/build/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.js +96 -96
  239. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.js +14 -14
  240. package/build/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.js +15 -15
  241. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.js +24 -24
  242. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.js +20 -20
  243. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.js +8 -8
  244. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.js +14 -14
  245. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.js +23 -23
  246. package/build/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.js +8 -8
  247. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.js +28 -28
  248. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.js +20 -20
  249. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.js +8 -8
  250. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.js +16 -16
  251. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.js +160 -160
  252. package/build/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.js +8 -8
  253. package/build/projectsGeneration/generators/ui/componentNames/types.js +2 -2
  254. package/build/projectsGeneration/generators/ui/getLinkShowComponent.spec.js +41 -41
  255. package/build/projectsGeneration/generators/ui/getScalarShowComponent.spec.js +26 -26
  256. package/build/projectsGeneration/generators/ui/getShowComponent.js +44 -44
  257. package/build/projectsGeneration/index.js +27 -27
  258. package/build/projectsGeneration/links/getLinksFromExternalEntities.js +7 -7
  259. package/build/projectsGeneration/links/getLinksFromExternalEntities.spec.js +88 -88
  260. package/build/projectsGeneration/links/getLinksOfEntities.js +21 -21
  261. package/build/projectsGeneration/links/getLinksOfEntities.spec.js +203 -203
  262. package/build/projectsGeneration/links/getLinksToExternalEntities.js +7 -7
  263. package/build/projectsGeneration/links/getLinksToExternalEntities.spec.js +88 -88
  264. package/build/projectsGeneration/metaUtils.js +41 -41
  265. package/build/projectsGeneration/modelsGeneration.serialization.spec.js +95 -95
  266. package/build/projectsGeneration/modules/addEmailModuleEntities.js +204 -204
  267. package/build/projectsGeneration/modules/index.js +8 -8
  268. package/build/projectsGeneration/types.js +90 -90
  269. package/build/projectsGeneration/utils.js +86 -86
  270. package/build/refs/yup.spec.js +59 -59
  271. package/build/templates/model.ts.ejs +3 -0
  272. package/build/templates/runlify.developer.example.json.ejs +3 -0
  273. package/build/templates/runlify.json.ejs +6 -0
  274. package/build/types/cli.d.ts +1 -1
  275. package/build/types/commands/availableEnvironments.d.ts +1 -1
  276. package/build/types/commands/generate.d.ts +1 -1
  277. package/build/types/commands/init.d.ts +1 -1
  278. package/build/types/commands/login.d.ts +1 -1
  279. package/build/types/commands/logout.d.ts +1 -1
  280. package/build/types/commands/pullEnvs.d.ts +1 -1
  281. package/build/types/commands/readEnv.d.ts +1 -1
  282. package/build/types/commands/regen.d.ts +1 -1
  283. package/build/types/commands/runlify.d.ts +1 -1
  284. package/build/types/commands/showToken.d.ts +1 -1
  285. package/build/types/commands/start.d.ts +1 -1
  286. package/build/types/commands/tryGetMeta.d.ts +1 -1
  287. package/build/types/documentation/algorithm.d.ts +8 -8
  288. package/build/types/documentation/algoritmToDoc.d.ts +4 -4
  289. package/build/types/documentation/algoritmToDoc.spec.d.ts +1 -1
  290. package/build/types/documentation/curlExampleToText.d.ts +3 -3
  291. package/build/types/documentation/curlExampleToText.spec.d.ts +1 -1
  292. package/build/types/documentation/doc.d.ts +21 -21
  293. package/build/types/documentation/docToFlatDoc.d.ts +4 -4
  294. package/build/types/documentation/docToFlatDoc.spec.d.ts +1 -1
  295. package/build/types/documentation/flatDoc.d.ts +20 -20
  296. package/build/types/documentation/flatDocToText.d.ts +3 -3
  297. package/build/types/documentation/flatDocToText.spec.d.ts +1 -1
  298. package/build/types/documentation/templateDoc.d.ts +9 -9
  299. package/build/types/documentation/templateDocToDoc.d.ts +4 -4
  300. package/build/types/extensions/auth.d.ts +1 -1
  301. package/build/types/extensions/cli-extension.d.ts +1 -1
  302. package/build/types/extensions/cloudEnv.d.ts +1 -1
  303. package/build/types/extensions/cloudMeta.d.ts +1 -1
  304. package/build/types/extensions/globalConfig.d.ts +1 -1
  305. package/build/types/extensions/localConfig.d.ts +1 -1
  306. package/build/types/extensions/preventRunningIfUpdateAvailable.d.ts +1 -1
  307. package/build/types/index.d.ts +2 -2
  308. package/build/types/log.d.ts +3 -3
  309. package/build/types/projectsGeneration/args.d.ts +20 -20
  310. package/build/types/projectsGeneration/builders/BaseBuilder.d.ts +27 -27
  311. package/build/types/projectsGeneration/builders/BaseSavableEntityBuilder.d.ts +76 -76
  312. package/build/types/projectsGeneration/builders/CatalogBuilder.d.ts +14 -14
  313. package/build/types/projectsGeneration/builders/DeploymentBuilder.d.ts +13 -13
  314. package/build/types/projectsGeneration/builders/DocumentBuilder.d.ts +18 -18
  315. package/build/types/projectsGeneration/builders/InfoRegistryBuilder.d.ts +44 -44
  316. package/build/types/projectsGeneration/builders/ReportBuilder.d.ts +8 -8
  317. package/build/types/projectsGeneration/builders/RestApiBuilder.d.ts +12 -12
  318. package/build/types/projectsGeneration/builders/RestApiMethodBuilder.d.ts +20 -20
  319. package/build/types/projectsGeneration/builders/RoleBuilder.d.ts +8 -8
  320. package/build/types/projectsGeneration/builders/SumRegistryBuilder.d.ts +43 -43
  321. package/build/types/projectsGeneration/builders/SystemMetaBuilder.d.ts +80 -80
  322. package/build/types/projectsGeneration/builders/TelegramBotBuilder.d.ts +7 -7
  323. package/build/types/projectsGeneration/builders/buildedTypes.d.ts +264 -264
  324. package/build/types/projectsGeneration/builders/curlTypes.d.ts +24 -24
  325. package/build/types/projectsGeneration/builders/docs/DocumentationOfDocument.d.ts +10 -10
  326. package/build/types/projectsGeneration/builders/docs/DocumentationOfDocumentBuilder.d.ts +9 -9
  327. package/build/types/projectsGeneration/builders/fields/BaseFieldBuilder.d.ts +49 -49
  328. package/build/types/projectsGeneration/builders/fields/IdFieldBuilder.d.ts +12 -12
  329. package/build/types/projectsGeneration/builders/fields/LinkFieldBuilder.d.ts +15 -15
  330. package/build/types/projectsGeneration/builders/fields/ScalarFieldBuilder.d.ts +5 -5
  331. package/build/types/projectsGeneration/builders/fields/ViewLinkFieldBuilder.d.ts +13 -13
  332. package/build/types/projectsGeneration/builders/index.d.ts +3 -3
  333. package/build/types/projectsGeneration/builders/materialUiIcons.d.ts +2 -2
  334. package/build/types/projectsGeneration/builders/tsFilterFields.d.ts +2 -2
  335. package/build/types/projectsGeneration/builders/tsFilterFields.spec.d.ts +1 -1
  336. package/build/types/projectsGeneration/builders/types.d.ts +5 -5
  337. package/build/types/projectsGeneration/builders/ui/Forms.d.ts +14 -14
  338. package/build/types/projectsGeneration/builders/ui/FormsBuilder.d.ts +10 -10
  339. package/build/types/projectsGeneration/builders/ui/ListFormBuilder.d.ts +10 -10
  340. package/build/types/projectsGeneration/builders/ui/ListFormFilterBuilder.d.ts +10 -10
  341. package/build/types/projectsGeneration/builders/ui/ListFormFilterFieldBuilder.d.ts +11 -11
  342. package/build/types/projectsGeneration/builders/utils/accessFunctions.d.ts +2 -2
  343. package/build/types/projectsGeneration/builders/validation/baseValudationToYupAssertions.d.ts +4 -4
  344. package/build/types/projectsGeneration/builders/validation/bigintValudationToYupAssertions.d.ts +4 -4
  345. package/build/types/projectsGeneration/builders/validation/bigintValudationToYupAssertions.spec.d.ts +1 -1
  346. package/build/types/projectsGeneration/builders/validation/floatValudationToYupAssertions.d.ts +4 -4
  347. package/build/types/projectsGeneration/builders/validation/floatValudationToYupAssertions.spec.d.ts +1 -1
  348. package/build/types/projectsGeneration/builders/validation/intValudationToYupAssertions.d.ts +4 -4
  349. package/build/types/projectsGeneration/builders/validation/intValudationToYupAssertions.spec.d.ts +1 -1
  350. package/build/types/projectsGeneration/builders/validation/numberValudationToYupAssertions.d.ts +4 -4
  351. package/build/types/projectsGeneration/builders/validation/stringValudationToYupAssertions.d.ts +4 -4
  352. package/build/types/projectsGeneration/builders/validation/stringValudationToYupAssertions.spec.d.ts +1 -1
  353. package/build/types/projectsGeneration/builders/validation/types.d.ts +41 -41
  354. package/build/types/projectsGeneration/commonEntities/addAggregateTrackings.d.ts +3 -3
  355. package/build/types/projectsGeneration/commonEntities/addAuditLogs.d.ts +3 -3
  356. package/build/types/projectsGeneration/commonEntities/addAutogeneration.d.ts +3 -3
  357. package/build/types/projectsGeneration/commonEntities/addCommonCommands.d.ts +3 -3
  358. package/build/types/projectsGeneration/commonEntities/addCommonEntities.d.ts +3 -3
  359. package/build/types/projectsGeneration/commonEntities/addLanguages.d.ts +3 -3
  360. package/build/types/projectsGeneration/commonEntities/addManagers.d.ts +3 -3
  361. package/build/types/projectsGeneration/commonEntities/addRefreshTokens.d.ts +3 -3
  362. package/build/types/projectsGeneration/commonEntities/addRoles.d.ts +3 -3
  363. package/build/types/projectsGeneration/commonEntities/addTenants.d.ts +3 -3
  364. package/build/types/projectsGeneration/commonEntities/addUsers.d.ts +3 -3
  365. package/build/types/projectsGeneration/commonEntities/index.d.ts +11 -11
  366. package/build/types/projectsGeneration/defaultCatalogs/addElasticSearch.d.ts +2 -2
  367. package/build/types/projectsGeneration/defaultCatalogs/files.d.ts +4 -4
  368. package/build/types/projectsGeneration/defaultCatalogs/index.d.ts +2 -2
  369. package/build/types/projectsGeneration/genGraphSchemesByLocalGenerator.d.ts +2 -2
  370. package/build/types/projectsGeneration/generateEntity.d.ts +2 -2
  371. package/build/types/projectsGeneration/generateEnvironment.d.ts +2 -2
  372. package/build/types/projectsGeneration/generateProject.d.ts +34 -34
  373. package/build/types/projectsGeneration/generators/fieldTypeToTsType.d.ts +2 -2
  374. package/build/types/projectsGeneration/generators/fileTemplates/back/Entities.d.ts +2 -2
  375. package/build/types/projectsGeneration/generators/fileTemplates/back/devEnum.d.ts +2 -2
  376. package/build/types/projectsGeneration/generators/fileTemplates/back/enum.d.ts +2 -2
  377. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/Chart.d.ts +2 -2
  378. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/back.d.ts +2 -2
  379. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/templates/ingress.d.ts +2 -2
  380. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/chart/values.d.ts +2 -2
  381. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/defaultEnv.d.ts +2 -2
  382. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplBack.d.ts +2 -2
  383. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/dockerfileTmplUI.d.ts +2 -2
  384. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsConfiguration.d.ts +2 -2
  385. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsEntity.d.ts +2 -2
  386. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/docs/backDocsRestApi.d.ts +3 -3
  387. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/gitlabCi.d.ts +2 -2
  388. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/getPrisma.d.ts +2 -2
  389. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/knex.d.ts +2 -2
  390. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/clients/queue/getQueue.d.ts +2 -2
  391. package/build/types/projectsGeneration/generators/fileTemplates/back/environment/src/index.d.ts +2 -2
  392. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/additionalResolvers.d.ts +1 -1
  393. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/additionalTypes.d.ts +1 -1
  394. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityAdditionalPermissionToGraphqlTmpl.d.ts +2 -2
  395. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityBasePermissionToGraphql.d.ts +2 -2
  396. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/entityPermissionToGraphqlTmpl.d.ts +2 -2
  397. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/baseResolvers.d.ts +2 -2
  398. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/baseTypeDefs.d.ts +3 -3
  399. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/help/permissionsToGraphql.d.ts +2 -2
  400. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/meta/resolvers.d.ts +1 -1
  401. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/meta/typeDefs.d.ts +1 -1
  402. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/permissionsToGraphql.d.ts +3 -3
  403. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/resolvers.d.ts +2 -2
  404. package/build/types/projectsGeneration/generators/fileTemplates/back/graph/types.d.ts +2 -2
  405. package/build/types/projectsGeneration/generators/fileTemplates/back/initCommon.d.ts +3 -3
  406. package/build/types/projectsGeneration/generators/fileTemplates/back/initDev.d.ts +2 -2
  407. package/build/types/projectsGeneration/generators/fileTemplates/back/initEntities.d.ts +2 -2
  408. package/build/types/projectsGeneration/generators/fileTemplates/back/root/config/index.d.ts +2 -2
  409. package/build/types/projectsGeneration/generators/fileTemplates/back/root/restRouter.d.ts +1 -1
  410. package/build/types/projectsGeneration/generators/fileTemplates/back/services/AdditionalServices.d.ts +1 -1
  411. package/build/types/projectsGeneration/generators/fileTemplates/back/services/BaseServices.d.ts +3 -3
  412. package/build/types/projectsGeneration/generators/fileTemplates/back/services/HelpService/HelpService.d.ts +3 -3
  413. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/additionalClass.d.ts +2 -2
  414. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/class.d.ts +2 -2
  415. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/config.d.ts +3 -3
  416. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnCreate.d.ts +2 -2
  417. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnDelete.d.ts +2 -2
  418. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/additionalOperationsOnUpdate.d.ts +2 -2
  419. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterCreate.d.ts +2 -2
  420. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterDelete.d.ts +2 -2
  421. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/afterUpdate.d.ts +2 -2
  422. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeCreate.d.ts +2 -2
  423. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeDelete.d.ts +2 -2
  424. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpdate.d.ts +2 -2
  425. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/beforeUpsert.d.ts +2 -2
  426. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/changeListFilter.d.ts +2 -2
  427. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/hooks/tenantIdRequiredHooks.d.ts +2 -2
  428. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/initBuiltInHooks.d.ts +2 -2
  429. package/build/types/projectsGeneration/generators/fileTemplates/back/services/entity/initUserHooks.d.ts +2 -2
  430. package/build/types/projectsGeneration/generators/fileTemplates/back/services/serviceConstrictors.d.ts +3 -3
  431. package/build/types/projectsGeneration/generators/fileTemplates/ui/Dashboard.d.ts +2 -2
  432. package/build/types/projectsGeneration/generators/fileTemplates/ui/MetaPage.d.ts +1 -1
  433. package/build/types/projectsGeneration/generators/fileTemplates/ui/ResourcesPage.d.ts +2 -2
  434. package/build/types/projectsGeneration/generators/fileTemplates/ui/additionalRoutes.d.ts +1 -1
  435. package/build/types/projectsGeneration/generators/fileTemplates/ui/entityMapping.d.ts +3 -3
  436. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/Chart.d.ts +2 -2
  437. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/front.d.ts +2 -2
  438. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/templates/ingress.d.ts +2 -2
  439. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/chart/values.d.ts +2 -2
  440. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/docs/adminAppDocsConfiguration.d.ts +2 -2
  441. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/gitlabCi.d.ts +2 -2
  442. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/App.d.ts +3 -3
  443. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/contexts/SpacesContext.d.ts +2 -2
  444. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/dataProvider/index.d.ts +3 -3
  445. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/AppBar.d.ts +2 -2
  446. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/layout/Menu.d.ts +2 -2
  447. package/build/types/projectsGeneration/generators/fileTemplates/ui/environment/src/routes.d.ts +3 -3
  448. package/build/types/projectsGeneration/generators/fileTemplates/ui/functions/Functions.d.ts +2 -2
  449. package/build/types/projectsGeneration/generators/fileTemplates/ui/getAdditionalMenu.d.ts +1 -1
  450. package/build/types/projectsGeneration/generators/fileTemplates/ui/getDefaultMenu.d.ts +2 -2
  451. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangCatalogsTmpl.d.ts +2 -2
  452. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangDocsTmpl.d.ts +2 -2
  453. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangInfoRegistriesTmpl.d.ts +2 -2
  454. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangReportsTmpl.d.ts +2 -2
  455. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiLangSumRegistriesTmpl.d.ts +2 -2
  456. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsForServicesOfSavablesTmpl.d.ts +4 -4
  457. package/build/types/projectsGeneration/generators/fileTemplates/ui/i18n/lang/uiTranslationsLangTmpl.d.ts +9 -9
  458. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/DefaultEntityCreate.d.ts +2 -2
  459. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityCreate/index.d.ts +2 -2
  460. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/DefaultEntityEdit.d.ts +12 -12
  461. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityEdit/index.d.ts +2 -2
  462. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityFilter.d.ts +2 -2
  463. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/DefaultEntityList.d.ts +2 -2
  464. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/EntityFilter.d.ts +2 -2
  465. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityList/index.d.ts +2 -2
  466. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultActions.d.ts +2 -2
  467. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultEntityShow.d.ts +2 -2
  468. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DefaultMainTab.d.ts +2 -2
  469. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/DependencyTab.d.ts +3 -3
  470. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/MainTab.d.ts +1 -1
  471. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/additionalTabs.d.ts +1 -1
  472. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/EntityShow/index.d.ts +2 -2
  473. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/Icon.d.ts +2 -2
  474. package/build/types/projectsGeneration/generators/fileTemplates/ui/pages/getEntityValidation.d.ts +2 -2
  475. package/build/types/projectsGeneration/generators/fileTemplates/ui/resources.d.ts +2 -2
  476. package/build/types/projectsGeneration/generators/fileTemplates/ui/widgets/count/CountWidget.d.ts +2 -2
  477. package/build/types/projectsGeneration/generators/fileTemplates/ui/widgets/list/ListWidget.d.ts +2 -2
  478. package/build/types/projectsGeneration/generators/graph/fieldTypeToGraphScalar.d.ts +2 -2
  479. package/build/types/projectsGeneration/generators/graph/fields/genGraphField.d.ts +7 -7
  480. package/build/types/projectsGeneration/generators/graph/fields/genGraphIdField.d.ts +8 -8
  481. package/build/types/projectsGeneration/generators/graph/fields/genGraphIdFieldType.d.ts +2 -2
  482. package/build/types/projectsGeneration/generators/graph/fields/genGraphLinkField.d.ts +8 -8
  483. package/build/types/projectsGeneration/generators/graph/fields/genGraphScalarField.d.ts +8 -8
  484. package/build/types/projectsGeneration/generators/graph/filters/genGraphField.d.ts +4 -4
  485. package/build/types/projectsGeneration/generators/graph/filters/genGraphIdFilter.d.ts +8 -8
  486. package/build/types/projectsGeneration/generators/graph/filters/genGraphLinkFilter.d.ts +5 -5
  487. package/build/types/projectsGeneration/generators/graph/filters/genGraphScalarFilter.d.ts +5 -5
  488. package/build/types/projectsGeneration/generators/graph/genGraphCrudSchema.d.ts +3 -3
  489. package/build/types/projectsGeneration/generators/graph/genGraphCrudSchema.spec.d.ts +1 -1
  490. package/build/types/projectsGeneration/generators/graph/genGraphFilterType.d.ts +3 -3
  491. package/build/types/projectsGeneration/generators/graph/genGraphFilterType.spec.d.ts +1 -1
  492. package/build/types/projectsGeneration/generators/graph/genGraphType.d.ts +3 -3
  493. package/build/types/projectsGeneration/generators/graph/genGraphType.spec.d.ts +1 -1
  494. package/build/types/projectsGeneration/generators/graph/printGraphType.d.ts +2 -2
  495. package/build/types/projectsGeneration/generators/graph/printGraphType.spec.d.ts +1 -1
  496. package/build/types/projectsGeneration/generators/prisma/fieldIdTypeToPrismaType.d.ts +2 -2
  497. package/build/types/projectsGeneration/generators/prisma/fieldTypeToPrismaType.d.ts +2 -2
  498. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.d.ts +2 -2
  499. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaDefault.spec.d.ts +1 -1
  500. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaField.d.ts +2 -2
  501. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.d.ts +2 -2
  502. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaFieldFromExternalEntity.spec.d.ts +1 -1
  503. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.d.ts +2 -2
  504. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaIdField.spec.d.ts +1 -1
  505. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.d.ts +2 -2
  506. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaLinkFields.spec.d.ts +1 -1
  507. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.d.ts +3 -3
  508. package/build/types/projectsGeneration/generators/prisma/scheme/fields/genPrismaScalarField.spec.d.ts +1 -1
  509. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.d.ts +3 -3
  510. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaEntity.spec.d.ts +1 -1
  511. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntities.d.ts +3 -3
  512. package/build/types/projectsGeneration/generators/prisma/scheme/genPrismaSchemaForEntitiesWithClientAdnDb.d.ts +2 -2
  513. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNameToEditScalar.d.ts +3 -3
  514. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditField.d.ts +3 -3
  515. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditIdField.d.ts +3 -3
  516. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.d.ts +3 -3
  517. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditLinkField.spec.d.ts +1 -1
  518. package/build/types/projectsGeneration/generators/ui/componentNames/edit/getCompNamesToEditScalarField.d.ts +3 -3
  519. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNameToShowScalar.d.ts +3 -3
  520. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowField.d.ts +3 -3
  521. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowIdField.d.ts +3 -3
  522. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.d.ts +3 -3
  523. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowLinkField.spec.d.ts +1 -1
  524. package/build/types/projectsGeneration/generators/ui/componentNames/show/getCompNamesToShowScalarField.d.ts +3 -3
  525. package/build/types/projectsGeneration/generators/ui/componentNames/types.d.ts +4 -4
  526. package/build/types/projectsGeneration/generators/ui/getLinkShowComponent.spec.d.ts +1 -1
  527. package/build/types/projectsGeneration/generators/ui/getScalarShowComponent.spec.d.ts +1 -1
  528. package/build/types/projectsGeneration/generators/ui/getShowComponent.d.ts +6 -6
  529. package/build/types/projectsGeneration/index.d.ts +6 -6
  530. package/build/types/projectsGeneration/links/getLinksFromExternalEntities.d.ts +3 -3
  531. package/build/types/projectsGeneration/links/getLinksFromExternalEntities.spec.d.ts +1 -1
  532. package/build/types/projectsGeneration/links/getLinksOfEntities.d.ts +3 -3
  533. package/build/types/projectsGeneration/links/getLinksOfEntities.spec.d.ts +1 -1
  534. package/build/types/projectsGeneration/links/getLinksToExternalEntities.d.ts +3 -3
  535. package/build/types/projectsGeneration/links/getLinksToExternalEntities.spec.d.ts +1 -1
  536. package/build/types/projectsGeneration/metaUtils.d.ts +9 -9
  537. package/build/types/projectsGeneration/modelsGeneration.serialization.spec.d.ts +1 -1
  538. package/build/types/projectsGeneration/modules/addEmailModuleEntities.d.ts +3 -3
  539. package/build/types/projectsGeneration/modules/index.d.ts +1 -1
  540. package/build/types/projectsGeneration/types.d.ts +100 -100
  541. package/build/types/projectsGeneration/utils.d.ts +15 -15
  542. package/build/types/refs/yup.spec.d.ts +1 -1
  543. package/build/types/types.d.ts +1 -1
  544. package/build/types/utils/TermSignals.d.ts +29 -29
  545. package/build/types/utils/cases.d.ts +9 -9
  546. package/build/types/utils/getPkgManager.d.ts +3 -3
  547. package/build/types.js +17 -17
  548. package/build/utils/TermSignals.js +116 -116
  549. package/build/utils/cases.js +32 -32
  550. package/build/utils/getPkgManager.js +28 -28
  551. 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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