@contember/engine-server 1.1.2 → 1.2.0-alpha.11

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 (173) hide show
  1. package/dist/src/MasterContainer.d.ts +27 -25
  2. package/dist/src/MasterContainer.d.ts.map +1 -1
  3. package/dist/src/MasterContainer.js +54 -80
  4. package/dist/src/MasterContainer.js.map +1 -1
  5. package/dist/src/bootstrap/Initializer.d.ts +3 -3
  6. package/dist/src/bootstrap/Initializer.d.ts.map +1 -1
  7. package/dist/src/bootstrap/Initializer.js +15 -8
  8. package/dist/src/bootstrap/Initializer.js.map +1 -1
  9. package/dist/src/config/config.d.ts +5 -4
  10. package/dist/src/config/config.d.ts.map +1 -1
  11. package/dist/src/config/config.js +2 -2
  12. package/dist/src/config/config.js.map +1 -1
  13. package/dist/src/config/configSchema.d.ts +45 -11
  14. package/dist/src/config/configSchema.d.ts.map +1 -1
  15. package/dist/src/config/configSchema.js +20 -18
  16. package/dist/src/config/configSchema.js.map +1 -1
  17. package/dist/src/config/configTemplate.d.ts.map +1 -1
  18. package/dist/src/config/configTemplate.js +23 -0
  19. package/dist/src/config/configTemplate.js.map +1 -1
  20. package/dist/src/index.d.ts +9 -3
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/index.js +23 -4
  23. package/dist/src/index.js.map +1 -1
  24. package/dist/src/project/ProjectContainer.js +1 -1
  25. package/dist/src/project/ProjectContainer.js.map +1 -1
  26. package/dist/src/project/ProjectContainerResolver.d.ts +6 -3
  27. package/dist/src/project/ProjectContainerResolver.d.ts.map +1 -1
  28. package/dist/src/project/ProjectContainerResolver.js +4 -16
  29. package/dist/src/project/ProjectContainerResolver.js.map +1 -1
  30. package/dist/src/projectGroup/ProjectGroupContainer.d.ts +2 -1
  31. package/dist/src/projectGroup/ProjectGroupContainer.d.ts.map +1 -1
  32. package/dist/src/projectGroup/ProjectGroupContainer.js +8 -4
  33. package/dist/src/projectGroup/ProjectGroupContainer.js.map +1 -1
  34. package/dist/src/projectGroup/ProjectGroupResolver.d.ts +7 -0
  35. package/dist/src/projectGroup/ProjectGroupResolver.d.ts.map +1 -0
  36. package/dist/src/projectGroup/ProjectGroupResolver.js +13 -0
  37. package/dist/src/projectGroup/ProjectGroupResolver.js.map +1 -0
  38. package/dist/src/start.js +15 -112
  39. package/dist/src/start.js.map +1 -1
  40. package/dist/src/tsconfig.tsbuildinfo +1 -1
  41. package/dist/src/utils/index.d.ts +0 -4
  42. package/dist/src/utils/index.d.ts.map +1 -1
  43. package/dist/src/utils/index.js +0 -4
  44. package/dist/src/utils/index.js.map +1 -1
  45. package/dist/src/utils/sentry.d.ts +1 -1
  46. package/dist/src/utils/sentry.d.ts.map +1 -1
  47. package/dist/src/utils/sentry.js +1 -1
  48. package/dist/src/utils/sentry.js.map +1 -1
  49. package/dist/src/utils/serverStartup.d.ts +31 -0
  50. package/dist/src/utils/serverStartup.d.ts.map +1 -0
  51. package/dist/src/utils/serverStartup.js +42 -0
  52. package/dist/src/utils/serverStartup.js.map +1 -0
  53. package/dist/src/utils/serverTermination.d.ts +12 -0
  54. package/dist/src/utils/serverTermination.d.ts.map +1 -0
  55. package/dist/src/utils/serverTermination.js +26 -0
  56. package/dist/src/utils/serverTermination.js.map +1 -0
  57. package/dist/tests/e2e/acl-condition-variable.test.d.ts +2 -0
  58. package/dist/tests/e2e/acl-condition-variable.test.d.ts.map +1 -0
  59. package/dist/tests/e2e/acl-condition-variable.test.js +77 -0
  60. package/dist/tests/e2e/acl-condition-variable.test.js.map +1 -0
  61. package/dist/tests/e2e/assume-identity.test.d.ts +2 -0
  62. package/dist/tests/e2e/assume-identity.test.d.ts.map +1 -0
  63. package/dist/tests/e2e/assume-identity.test.js +109 -0
  64. package/dist/tests/e2e/assume-identity.test.js.map +1 -0
  65. package/dist/tests/e2e/assume-membership.test.d.ts +2 -0
  66. package/dist/tests/e2e/assume-membership.test.d.ts.map +1 -0
  67. package/dist/tests/e2e/assume-membership.test.js +58 -0
  68. package/dist/tests/e2e/assume-membership.test.js.map +1 -0
  69. package/dist/tests/e2e/content-api-basic.test.d.ts +2 -0
  70. package/dist/tests/e2e/content-api-basic.test.d.ts.map +1 -0
  71. package/dist/tests/e2e/content-api-basic.test.js +50 -0
  72. package/dist/tests/e2e/content-api-basic.test.js.map +1 -0
  73. package/dist/tests/e2e/content-invalid-schema.test.d.ts +2 -0
  74. package/dist/tests/e2e/content-invalid-schema.test.d.ts.map +1 -0
  75. package/dist/tests/e2e/content-invalid-schema.test.js +29 -0
  76. package/dist/tests/e2e/content-invalid-schema.test.js.map +1 -0
  77. package/dist/tests/e2e/homepage.test.d.ts +2 -0
  78. package/dist/tests/e2e/homepage.test.d.ts.map +1 -0
  79. package/dist/tests/e2e/homepage.test.js +15 -0
  80. package/dist/tests/e2e/homepage.test.js.map +1 -0
  81. package/dist/tests/e2e/tenant-member-access.test.d.ts +2 -0
  82. package/dist/tests/e2e/tenant-member-access.test.d.ts.map +1 -0
  83. package/dist/tests/e2e/tenant-member-access.test.js +43 -0
  84. package/dist/tests/e2e/tenant-member-access.test.js.map +1 -0
  85. package/dist/tests/e2e/x-contember-ref.test.d.ts +2 -0
  86. package/dist/tests/e2e/x-contember-ref.test.d.ts.map +1 -0
  87. package/dist/tests/e2e/x-contember-ref.test.js +63 -0
  88. package/dist/tests/e2e/x-contember-ref.test.js.map +1 -0
  89. package/dist/tests/src/requests.d.ts +5 -0
  90. package/dist/tests/src/requests.d.ts.map +1 -0
  91. package/dist/tests/src/requests.js +68 -0
  92. package/dist/tests/src/requests.js.map +1 -0
  93. package/dist/tests/src/tester.d.ts +19 -0
  94. package/dist/tests/src/tester.d.ts.map +1 -0
  95. package/dist/tests/src/tester.js +99 -0
  96. package/dist/tests/src/tester.js.map +1 -0
  97. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  98. package/esbuild.js +7 -14
  99. package/package.json +23 -23
  100. package/src/MasterContainer.ts +94 -110
  101. package/src/bootstrap/Initializer.ts +16 -8
  102. package/src/config/config.ts +7 -5
  103. package/src/config/configSchema.ts +30 -33
  104. package/src/config/configTemplate.ts +23 -0
  105. package/src/index.ts +15 -2
  106. package/src/project/ProjectContainer.ts +1 -1
  107. package/src/project/ProjectContainerResolver.ts +4 -17
  108. package/src/projectGroup/ProjectGroupContainer.ts +12 -3
  109. package/src/projectGroup/ProjectGroupResolver.ts +12 -0
  110. package/src/start.ts +18 -127
  111. package/src/utils/index.ts +0 -4
  112. package/src/utils/sentry.ts +1 -1
  113. package/src/utils/serverStartup.ts +42 -0
  114. package/src/utils/serverTermination.ts +20 -0
  115. package/tests/e2e/acl-condition-variable.test.ts +74 -0
  116. package/tests/e2e/assume-identity.test.ts +127 -0
  117. package/tests/e2e/assume-membership.test.ts +64 -0
  118. package/tests/e2e/content-api-basic.test.ts +51 -0
  119. package/tests/e2e/content-invalid-schema.test.ts +31 -0
  120. package/tests/e2e/homepage.test.ts +10 -0
  121. package/tests/e2e/tenant-member-access.test.ts +51 -0
  122. package/tests/e2e/x-contember-ref.test.ts +71 -0
  123. package/tests/src/requests.ts +81 -0
  124. package/tests/src/tester.ts +118 -0
  125. package/alpine.dockerfile +0 -30
  126. package/debian.dockerfile +0 -27
  127. package/dist/src/http/CollectHttpMetricsMiddelware.d.ts +0 -5
  128. package/dist/src/http/CollectHttpMetricsMiddelware.d.ts.map +0 -1
  129. package/dist/src/http/CollectHttpMetricsMiddelware.js +0 -36
  130. package/dist/src/http/CollectHttpMetricsMiddelware.js.map +0 -1
  131. package/dist/src/http/ShowMetricsMiddleware.d.ts +0 -4
  132. package/dist/src/http/ShowMetricsMiddleware.d.ts.map +0 -1
  133. package/dist/src/http/ShowMetricsMiddleware.js +0 -20
  134. package/dist/src/http/ShowMetricsMiddleware.js.map +0 -1
  135. package/dist/src/http/index.d.ts +0 -3
  136. package/dist/src/http/index.d.ts.map +0 -1
  137. package/dist/src/http/index.js +0 -19
  138. package/dist/src/http/index.js.map +0 -1
  139. package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts +0 -12
  140. package/dist/src/projectGroup/ProjectGroupContainerResolver.d.ts.map +0 -1
  141. package/dist/src/projectGroup/ProjectGroupContainerResolver.js +0 -36
  142. package/dist/src/projectGroup/ProjectGroupContainerResolver.js.map +0 -1
  143. package/dist/src/utils/cluster.d.ts +0 -9
  144. package/dist/src/utils/cluster.d.ts.map +0 -1
  145. package/dist/src/utils/cluster.js +0 -47
  146. package/dist/src/utils/cluster.js.map +0 -1
  147. package/dist/src/utils/dbMetrics.d.ts +0 -16
  148. package/dist/src/utils/dbMetrics.d.ts.map +0 -1
  149. package/dist/src/utils/dbMetrics.js +0 -98
  150. package/dist/src/utils/dbMetrics.js.map +0 -1
  151. package/dist/src/utils/timeout.d.ts +0 -2
  152. package/dist/src/utils/timeout.d.ts.map +0 -1
  153. package/dist/src/utils/timeout.js +0 -8
  154. package/dist/src/utils/timeout.js.map +0 -1
  155. package/dist/src/utils/tuple.d.ts +0 -2
  156. package/dist/src/utils/tuple.d.ts.map +0 -1
  157. package/dist/src/utils/tuple.js +0 -6
  158. package/dist/src/utils/tuple.js.map +0 -1
  159. package/dist/tests/e2e/http.test.d.ts +0 -2
  160. package/dist/tests/e2e/http.test.d.ts.map +0 -1
  161. package/dist/tests/e2e/http.test.js +0 -275
  162. package/dist/tests/e2e/http.test.js.map +0 -1
  163. package/jasmine.json +0 -7
  164. package/src/http/CollectHttpMetricsMiddelware.ts +0 -32
  165. package/src/http/ShowMetricsMiddleware.ts +0 -12
  166. package/src/http/index.ts +0 -2
  167. package/src/projectGroup/ProjectGroupContainerResolver.ts +0 -47
  168. package/src/utils/cluster.ts +0 -40
  169. package/src/utils/dbMetrics.ts +0 -111
  170. package/src/utils/timeout.ts +0 -4
  171. package/src/utils/tuple.ts +0 -1
  172. package/tests/e2e/http.test.ts +0 -303
  173. package/tslint.json +0 -14
