@contember/engine-server 1.1.0-alpha.2 → 1.1.0-alpha.5

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 (93) hide show
  1. package/alpine.dockerfile +3 -1
  2. package/debian.dockerfile +3 -1
  3. package/dist/src/MasterContainer.d.ts +104 -8
  4. package/dist/src/MasterContainer.d.ts.map +1 -1
  5. package/dist/src/MasterContainer.js +65 -84
  6. package/dist/src/MasterContainer.js.map +1 -1
  7. package/dist/src/bootstrap/Initializer.d.ts +3 -12
  8. package/dist/src/bootstrap/Initializer.d.ts.map +1 -1
  9. package/dist/src/bootstrap/Initializer.js +8 -24
  10. package/dist/src/bootstrap/Initializer.js.map +1 -1
  11. package/dist/src/config/config.d.ts +7 -49
  12. package/dist/src/config/config.d.ts.map +1 -1
  13. package/dist/src/config/config.js +11 -188
  14. package/dist/src/config/config.js.map +1 -1
  15. package/dist/src/config/configSchema.d.ts +84 -0
  16. package/dist/src/config/configSchema.d.ts.map +1 -0
  17. package/dist/src/config/configSchema.js +80 -0
  18. package/dist/src/config/configSchema.js.map +1 -0
  19. package/dist/src/config/configTemplate.d.ts +2 -0
  20. package/dist/src/config/configTemplate.d.ts.map +1 -0
  21. package/dist/src/config/configTemplate.js +62 -0
  22. package/dist/src/config/configTemplate.js.map +1 -0
  23. package/dist/src/config/projectConfigResolver.d.ts +8 -0
  24. package/dist/src/config/projectConfigResolver.d.ts.map +1 -0
  25. package/dist/src/config/projectConfigResolver.js +63 -0
  26. package/dist/src/config/projectConfigResolver.js.map +1 -0
  27. package/dist/src/config/tenantConfigResolver.d.ts +8 -0
  28. package/dist/src/config/tenantConfigResolver.d.ts.map +1 -0
  29. package/dist/src/config/tenantConfigResolver.js +31 -0
  30. package/dist/src/config/tenantConfigResolver.js.map +1 -0
  31. package/dist/src/http/CollectHttpMetricsMiddelware.d.ts +2 -2
  32. package/dist/src/http/CollectHttpMetricsMiddelware.d.ts.map +1 -1
  33. package/dist/src/http/CollectHttpMetricsMiddelware.js +6 -5
  34. package/dist/src/http/CollectHttpMetricsMiddelware.js.map +1 -1
  35. package/dist/src/project/ProjectContainer.d.ts +14 -16
  36. package/dist/src/project/ProjectContainer.d.ts.map +1 -1
  37. package/dist/src/project/ProjectContainer.js +17 -12
  38. package/dist/src/project/ProjectContainer.js.map +1 -1
  39. package/dist/src/project/ProjectContainerResolver.d.ts +12 -10
  40. package/dist/src/project/ProjectContainerResolver.d.ts.map +1 -1
  41. package/dist/src/project/ProjectContainerResolver.js +26 -33
  42. package/dist/src/project/ProjectContainerResolver.js.map +1 -1
  43. package/dist/src/project/{ProjectGroupState.d.ts → ProjectContainerStore.d.ts} +2 -2
  44. package/dist/src/project/ProjectContainerStore.d.ts.map +1 -0
  45. package/dist/src/project/{ProjectGroupState.js → ProjectContainerStore.js} +4 -4
  46. package/dist/src/project/ProjectContainerStore.js.map +1 -0
  47. package/dist/src/project/ProjectInitializer.d.ts +3 -3
  48. package/dist/src/project/ProjectInitializer.d.ts.map +1 -1
  49. package/dist/src/project/ProjectInitializer.js +4 -4
  50. package/dist/src/project/ProjectInitializer.js.map +1 -1
  51. package/dist/src/project/ProjectSchemaResolver.d.ts +3 -3
  52. package/dist/src/project/ProjectSchemaResolver.d.ts.map +1 -1
  53. package/dist/src/project/ProjectSchemaResolver.js +5 -5
  54. package/dist/src/project/ProjectSchemaResolver.js.map +1 -1
  55. package/dist/src/projectGroup/ProjectGroupContainer.d.ts +23 -0
  56. package/dist/src/projectGroup/ProjectGroupContainer.d.ts.map +1 -0
  57. package/dist/src/projectGroup/ProjectGroupContainer.js +64 -0
  58. package/dist/src/projectGroup/ProjectGroupContainer.js.map +1 -0
  59. package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts +12 -0
  60. package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts.map +1 -0
  61. package/dist/src/projectGroup/ProjectGroupContainerResolver.js +36 -0
  62. package/dist/src/projectGroup/ProjectGroupContainerResolver.js.map +1 -0
  63. package/dist/src/start.js +9 -8
  64. package/dist/src/start.js.map +1 -1
  65. package/dist/src/tsconfig.tsbuildinfo +1 -1
  66. package/dist/src/utils/dbMetrics.d.ts +6 -2
  67. package/dist/src/utils/dbMetrics.d.ts.map +1 -1
  68. package/dist/src/utils/dbMetrics.js +13 -16
  69. package/dist/src/utils/dbMetrics.js.map +1 -1
  70. package/dist/tests/cases/http.js +30 -19
  71. package/dist/tests/cases/http.js.map +1 -1
  72. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  73. package/package.json +22 -21
  74. package/src/MasterContainer.ts +145 -204
  75. package/src/bootstrap/Initializer.ts +9 -34
  76. package/src/config/config.ts +23 -234
  77. package/src/config/configSchema.ts +114 -0
  78. package/src/config/configTemplate.ts +58 -0
  79. package/src/config/projectConfigResolver.ts +83 -0
  80. package/src/config/tenantConfigResolver.ts +41 -0
  81. package/src/http/CollectHttpMetricsMiddelware.ts +6 -5
  82. package/src/project/ProjectContainer.ts +25 -18
  83. package/src/project/ProjectContainerResolver.ts +29 -37
  84. package/src/project/{ProjectGroupState.ts → ProjectContainerStore.ts} +1 -1
  85. package/src/project/ProjectInitializer.ts +5 -9
  86. package/src/project/ProjectSchemaResolver.ts +6 -10
  87. package/src/projectGroup/ProjectGroupContainer.ts +120 -0
  88. package/src/projectGroup/ProjectGroupContainerResolver.ts +47 -0
  89. package/src/start.ts +9 -8
  90. package/src/utils/dbMetrics.ts +19 -20
  91. package/tests/cases/http.ts +35 -22
  92. package/dist/src/project/ProjectGroupState.d.ts.map +0 -1
  93. package/dist/src/project/ProjectGroupState.js.map +0 -1
