@contember/engine-server 0.12.0-beta.0 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alpine.dockerfile +2 -2
- package/debian.dockerfile +1 -1
- package/dist/src/MasterContainer.d.ts +4 -1
- package/dist/src/MasterContainer.d.ts.map +1 -1
- package/dist/src/MasterContainer.js +60 -31
- package/dist/src/MasterContainer.js.map +1 -1
- package/dist/src/bootstrap/Initializer.d.ts +4 -6
- package/dist/src/bootstrap/Initializer.d.ts.map +1 -1
- package/dist/src/bootstrap/Initializer.js +10 -11
- package/dist/src/bootstrap/Initializer.js.map +1 -1
- package/dist/src/config/config.d.ts +43 -22
- package/dist/src/config/config.d.ts.map +1 -1
- package/dist/src/config/config.js +135 -241
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/http/ShowMetricsMiddleware.js +1 -1
- package/dist/src/http/ShowMetricsMiddleware.js.map +1 -1
- package/dist/src/http/index.d.ts +0 -1
- package/dist/src/http/index.d.ts.map +1 -1
- package/dist/src/http/index.js +0 -1
- package/dist/src/http/index.js.map +1 -1
- package/dist/src/project/ProjectContainer.d.ts +1 -1
- package/dist/src/project/ProjectContainer.d.ts.map +1 -1
- package/dist/src/project/ProjectContainerResolver.d.ts +13 -10
- package/dist/src/project/ProjectContainerResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectContainerResolver.js +48 -33
- package/dist/src/project/ProjectContainerResolver.js.map +1 -1
- package/dist/src/project/ProjectGroupState.d.ts +18 -0
- package/dist/src/project/ProjectGroupState.d.ts.map +1 -0
- package/dist/src/project/ProjectGroupState.js +30 -0
- package/dist/src/project/ProjectGroupState.js.map +1 -0
- package/dist/src/project/ProjectInitializer.d.ts +4 -10
- package/dist/src/project/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/project/ProjectInitializer.js +5 -19
- package/dist/src/project/ProjectInitializer.js.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.d.ts +5 -5
- package/dist/src/project/ProjectSchemaResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.js +4 -4
- package/dist/src/project/ProjectSchemaResolver.js.map +1 -1
- package/dist/src/start.js +22 -14
- package/dist/src/start.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/cluster.js +1 -1
- package/dist/src/utils/cluster.js.map +1 -1
- package/dist/tests/cases/http.js +12 -11
- package/dist/tests/cases/http.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -21
- package/src/MasterContainer.ts +106 -55
- package/src/bootstrap/Initializer.ts +10 -17
- package/src/config/config.ts +159 -289
- package/src/http/index.ts +0 -1
- package/src/project/ProjectContainerResolver.ts +58 -35
- package/src/project/ProjectGroupState.ts +33 -0
- package/src/project/ProjectInitializer.ts +9 -23
- package/src/project/ProjectSchemaResolver.ts +12 -7
- package/src/start.ts +13 -6
- package/tests/cases/http.ts +7 -2
- package/dist/src/http/RootMiddleware.d.ts +0 -9
- package/dist/src/http/RootMiddleware.d.ts.map +0 -1
- package/dist/src/http/RootMiddleware.js +0 -33
- package/dist/src/http/RootMiddleware.js.map +0 -1
- package/src/http/RootMiddleware.ts +0 -53
|
@@ -28,7 +28,7 @@ const waitForWorker = (timeoutMs) => {
|
|
|
28
28
|
};
|
|
29
29
|
await cluster_1.default.on('message', listener);
|
|
30
30
|
}),
|
|
31
|
-
timeout_1.timeout(timeoutMs).then(() => {
|
|
31
|
+
(0, timeout_1.timeout)(timeoutMs).then(() => {
|
|
32
32
|
if (!ok) {
|
|
33
33
|
throw new Error('Worker start timed out');
|
|
34
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../src/utils/cluster.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,uCAAmC;AAE5B,MAAM,qBAAqB,GAAG,CAAC,aAAsB,EAAE,EAAE,CAC/D,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAA;AADtG,QAAA,qBAAqB,yBACiF;AAEnH,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,yDAAU,CAAA;IACV,+DAAa,CAAA;IACb,+DAAa,CAAA;AACd,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAClD,IAAI,EAAE,GAAG,KAAK,CAAA;IACd,OAAO,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,OAAY,EAAE,EAAE;gBACrC,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBAC7D,EAAE,GAAG,IAAI,CAAA;oBACT,OAAO,CAAC,IAAI,CAAC,CAAA;oBACb,iBAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;iBAC3C;YACF,CAAC,CAAA;YACD,MAAM,iBAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAC;QACF,iBAAO,
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../src/utils/cluster.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA6B;AAC7B,uCAAmC;AAE5B,MAAM,qBAAqB,GAAG,CAAC,aAAsB,EAAE,EAAE,CAC/D,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAA;AADtG,QAAA,qBAAqB,yBACiF;AAEnH,IAAY,WAIX;AAJD,WAAY,WAAW;IACtB,yDAAU,CAAA;IACV,+DAAa,CAAA;IACb,+DAAa,CAAA;AACd,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAED,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAExC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,EAAE;IAClD,IAAI,EAAE,GAAG,KAAK,CAAA;IACd,OAAO,OAAO,CAAC,IAAI,CAAC;QACnB,IAAI,OAAO,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;YAC3B,MAAM,QAAQ,GAAG,CAAC,EAAE,EAAE,OAAY,EAAE,EAAE;gBACrC,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,EAAE;oBAC7D,EAAE,GAAG,IAAI,CAAA;oBACT,OAAO,CAAC,IAAI,CAAC,CAAA;oBACb,iBAAO,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;iBAC3C;YACF,CAAC,CAAA;YACD,MAAM,iBAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QACtC,CAAC,CAAC;QACF,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,EAAE,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;aACzC;YACD,OAAO,IAAI,CAAA;QACZ,CAAC,CAAC;KACF,CAAC,CAAA;AACH,CAAC,CAAA;AApBY,QAAA,aAAa,iBAoBzB;AAEM,MAAM,mBAAmB,GAAG,GAAG,EAAE;;IACvC,OAAA,MAAA,OAAO,CAAC,IAAI,+CAAZ,OAAO,EAAQ;QACd,IAAI,EAAE,kBAAkB;KACxB,CAAC,CAAA;CAAA,CAAA;AAHU,QAAA,mBAAmB,uBAG7B"}
|
package/dist/tests/cases/http.js
CHANGED
|
@@ -64,6 +64,7 @@ const createContainer = (debug) => {
|
|
|
64
64
|
rootToken,
|
|
65
65
|
loginToken,
|
|
66
66
|
},
|
|
67
|
+
secrets: {},
|
|
67
68
|
},
|
|
68
69
|
server: {
|
|
69
70
|
logging: {},
|
|
@@ -79,7 +80,7 @@ const createContainer = (debug) => {
|
|
|
79
80
|
};
|
|
80
81
|
const executeGraphql = (query, options = {}) => {
|
|
81
82
|
const container = createContainer(options.debug || false);
|
|
82
|
-
return supertest_1.default(container.koa.callback())
|
|
83
|
+
return (0, supertest_1.default)(container.koa.callback())
|
|
83
84
|
.post(options.path || '/content/test/prod')
|
|
84
85
|
.set('Authorization', 'Bearer ' + (options.authorizationToken || rootToken))
|
|
85
86
|
.send({
|
|
@@ -106,14 +107,14 @@ const signIn = async (email, password) => {
|
|
|
106
107
|
};
|
|
107
108
|
uvu_1.test.before(async () => {
|
|
108
109
|
try {
|
|
109
|
-
const connection = await engine_api_tester_1.recreateDatabase(String(process.env.TEST_DB_NAME));
|
|
110
|
+
const connection = await (0, engine_api_tester_1.recreateDatabase)(String(process.env.TEST_DB_NAME));
|
|
110
111
|
await connection.end();
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
const migrationsResolver = new schema_migrations_1.MigrationsResolver(schema_migrations_1.MigrationFilesManager.createForProject(engine_api_tester_1.getExampleProjectDirectory(), 'sample'));
|
|
112
|
+
const tenantConnection = await (0, engine_api_tester_1.recreateDatabase)(String(process.env.TEST_DB_NAME_TENANT));
|
|
113
|
+
const migrationsResolver = new schema_migrations_1.MigrationsResolver(schema_migrations_1.MigrationFilesManager.createForProject((0, engine_api_tester_1.getExampleProjectDirectory)(), 'sample'));
|
|
114
114
|
const container = createContainer(false);
|
|
115
115
|
await container.initializer.initialize();
|
|
116
116
|
await container.initializer.createProject(projectConfig, await migrationsResolver.getMigrations());
|
|
117
|
+
await tenantConnection.end();
|
|
117
118
|
}
|
|
118
119
|
catch (e) {
|
|
119
120
|
// eslint-disable-next-line no-console
|
|
@@ -121,13 +122,13 @@ uvu_1.test.before(async () => {
|
|
|
121
122
|
process.exit(1);
|
|
122
123
|
}
|
|
123
124
|
});
|
|
124
|
-
uvu_1.test('show homepage', async () => {
|
|
125
|
-
await supertest_1.default(createContainer(false).koa.callback()) //
|
|
125
|
+
(0, uvu_1.test)('show homepage', async () => {
|
|
126
|
+
await (0, supertest_1.default)(createContainer(false).koa.callback()) //
|
|
126
127
|
.get('/')
|
|
127
128
|
.expect(200)
|
|
128
129
|
.expect('App is running');
|
|
129
130
|
});
|
|
130
|
-
uvu_1.test('Content API: create & read tag', async () => {
|
|
131
|
+
(0, uvu_1.test)('Content API: create & read tag', async () => {
|
|
131
132
|
await executeGraphql(gql `
|
|
132
133
|
mutation {
|
|
133
134
|
createTag(data: { label: "graphql" }) {
|
|
@@ -161,7 +162,7 @@ uvu_1.test('Content API: create & read tag', async () => {
|
|
|
161
162
|
})
|
|
162
163
|
.expect(200);
|
|
163
164
|
});
|
|
164
|
-
uvu_1.test('Content API: X-Contember-Ref header', async () => {
|
|
165
|
+
(0, uvu_1.test)('Content API: X-Contember-Ref header', async () => {
|
|
165
166
|
await executeGraphql(gql `
|
|
166
167
|
mutation {
|
|
167
168
|
createTag(data: { label: "typescript" }) {
|
|
@@ -208,7 +209,7 @@ uvu_1.test('Content API: X-Contember-Ref header', async () => {
|
|
|
208
209
|
.set('X-Contember-Ref', eventKey)
|
|
209
210
|
.expect(200);
|
|
210
211
|
});
|
|
211
|
-
uvu_1.test('Content API: invalid schema error', async () => {
|
|
212
|
+
(0, uvu_1.test)('Content API: invalid schema error', async () => {
|
|
212
213
|
await executeGraphql(gql `
|
|
213
214
|
mutation {
|
|
214
215
|
createFoo(data: { label: "graphql" }) {
|
|
@@ -221,7 +222,7 @@ uvu_1.test('Content API: invalid schema error', async () => {
|
|
|
221
222
|
assert.equal(response.body.errors[0].message, 'Cannot query field "createFoo" on type "Mutation". Did you mean "createPost" or "createTag"?');
|
|
222
223
|
});
|
|
223
224
|
});
|
|
224
|
-
uvu_1.test('Tenant API: sign up, add to a project and check project access', async () => {
|
|
225
|
+
(0, uvu_1.test)('Tenant API: sign up, add to a project and check project access', async () => {
|
|
225
226
|
const signUpResponse = await executeGraphql(gql `
|
|
226
227
|
mutation {
|
|
227
228
|
signUp(email: "john@doe.com", password: "123456") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../tests/cases/http.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAiC;AACjC,mCAA+D;AAC/D,oEAA2F;AAC3F,mDAAoC;AACpC,mDAAoC;AACpC,6BAA0B;AAC1B,8DAA8B;AAC9B,oEAAwF;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../tests/cases/http.ts"],"names":[],"mappings":"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"}
|