@@ -4,21 +4,19 @@ import { SystemContainerFactory } from '@contember/engine-system-api';
4
4
  import { TenantContainerFactory } from '@contember/engine-tenant-api';
5
5
  import { Builder } from '@contember/dic';
6
6
  import { ServerConfig } from './config/config';
7
- import { ProcessType } from './utils';
8
7
  import { ModificationHandlerFactory } from '@contember/schema-migrations';
9
8
  import { Initializer } from './bootstrap';
10
9
  import { Plugin } from '@contember/engine-plugins';
11
- import { ContentApiMiddlewareFactory, ContentGraphQLContextFactory, ContentQueryHandlerFactory, ErrorMiddlewareFactory, Koa, NotModifiedChecker, ProjectGroupResolver, Providers, SystemApiMiddlewareFactory, SystemGraphQLContextFactory, SystemGraphQLHandlerFactory, TenantApiMiddlewareFactory, TenantGraphQLContextFactory, TenantGraphQLHandlerFactory } from '@contember/engine-http';
12
- import prom from 'prom-client';
10
+ import { ContentApiMiddlewareFactory, ContentGraphQLContextFactory, ContentQueryHandlerFactory, ContentSchemaTransferMappingFactory, ErrorMiddlewareFactory, ExportApiMiddlewareFactory, ExportExecutor, ImportApiMiddlewareFactory, ImportExecutor, Koa, NotModifiedChecker, Providers, SystemApiMiddlewareFactory, SystemGraphQLContextFactory, SystemGraphQLHandlerFactory, SystemSchemaTransferMappingFactory, TenantApiMiddlewareFactory, TenantGraphQLContextFactory, TenantGraphQLHandlerFactory } from '@contember/engine-http';
13
11
  import { ProjectContainerFactoryFactory } from './project';