@@ -7,9 +7,6 @@ import { test } from 'uvu'
7
7
  import prom from 'prom-client'
8
8
  import { MigrationFilesManager, MigrationsResolver } from '@contember/schema-migrations'
9
9
  import { Logger } from '@contember/engine-common'
10
- import { CreateProjectCommand, DatabaseContext } from '@contember/engine-tenant-api'
11
- import { ConflictActionType, InsertBuilder } from '@contember/database'
12
- import uuid from 'uuid'
13
10
 
14
11
  const dbCredentials = (dbName: string) => {
15
12
  return {
@@ -38,29 +35,28 @@ const projectConfig = {
38
35
  }
39
36
  const createContainer = (debug: boolean) => {
40
37
  prom.register.clear()
41
- return new MasterContainerFactory().create({
38
+ const tenantConfig = {
39
+ db: dbCredentials(String(process.env.TEST_DB_NAME_TENANT)),
40
+ mailer: {},
41
+ credentials: {
42
+ rootToken,
43
+ loginToken,
44
+ },
45
+ secrets: {},
46
+ }
47
+ return new MasterContainerFactory().createBuilder({
42
48
  debugMode: debug,
43
- config: {
44
- tenant: {
45
- db: dbCredentials(String(process.env.TEST_DB_NAME_TENANT)),
46
- mailer: {},
47
- credentials: {
48
- rootToken,
49
- loginToken,
50
- },
51
- secrets: {},
52
- },
53
- server: {
54
- logging: {},
55
- port: 0,
56
- monitoringPort: 0,
57
- http: {},
58
- },
49
+ serverConfig: {
50
+ logging: {},
51
+ port: 0,
52
+ monitoringPort: 0,
53
+ http: {},
59
54
  },
60
55
  projectConfigResolver: () => projectConfig,
56
+ tenantConfigResolver: () => tenantConfig,
61
57
  plugins: [],
62
58
  processType: ProcessType.singleNode,
63
- })
59
+ }).build()
64
60
  }
65
61
 
66
62
  const executeGraphql = (
@@ -109,7 +105,24 @@ test.before(async () => {
109
105
  )
110
106
  const container = createContainer(false)
111
107
  await container.initializer.initialize()
112
- await container.initializer.createProject(projectConfig, await migrationsResolver.getMigrations())
108
+
109
+ const { slug, name, ...config } = projectConfig
110
+ const groupContainer = await container.projectGroupContainerResolver.getProjectGroupContainer(undefined)
111
+ const tenantContainer = groupContainer.tenantContainer
112
+ const result = await tenantContainer.projectManager.createProject(tenantContainer.databaseContext, { slug, name, config: config as any, secrets: {} }, undefined)
113
+ if (!result) {
114
+ throw new Error('Project already exists')
115
+ }
116
+ const projectContainer = await groupContainer.projectContainerResolver.getProjectContainer(slug)
117
+ if (!projectContainer) {
118
+ throw new Error('Should not happen')
119
+ }
120
+ await groupContainer.systemContainer.projectInitializer.initialize(
121
+ projectContainer.systemDatabaseContextFactory,
122
+ projectConfig,
123
+ new Logger(() => null),
124
+ await migrationsResolver.getMigrations(),
125
+ )
113
126
  await tenantConnection.end()
114
127
  } catch (e) {
115
128
  // eslint-disable-next-line no-console
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectGroupState.d.ts","sourceRoot":"","sources":["../../../src/project/ProjectGroupState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGzD,aAAK,iBAAiB,GAAG;IAAE,SAAS,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;IAAC,SAAS,EAAE,IAAI,CAAA;CAAE,CAAA;AAEnG,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,YAAY,CAA4B;IAEzC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI9C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI3C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,GAAG,SAAS;IAI5D,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIrH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAG1C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProjectGroupState.js","sourceRoot":"","sources":["../../../src/project/ProjectGroupState.ts"],"names":[],"mappings":";;;AACA,4DAAqD;AAIrD,MAAa,iBAAiB;IAA9B;QACS,eAAU,GAAG,IAAI,0BAAU,EAA6B,CAAA;QACxD,iBAAY,GAAG,IAAI,GAAG,EAAkB,CAAA;IAyBjD,CAAC;IAvBO,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACnC,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,KAAa;QAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAEM,WAAW,CAAC,KAAa;QAC/B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAChC,CAAC;IAEM,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,OAAqD;QAC9F,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;IAEM,eAAe,CAAC,IAAY;QAClC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;CACD;AA3BD,8CA2BC"}