14
12
  import { ProjectConfigResolver } from './config/projectConfigResolver';
15
13
  import { TenantConfigResolver } from './config/tenantConfigResolver';
16
- import { ProjectGroupContainerResolver } from './projectGroup/ProjectGroupContainerResolver';
17
14
  import { ProjectGroupContainerFactory } from './projectGroup/ProjectGroupContainer';
15
+ import { ProjectGroupResolver as ProjectGroupResolverInterface } from '@contember/engine-http';
16
+ import { Logger } from '@contember/engine-common';
18
17
  export interface MasterContainer {
19
18
  initializer: Initializer;
20
19
  koa: Koa;
21
- monitoringKoa: Koa;
22
20
  providers: Providers;
23
21
  }
24
22
  export interface MasterContainerArgs {
@@ -27,35 +25,27 @@ export interface MasterContainerArgs {
27
25
  projectConfigResolver: ProjectConfigResolver;
28
26
  tenantConfigResolver: TenantConfigResolver;
29
27
  plugins: Plugin[];
30
- processType: ProcessType;
31
28
  version?: string;
32
29
  }
33
30
  export declare class MasterContainerFactory {
34
- createBuilder({ serverConfig, debugMode, plugins, projectConfigResolver, tenantConfigResolver, processType, version, }: MasterContainerArgs): Builder<{
31
+ createBuilder({ serverConfig, debugMode, plugins, projectConfigResolver, tenantConfigResolver, version, }: MasterContainerArgs): Builder<{
35
32
  serverConfig: {
36
33
  readonly port: number;
37
- readonly monitoringPort: number;
38
34
  readonly http: {
39
35
  readonly requestBodySize?: string | undefined;
40
36
  };
41
- readonly logging: {} | {
37
+ readonly logging: {
38
+ sentry?: {
39
+ dsn: string;
40
+ } | undefined;
41
+ } | {
42
42
  readonly sentry?: {
43
43
  readonly dsn: string;
44
44
  } | undefined;
45
45
  };
46
- } & {
47
- readonly workerCount?: string | number | undefined;
48
- readonly projectGroup?: ({
49
- readonly domainMapping: string;
50
- } & {
51
- readonly configHeader?: string | undefined;
52
- readonly configEncryptionKey?: string | undefined;
53
- }) | undefined;
54
46
  };
55
47
  } & {
56
48
  debugMode: boolean;
57
- } & {
58
- processType: ProcessType;
59
49
  } & {
60
50
  version: string | undefined;
61
51
  } & {
@@ -88,13 +78,11 @@ export declare class MasterContainerFactory {
88
78
  } & {
89
79
  projectGroupContainerFactory: ProjectGroupContainerFactory;
90
80
  } & {
91
- projectGroupContainerResolver: ProjectGroupContainerResolver;
92
- } & {
93
- promRegistry: prom.Registry;
81
+ projectGroupContainer: import("@contember/engine-http").ProjectGroupContainer;
94
82
  } & {
95
83
  httpErrorMiddlewareFactory: ErrorMiddlewareFactory;
96
84
  } & {
97
- projectGroupResolver: ProjectGroupResolver;
85
+ projectGroupResolver: ProjectGroupResolverInterface;
98
86
  } & {
99
87
  notModifiedChecker: NotModifiedChecker;
100
88
  } & {
@@ -112,9 +100,23 @@ export declare class MasterContainerFactory {
112
100
  } & {
113
101
  systemApiMiddlewareFactory: SystemApiMiddlewareFactory;
114
102
  } & {
115
- koa: Koa<Koa.DefaultState, Koa.DefaultContext>;
103
+ logger: Logger;
104
+ } & {
105
+ contentSchemaTransferMappingFactory: ContentSchemaTransferMappingFactory;
106
+ } & {
107
+ systemSchemaTransferMappingFactory: SystemSchemaTransferMappingFactory;
116
108
  } & {
117
- monitoringKoa: Koa<Koa.DefaultState, Koa.DefaultContext>;
109
+ importExecutor: ImportExecutor;
110
+ } & {
111
+ exportExecutor: ExportExecutor;
112
+ } & {
113
+ importApiMiddlewareFactory: ImportApiMiddlewareFactory;
114
+ } & {
115
+ exportApiMiddlewareFactory: ExportApiMiddlewareFactory;
116
+ } & {
117
+ koaMiddlewares: import("@contember/engine-http").KoaMiddleware<any>;
118
+ } & {
119
+ koa: Koa<Koa.DefaultState, Koa.DefaultContext>;
118
120
  } & {
119
121
  initializer: Initializer;
120
122
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"MasterContainer.d.ts","sourceRoot":"","sources":["../../src/MasterContainer.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAA4C,WAAW,EAAE,MAAM,SAAS,CAAA;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,OAAO,EAEN,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAQ1B,sBAAsB,EACtB,GAAG,EACH,kBAAkB,EAClB,oBAAoB,EACpB,SAAS,EACF,0BAA0B,EAAE,2BAA2B,EAC9D,2BAA2B,EAAE,0BAA0B,EAAE,2BAA2B,EACpF,2BAA2B,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,IAAI,MAAM,aAAa,CAAA;AAC9B,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAI1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAA;AAC5F,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAGnF,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,GAAG,CAAA;IACR,aAAa,EAAE,GAAG,CAAA;IAClB,SAAS,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,WAAW,EAAE,WAAW,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,sBAAsB;IAClC,aAAa,CAAC,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,OAAO,GACP,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoJtB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAIlD"}
1
+ {"version":3,"file":"MasterContainer.d.ts","sourceRoot":"","sources":["../../src/MasterContainer.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAEN,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EAOnC,sBAAsB,EACtB,0BAA0B,EAC1B,cAAc,EACd,0BAA0B,EAC1B,cAAc,EACd,GAAG,EACH,kBAAkB,EAClB,SAAS,EAET,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,kCAAkC,EAClC,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAA;AAG1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAA;AAGnF,OAAO,EAAE,oBAAoB,IAAI,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEjD,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,WAAW,CAAA;IACxB,GAAG,EAAE,GAAG,CAAA;IACR,SAAS,EAAE,SAAS,CAAA;CACpB;AAED,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,sBAAsB;IAClC,aAAa,CAAC,EACb,YAAY,EACZ,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,OAAO,GACP,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgItB,MAAM,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe;CAIlD"}
@@ -10,22 +10,19 @@ const dic_1 = require("@contember/dic");
10
10
  const utils_1 = require("./utils");
11
11
  const schema_migrations_1 = require("@contember/schema-migrations");
12
12
  const bootstrap_1 = require("./bootstrap");
13
- const http_1 = require("./http");
14
13
  const engine_http_1 = require("@contember/engine-http");
15
- const prom_client_1 = __importDefault(require("prom-client"));
16
14
  const project_1 = require("./project");
17
- const crypto_1 = require("crypto");
18
15
  const koa_compress_1 = __importDefault(require("koa-compress"));
19
16
  const koa_bodyparser_1 = __importDefault(require("koa-bodyparser"));
20
- const ProjectGroupContainerResolver_1 = require("./projectGroup/ProjectGroupContainerResolver");
21
17
  const ProjectGroupContainer_1 = require("./projectGroup/ProjectGroupContainer");
22
18
  const cors_1 = __importDefault(require("@koa/cors"));
19
+ const ProjectGroupResolver_1 = require("./projectGroup/ProjectGroupResolver");
20
+ const engine_common_1 = require("@contember/engine-common");
23
21
  class MasterContainerFactory {
24
- createBuilder({ serverConfig, debugMode, plugins, projectConfigResolver, tenantConfigResolver, processType, version, }) {
22
+ createBuilder({ serverConfig, debugMode, plugins, projectConfigResolver, tenantConfigResolver, version, }) {
25
23
  return new dic_1.Builder({})
26
24
  .addService('serverConfig', () => serverConfig)
27
25
  .addService('debugMode', () => debugMode)
28
- .addService('processType', () => processType)
29
26
  .addService('version', () => version)
30
27
  .addService('projectConfigResolver', () => projectConfigResolver)
31
28
  .addService('tenantConfigResolver', () => tenantConfigResolver)
@@ -37,94 +34,71 @@ class MasterContainerFactory {
37
34
  .addService('projectContainerFactoryFactory', ({ debugMode, plugins, providers }) => new project_1.ProjectContainerFactoryFactory(debugMode, plugins, providers))
38
35
  .addService('tenantGraphQLHandlerFactory', () => new engine_http_1.TenantGraphQLHandlerFactory(utils_1.logSentryError))
39
36
  .addService('systemGraphQLHandlerFactory', ({ debugMode }) => new engine_http_1.SystemGraphQLHandlerFactory(utils_1.logSentryError, debugMode))
40
- .addService('projectGroupContainerFactory', ({ providers, systemContainerFactory, tenantContainerFactory, projectContainerFactoryFactory, projectConfigResolver, tenantGraphQLHandlerFactory, systemGraphQLHandlerFactory }) => new ProjectGroupContainer_1.ProjectGroupContainerFactory(providers, systemContainerFactory, tenantContainerFactory, projectContainerFactoryFactory, projectConfigResolver, tenantGraphQLHandlerFactory, systemGraphQLHandlerFactory))
41
- .addService('projectGroupContainerResolver', ({ tenantConfigResolver, projectGroupContainerFactory }) => new ProjectGroupContainerResolver_1.ProjectGroupContainerResolver(tenantConfigResolver, projectGroupContainerFactory))
42
- .addService('promRegistry', ({ processType, projectGroupContainerResolver }) => {
43
- if (processType === utils_1.ProcessType.clusterMaster) {
44
- const register = new prom_client_1.default.AggregatorRegistry();
45
- prom_client_1.default.collectDefaultMetrics({ register });
46
- return register;
47
- }
48
- const register = prom_client_1.default.register;
49
- prom_client_1.default.collectDefaultMetrics({ register });
50
- const registrar = (0, utils_1.createDbMetricsRegistrar)(register);
51
- projectGroupContainerResolver.onCreate.push((groupContainer, slug) => {
52
- groupContainer.projectContainerResolver.onCreate.push(projectContainer => registrar({
53
- connection: projectContainer.connection,
54
- labels: {
55
- contember_module: 'content',
56
- contember_project: projectContainer.project.slug,
57
- contember_project_group: slug !== null && slug !== void 0 ? slug : 'unknown',
58
- },
59
- }));
60
- return registrar({
61
- connection: groupContainer.tenantContainer.connection,
62
- labels: {
63
- contember_module: 'tenant',
64
- contember_project_group: slug !== null && slug !== void 0 ? slug : 'unknown',
65
- contember_project: 'unknown',
66
- },
67
- });
68
- });
69
- return register;
70
- })
37
+ .addService('projectGroupContainerFactory', ({ debugMode, providers, systemContainerFactory, tenantContainerFactory, projectContainerFactoryFactory, projectConfigResolver, tenantGraphQLHandlerFactory, systemGraphQLHandlerFactory }) => new ProjectGroupContainer_1.ProjectGroupContainerFactory(debugMode, providers, systemContainerFactory, tenantContainerFactory, projectContainerFactoryFactory, projectConfigResolver, tenantGraphQLHandlerFactory, systemGraphQLHandlerFactory))
38
+ .addService('projectGroupContainer', ({ tenantConfigResolver, projectGroupContainerFactory }) => projectGroupContainerFactory.create({ slug: undefined, config: tenantConfigResolver(undefined, {}) }))
71
39
  .addService('httpErrorMiddlewareFactory', ({ debugMode }) => new engine_http_1.ErrorMiddlewareFactory(debugMode))
72
- .addService('projectGroupResolver', ({ projectGroupContainerResolver, serverConfig }) => {
73
- var _a, _b, _c, _d, _e;
74
- const encryptionKey = ((_a = serverConfig.projectGroup) === null || _a === void 0 ? void 0 : _a.configEncryptionKey)
75
- ? (0, crypto_1.createSecretKey)(Buffer.from((_b = serverConfig.projectGroup) === null || _b === void 0 ? void 0 : _b.configEncryptionKey, 'hex'))
76
- : undefined;
77
- return new engine_http_1.ProjectGroupResolver((_c = serverConfig.projectGroup) === null || _c === void 0 ? void 0 : _c.domainMapping, (_d = serverConfig.projectGroup) === null || _d === void 0 ? void 0 : _d.configHeader, ((_e = serverConfig.projectGroup) === null || _e === void 0 ? void 0 : _e.configEncryptionKey) ? new engine_http_1.CryptoWrapper(encryptionKey) : undefined, projectGroupContainerResolver);
78
- })
40
+ .addService('projectGroupResolver', ({ projectGroupContainer }) => new ProjectGroupResolver_1.ProjectGroupResolver(projectGroupContainer))
79
41
  .addService('notModifiedChecker', () => new engine_http_1.NotModifiedChecker())
80
42
  .addService('contentGraphqlContextFactory', ({ providers }) => new engine_http_1.ContentGraphQLContextFactory(providers))
81
43
  .addService('contentQueryHandlerFactory', ({ debugMode }) => new engine_http_1.ContentQueryHandlerFactory(debugMode, utils_1.logSentryError))
82
- .addService('contentApiMiddlewareFactory', ({ debugMode, projectGroupResolver, notModifiedChecker, contentGraphqlContextFactory, contentQueryHandlerFactory }) => new engine_http_1.ContentApiMiddlewareFactory(debugMode, projectGroupResolver, notModifiedChecker, contentGraphqlContextFactory, contentQueryHandlerFactory))
44
+ .addService('contentApiMiddlewareFactory', ({ projectGroupResolver, notModifiedChecker, contentGraphqlContextFactory, contentQueryHandlerFactory }) => new engine_http_1.ContentApiMiddlewareFactory(projectGroupResolver, notModifiedChecker, contentGraphqlContextFactory, contentQueryHandlerFactory))
83
45
  .addService('tenantGraphQLContextFactory', () => new engine_http_1.TenantGraphQLContextFactory())
84
46
  .addService('tenantApiMiddlewareFactory', ({ debugMode, projectGroupResolver, tenantGraphQLContextFactory }) => new engine_http_1.TenantApiMiddlewareFactory(debugMode, projectGroupResolver, tenantGraphQLContextFactory))
85
47
  .addService('systemGraphQLContextFactory', () => new engine_http_1.SystemGraphQLContextFactory())
86
48
  .addService('systemApiMiddlewareFactory', ({ debugMode, projectGroupResolver, systemGraphQLContextFactory }) => new engine_http_1.SystemApiMiddlewareFactory(debugMode, projectGroupResolver, systemGraphQLContextFactory))
87
- .addService('koa', ({ contentApiMiddlewareFactory, tenantApiMiddlewareFactory, systemApiMiddlewareFactory, httpErrorMiddlewareFactory, promRegistry, debugMode, version, serverConfig }) => {
88
- const app = new engine_http_1.Koa();
89
- app.use((0, engine_http_1.compose)([
90
- (0, koa_compress_1.default)({
91
- br: false,
92
- }),
93
- (0, koa_bodyparser_1.default)({
94
- jsonLimit: serverConfig.http.requestBodySize || '1mb',
95
- }),
96
- (0, engine_http_1.createPoweredByHeaderMiddleware)(debugMode, version !== null && version !== void 0 ? version : 'unknown'),
97
- httpErrorMiddlewareFactory.create(),
98
- (0, http_1.createColllectHttpMetricsMiddleware)(promRegistry),
99
- (0, engine_http_1.createTimerMiddleware)(),
100
- (0, engine_http_1.route)('/playground$', (0, engine_http_1.createPlaygroundMiddleware)()),
101
- (0, engine_http_1.createHomepageMiddleware)(),
102
- (0, cors_1.default)(),
103
- (0, engine_http_1.route)('/content/:projectSlug/:stageSlug$', (0, engine_http_1.compose)([
104
- (0, engine_http_1.createModuleInfoMiddleware)('content'),
105
- contentApiMiddlewareFactory.create(),
106
- ])),
107
- (0, engine_http_1.route)('/tenant$', (0, engine_http_1.compose)([
108
- (0, engine_http_1.createModuleInfoMiddleware)('tenant'),
109
- tenantApiMiddlewareFactory.create(),
110
- ])),
111
- (0, engine_http_1.route)('/system/:projectSlug$', (0, engine_http_1.compose)([
112
- (0, engine_http_1.createModuleInfoMiddleware)('system'),
113
- systemApiMiddlewareFactory.create(),
114
- ])),
115
- ]));
116
- return app;
117
- })
118
- .addService('monitoringKoa', ({ promRegistry }) => {
49
+ .addService('logger', () =>
50
+ // eslint-disable-next-line no-console
51
+ new engine_common_1.Logger(console.log))
52
+ .addService('contentSchemaTransferMappingFactory', () => new engine_http_1.ContentSchemaTransferMappingFactory())
53
+ .addService('systemSchemaTransferMappingFactory', () => new engine_http_1.SystemSchemaTransferMappingFactory())
54
+ .addService('importExecutor', ({ contentSchemaTransferMappingFactory, systemSchemaTransferMappingFactory, logger }) => new engine_http_1.ImportExecutor(contentSchemaTransferMappingFactory, systemSchemaTransferMappingFactory, logger))
55
+ .addService('exportExecutor', ({ contentSchemaTransferMappingFactory, systemSchemaTransferMappingFactory }) => new engine_http_1.ExportExecutor(contentSchemaTransferMappingFactory, systemSchemaTransferMappingFactory))
56
+ .addService('importApiMiddlewareFactory', ({ projectGroupResolver, importExecutor }) => new engine_http_1.ImportApiMiddlewareFactory(projectGroupResolver, importExecutor))
57
+ .addService('exportApiMiddlewareFactory', ({ projectGroupResolver, exportExecutor }) => new engine_http_1.ExportApiMiddlewareFactory(projectGroupResolver, exportExecutor))
58
+ .addService('koaMiddlewares', ({ contentApiMiddlewareFactory, tenantApiMiddlewareFactory, systemApiMiddlewareFactory, importApiMiddlewareFactory, exportApiMiddlewareFactory, httpErrorMiddlewareFactory, debugMode, version, serverConfig }) => (0, engine_http_1.compose)([
59
+ (0, koa_compress_1.default)({
60
+ br: false,
61
+ }),
62
+ (0, koa_bodyparser_1.default)({
63
+ jsonLimit: serverConfig.http.requestBodySize || '1mb',
64
+ }),
65
+ (0, engine_http_1.createPoweredByHeaderMiddleware)(debugMode, version !== null && version !== void 0 ? version : 'unknown'),
66
+ (0, engine_http_1.createTimerMiddleware)(),
67
+ httpErrorMiddlewareFactory.create(),
68
+ (0, engine_http_1.route)('/playground$', (0, engine_http_1.createPlaygroundMiddleware)()),
69
+ (0, engine_http_1.createHomepageMiddleware)(),
70
+ (0, cors_1.default)(),
71
+ (0, engine_http_1.route)('/content/:projectSlug/:stageSlug$', (0, engine_http_1.compose)([
72
+ (0, engine_http_1.createModuleInfoMiddleware)('content'),
73
+ contentApiMiddlewareFactory.create(),
74
+ ])),
75
+ (0, engine_http_1.route)('/tenant$', (0, engine_http_1.compose)([
76
+ (0, engine_http_1.createModuleInfoMiddleware)('tenant'),
77
+ tenantApiMiddlewareFactory.create(),
78
+ ])),
79
+ (0, engine_http_1.route)('/system/:projectSlug$', (0, engine_http_1.compose)([
80
+ (0, engine_http_1.createModuleInfoMiddleware)('system'),
81
+ systemApiMiddlewareFactory.create(),
82
+ ])),
83
+ (0, engine_http_1.route)('/import$', (0, engine_http_1.compose)([
84
+ (0, engine_http_1.createModuleInfoMiddleware)('transfer'),
85
+ importApiMiddlewareFactory.create(),
86
+ ])),
87
+ (0, engine_http_1.route)('/export$', (0, engine_http_1.compose)([
88
+ (0, engine_http_1.createModuleInfoMiddleware)('transfer'),
89
+ exportApiMiddlewareFactory.create(),
90
+ ])),
91
+ ]))
92
+ .addService('koa', ({ koaMiddlewares }) => {
119
93
  const app = new engine_http_1.Koa();
120
- app.use((0, http_1.createShowMetricsMiddleware)(promRegistry));
94
+ app.use(koaMiddlewares);
121
95
  return app;
122
96
  })
123
- .addService('initializer', ({ projectGroupContainerResolver }) => new bootstrap_1.Initializer(projectGroupContainerResolver));
97
+ .addService('initializer', ({ projectGroupContainer }) => new bootstrap_1.Initializer(projectGroupContainer));
124
98
  }
125
99
  create(args) {
126
100
  const container = this.createBuilder(args).build();
127
- return container.pick('initializer', 'koa', 'monitoringKoa', 'providers');
101
+ return container.pick('initializer', 'koa', 'providers');
128
102
  }
129
103
  }
130
104
  exports.MasterContainerFactory = MasterContainerFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"MasterContainer.js","sourceRoot":"","sources":["../../src/MasterContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MasterContainer.js","sourceRoot":"","sources":["../../src/MasterContainer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { ProjectGroupContainerResolver } from '../projectGroup/ProjectGroupContainerResolver';
1
+ import { ProjectGroupContainer } from '@contember/engine-http';
2
2
  export declare class Initializer {
3
- private readonly projectGroupContainerResolver;
4
- constructor(projectGroupContainerResolver: ProjectGroupContainerResolver);
3
+ private readonly projectGroupContainer;
4
+ constructor(projectGroupContainer: ProjectGroupContainer);
5
5
  initialize(): Promise<string[]>;
6
6
  }
7
7
  //# sourceMappingURL=Initializer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Initializer.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/Initializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAA;AAE7F,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,6BAA6B;gBAA7B,6BAA6B,EAAE,6BAA6B;IAGjE,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAuB5C"}
1
+ {"version":3,"file":"Initializer.d.ts","sourceRoot":"","sources":["../../../src/bootstrap/Initializer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAE9D,qBAAa,WAAW;IAEtB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAGjD,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CA+B5C"}
@@ -3,24 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Initializer = void 0;
4
4
  const engine_common_1 = require("@contember/engine-common");
5
5
  class Initializer {
6
- constructor(projectGroupContainerResolver) {
7
- this.projectGroupContainerResolver = projectGroupContainerResolver;
6
+ constructor(projectGroupContainer) {
7
+ this.projectGroupContainer = projectGroupContainer;
8
8
  }
9
9
  async initialize() {
10
10
  // eslint-disable-next-line no-console
11
11
  const logger = new engine_common_1.Logger(console.log);
12
12
  logger.group('\nInitializing tenant database');
13
13
  // todo
14
- const groupContainer = await this.projectGroupContainerResolver.getProjectGroupContainer(undefined);
15
- await groupContainer.tenantContainer.migrationsRunner.run(logger.write.bind(logger));
14
+ const groupContainer = await this.projectGroupContainer;
15
+ const tenantContainer = groupContainer.tenantContainer;
16
+ await tenantContainer.migrationsRunner.run(logger.write.bind(logger));
16
17
  logger.groupEnd();
17
- const systemContainer = groupContainer.systemContainer;
18
18
  const projects = [];
19
- for (const projectContainer of await groupContainer.projectContainerResolver.getAllProjectContainers()) {
19
+ const tenantProjects = await tenantContainer.projectManager.getProjects(tenantContainer.databaseContext);
20
+ for (const { slug: projectSlug } of tenantProjects) {
21
+ logger.group(`\nUpdating project ${projectSlug}`);
22
+ const projectContainer = await groupContainer.projectContainerResolver.getProjectContainer(projectSlug, {
23
+ alias: false,
24
+ logger,
25
+ });
26
+ if (!projectContainer) {
27
+ throw new Error();
28
+ }
20
29
  const project = projectContainer.project;
21
30
  projects.push(project.slug);
22
- logger.group(`\nUpdating project ${project.slug}`);
23
- await systemContainer.projectInitializer.initialize(projectContainer.systemDatabaseContextFactory, project, logger);
24
31
  logger.groupEnd();
25
32
  }
26
33
  // eslint-disable-next-line no-console
@@ -1 +1 @@
1
- {"version":3,"file":"Initializer.js","sourceRoot":"","sources":["../../../src/bootstrap/Initializer.ts"],"names":[],"mappings":";;;AAAA,4DAAiD;AAGjD,MAAa,WAAW;IACvB,YACkB,6BAA4D;QAA5D,kCAA6B,GAA7B,6BAA6B,CAA+B;IAC3E,CAAC;IAEG,KAAK,CAAC,UAAU;QACtB,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC9C,OAAO;QACP,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAA;QAEnG,MAAM,cAAc,CAAC,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACpF,MAAM,CAAC,QAAQ,EAAE,CAAA;QAEjB,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA;QACtD,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,gBAAgB,IAAI,MAAM,cAAc,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,EAAE;YACvG,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAA;YACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,MAAM,eAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YACnH,MAAM,CAAC,QAAQ,EAAE,CAAA;SACjB;QACD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,QAAQ,CAAA;IAChB,CAAC;CACD;AA5BD,kCA4BC"}
1
+ {"version":3,"file":"Initializer.js","sourceRoot":"","sources":["../../../src/bootstrap/Initializer.ts"],"names":[],"mappings":";;;AAAA,4DAAiD;AAGjD,MAAa,WAAW;IACvB,YACkB,qBAA4C;QAA5C,0BAAqB,GAArB,qBAAqB,CAAuB;IAC3D,CAAC;IAEG,KAAK,CAAC,UAAU;QACtB,sCAAsC;QACtC,MAAM,MAAM,GAAG,IAAI,sBAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QACtC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC9C,OAAO;QACP,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAA;QAEvD,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAA;QACtD,MAAM,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QACrE,MAAM,CAAC,QAAQ,EAAE,CAAA;QAEjB,MAAM,QAAQ,GAAa,EAAE,CAAA;QAE7B,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACxG,KAAK,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,cAAc,EAAE;YACnD,MAAM,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAA;YACjD,MAAM,gBAAgB,GAAG,MAAM,cAAc,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBACvG,KAAK,EAAE,KAAK;gBACZ,MAAM;aACN,CAAC,CAAA;YACF,IAAI,CAAC,gBAAgB,EAAE;gBACtB,MAAM,IAAI,KAAK,EAAE,CAAA;aACjB;YACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAA;YACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3B,MAAM,CAAC,QAAQ,EAAE,CAAA;SACjB;QACD,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,QAAQ,CAAA;IAChB,CAAC;CACD;AApCD,kCAoCC"}
@@ -1,15 +1,16 @@
1
1
  import { ConfigProcessor } from '@contember/engine-plugins';
2
- import { serverConfigSchema, tenantConfigSchema } from './configSchema';
2
+ import { serverConfigSchema as defaultServerConfigSchema, tenantConfigSchema } from './configSchema';
3
3
  import { ProjectConfigResolver } from './projectConfigResolver';
4
4
  import { TenantConfigResolver } from './tenantConfigResolver';
5
- export declare type ServerConfig = ReturnType<typeof serverConfigSchema>;
5
+ import { Type } from '@contember/typesafe';
6
+ export declare type ServerConfig = ReturnType<typeof defaultServerConfigSchema>;
6
7
  export declare type TenantConfig = ReturnType<typeof tenantConfigSchema>;
7
8
  export declare type ConfigSource = {
8
9
  data: string;
9
10
  type: 'file' | 'json' | 'yaml';
10
11
  };
11
- export declare function readConfig(configSources: ConfigSource[], configProcessors?: ConfigProcessor[]): Promise<{
12
- serverConfig: ServerConfig;
12
+ export declare function readConfig<T extends ServerConfig>(configSources?: ConfigSource[], configProcessors?: ConfigProcessor[], serverConfigSchema?: Type<T>): Promise<{
13
+ serverConfig: T;
13
14
  projectConfigResolver: ProjectConfigResolver;
14
15
  tenantConfigResolver: TenantConfigResolver;
15
16
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEvE,OAAO,EAA+B,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EAA8B,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAEzF,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAChE,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAI3E,wBAAsB,UAAU,CAC/B,aAAa,EAAE,YAAY,EAAE,EAC7B,gBAAgB,GAAE,eAAe,EAAO,GACtC,OAAO,CAAC;IACV,YAAY,EAAE,YAAY,CAAA;IAC1B,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;CAC1C,CAAC,CA4BD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAEpG,OAAO,EAA+B,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC5F,OAAO,EAA8B,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAE1C,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAA;AACvE,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEhE,oBAAY,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAI3E,wBAAsB,UAAU,CAAC,CAAC,SAAS,YAAY,EACtD,aAAa,GAAE,YAAY,EAAO,EAClC,gBAAgB,GAAE,eAAe,EAAO,EACxC,kBAAkB,GAAE,IAAI,CAAC,CAAC,CAAwC,GAChE,OAAO,CAAC;IACV,YAAY,EAAE,CAAC,CAAA;IACf,qBAAqB,EAAE,qBAAqB,CAAA;IAC5C,oBAAoB,EAAE,oBAAoB,CAAA;CAC1C,CAAC,CA4BD"}
@@ -6,7 +6,7 @@ const configSchema_1 = require("./configSchema");
6
6
  const configTemplate_1 = require("./configTemplate");
7
7
  const projectConfigResolver_1 = require("./projectConfigResolver");
8
8
  const tenantConfigResolver_1 = require("./tenantConfigResolver");
9
- async function readConfig(configSources, configProcessors = []) {
9
+ async function readConfig(configSources = [], configProcessors = [], serverConfigSchema = configSchema_1.serverConfigSchema) {
10
10
  const loader = new config_loader_1.ConfigLoader();
11
11
  const configs = await Promise.all(configSources.map(it => (it.type === 'file' ? loader.load(it.data) : loader.loadString(it.data, it.type))));
12
12
  const env = {
@@ -19,7 +19,7 @@ async function readConfig(configSources, configProcessors = []) {
19
19
  const rawConfig = config_loader_1.Merger.merge(template, ...configs);
20
20
  const parametersResolver = (0, config_loader_1.createObjectParametersResolver)({ env });
21
21
  const config = (0, config_loader_1.resolveParameters)(rawConfig.server, parametersResolver);
22
- const serverConfig = (0, configSchema_1.serverConfigSchema)(config);
22
+ const serverConfig = serverConfigSchema(config);
23
23
  return {
24
24
  serverConfig,
25
25
  projectConfigResolver: (0, projectConfigResolver_1.createProjectConfigResolver)(env, rawConfig, configProcessors),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;;AAAA,4DAAkH;AAElH,iDAAuE;AACvE,qDAAiD;AACjD,mEAA4F;AAC5F,iEAAyF;AASlF,KAAK,UAAU,UAAU,CAC/B,aAA6B,EAC7B,mBAAsC,EAAE;IAMxC,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1G,CAAA;IACD,MAAM,GAAG,GAAQ;QAChB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAC,OAAA,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,aAAa,oDAAI,KAAI,EAAE,CAAC,EAAE,CAAC,CAAA,EAAA,EAAE;YAC1F,eAAe,EAAE,MAAM;SACvB,CAAC;QACF,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAA0B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;KAC9G,CAAA;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,SAAS,CAAC,qBAAqB,0DAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,KAAI,GAAG,CAAA,EAAA,EAC1E,+BAAc,CACd,CAAA;IAED,MAAM,SAAS,GAAG,sBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAA;IAEpD,MAAM,kBAAkB,GAAG,IAAA,8CAA8B,EAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,IAAA,iCAAiB,EAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAEtE,MAAM,YAAY,GAAG,IAAA,iCAAkB,EAAC,MAAM,CAAC,CAAA;IAC/C,OAAO;QACN,YAAY;QACZ,qBAAqB,EAAE,IAAA,mDAA2B,EAAC,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACpF,oBAAoB,EAAE,IAAA,iDAA0B,EAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC;KACvE,CAAA;AACF,CAAC;AAnCD,gCAmCC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":";;;AAAA,4DAAkH;AAElH,iDAAoG;AACpG,qDAAiD;AACjD,mEAA4F;AAC5F,iEAAyF;AAUlF,KAAK,UAAU,UAAU,CAC/B,gBAAgC,EAAE,EAClC,mBAAsC,EAAE,EACxC,qBAA8B,iCAAoC;IAMlE,MAAM,MAAM,GAAG,IAAI,4BAAY,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAC1G,CAAA;IACD,MAAM,GAAG,GAAQ;QAChB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,WAAC,OAAA,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,CAAA,MAAA,IAAI,CAAC,aAAa,oDAAI,KAAI,EAAE,CAAC,EAAE,CAAC,CAAA,EAAA,EAAE;YAC1F,eAAe,EAAE,MAAM;SACvB,CAAC;QACF,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAA0B,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;KAC9G,CAAA;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,SAAS,CAAC,qBAAqB,0DAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,KAAI,GAAG,CAAA,EAAA,EAC1E,+BAAc,CACd,CAAA;IAED,MAAM,SAAS,GAAG,sBAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAA;IAEpD,MAAM,kBAAkB,GAAG,IAAA,8CAA8B,EAAC,EAAE,GAAG,EAAE,CAAC,CAAA;IAClE,MAAM,MAAM,GAAG,IAAA,iCAAiB,EAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAEtE,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC/C,OAAO;QACN,YAAY;QACZ,qBAAqB,EAAE,IAAA,mDAA2B,EAAC,GAAG,EAAE,SAAS,EAAE,gBAAgB,CAAC;QACpF,oBAAoB,EAAE,IAAA,iDAA0B,EAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC;KACvE,CAAA;AACF,CAAC;AApCD,gCAoCC"}
@@ -1,6 +1,6 @@
1
1
  import * as Typesafe from '@contember/typesafe';
2
2
  import { MailerOptions } from '@contember/engine-tenant-api';
3
- export declare const dbCredentialsSchema: Typesafe.Type<{
3
+ export declare const dbConfigSchema: Typesafe.Type<{
4
4
  readonly host: string;
5
5
  readonly port: number;
6
6
  readonly user: string;
@@ -8,6 +8,19 @@ export declare const dbCredentialsSchema: Typesafe.Type<{
8
8
  readonly database: string;
9
9
  } & {
10
10
  readonly ssl?: boolean | undefined;
11
+ readonly queryTimeoutMs?: number | undefined;
12
+ readonly statementTimeoutMs?: number | undefined;
13
+ readonly connectionTimeoutMs?: number | undefined;
14
+ readonly pool?: {
15
+ readonly maxConnections?: number | undefined;
16
+ readonly maxConnecting?: number | undefined;
17
+ readonly maxIdle?: number | undefined;
18
+ readonly reconnectIntervalMs?: number | undefined;
19
+ readonly idleTimeoutMs?: number | undefined;
20
+ readonly acquireTimeoutMs?: number | undefined;
21
+ readonly maxUses?: number | undefined;
22
+ readonly maxAgeMs?: number | undefined;
23
+ } | undefined;
11
24
  }>;
12
25
  export declare const tenantConfigSchema: Typesafe.Type<{
13
26
  readonly db: {
@@ -18,6 +31,19 @@ export declare const tenantConfigSchema: Typesafe.Type<{
18
31
  readonly database: string;
19
32
  } & {
20
33
  readonly ssl?: boolean | undefined;
34
+ readonly queryTimeoutMs?: number | undefined;
35
+ readonly statementTimeoutMs?: number | undefined;
36
+ readonly connectionTimeoutMs?: number | undefined;
37
+ readonly pool?: {
38
+ readonly maxConnections?: number | undefined;
39
+ readonly maxConnecting?: number | undefined;
40
+ readonly maxIdle?: number | undefined;
41
+ readonly reconnectIntervalMs?: number | undefined;
42
+ readonly idleTimeoutMs?: number | undefined;
43
+ readonly acquireTimeoutMs?: number | undefined;
44
+ readonly maxUses?: number | undefined;
45
+ readonly maxAgeMs?: number | undefined;
46
+ } | undefined;
21
47
  };
22
48
  readonly mailer: MailerOptions & Typesafe.JsonObject;
23
49
  readonly credentials: {
@@ -34,23 +60,18 @@ export declare const tenantConfigSchema: Typesafe.Type<{
34
60
  }>;
35
61
  export declare const serverConfigSchema: Typesafe.Type<{
36
62
  readonly port: number;
37
- readonly monitoringPort: number;
38
63
  readonly http: {
39
64
  readonly requestBodySize?: string | undefined;
40
65
  };
41
- readonly logging: {} | {
66
+ readonly logging: {
67
+ sentry?: {
68
+ dsn: string;
69
+ } | undefined;
70
+ } | {
42
71
  readonly sentry?: {
43
72
  readonly dsn: string;
44
73
  } | undefined;
45
74
  };
46
- } & {
47
- readonly workerCount?: string | number | undefined;
48
- readonly projectGroup?: ({
49
- readonly domainMapping: string;
50
- } & {
51
- readonly configHeader?: string | undefined;
52
- readonly configEncryptionKey?: string | undefined;
53
- }) | undefined;
54
75
  }>;
55
76
  export declare const stageConfig: Typesafe.Type<{
56
77
  readonly [x: string]: {
@@ -77,6 +98,19 @@ export declare const projectConfigSchema: Typesafe.Type<{
77
98
  readonly database: string;
78
99
  } & {
79
100
  readonly ssl?: boolean | undefined;
101
+ readonly queryTimeoutMs?: number | undefined;
102
+ readonly statementTimeoutMs?: number | undefined;
103
+ readonly connectionTimeoutMs?: number | undefined;
104
+ readonly pool?: {
105
+ readonly maxConnections?: number | undefined;
106
+ readonly maxConnecting?: number | undefined;
107
+ readonly maxIdle?: number | undefined;
108
+ readonly reconnectIntervalMs?: number | undefined;
109
+ readonly idleTimeoutMs?: number | undefined;
110
+ readonly acquireTimeoutMs?: number | undefined;
111
+ readonly maxUses?: number | undefined;
112
+ readonly maxAgeMs?: number | undefined;
113
+ } | undefined;
80
114
  }) | {
81
115
  readonly useTenantDb: true;
82
116
  }) & {
@@ -1 +1 @@
1
- {"version":3,"file":"configSchema.d.ts","sourceRoot":"","sources":["../../../src/config/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAI5D,eAAO,MAAM,mBAAmB;;;;;;;;EAW/B,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;EA6B9B,CAAA;AACD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;EA8B9B,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;EAcvB,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;EAkB9B,CAAA"}
1
+ {"version":3,"file":"configSchema.d.ts","sourceRoot":"","sources":["../../../src/config/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAI5D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;EAwB1B,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6B9B,CAAA;AAED,eAAO,MAAM,kBAAkB;;;;;;;iBAMJ,MAAM;;;;;;;EAO/B,CAAA;AAEF,eAAO,MAAM,WAAW;;;;;;;EAcvB,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB9B,CAAA"}