@contember/engine-server 1.2.0-alpha.3 → 1.2.0-alpha.6

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.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=assume-identity.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assume-identity.test.d.ts","sourceRoot":"","sources":["../../../tests/e2e/assume-identity.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const tester_1 = require("../src/tester");
5
+ const requests_1 = require("../src/requests");
6
+ const schema_definition_1 = require("@contember/schema-definition");
7
+ const schema_utils_1 = require("@contember/schema-utils");
8
+ var TagModel;
9
+ (function (TagModel) {
10
+ class Tag {
11
+ constructor() {
12
+ this.label = schema_definition_1.SchemaDefinition.stringColumn();
13
+ }
14
+ }
15
+ TagModel.Tag = Tag;
16
+ })(TagModel || (TagModel = {}));
17
+ (0, vitest_1.test)('Content API: assume identity', async () => {
18
+ const tester = await (0, tester_1.createTester)((0, schema_definition_1.createSchema)(TagModel, schema => {
19
+ return {
20
+ ...schema,
21
+ acl: {
22
+ roles: {
23
+ test: {
24
+ entities: new schema_utils_1.AllowAllPermissionFactory().create(schema.model),
25
+ variables: {},
26
+ system: {
27
+ history: true,
28
+ assumeIdentity: true,
29
+ },
30
+ },
31
+ },
32
+ },
33
+ };
34
+ }));
35
+ const email = `john+${Date.now()}@doe.com`;
36
+ const identityId = await (0, requests_1.signUp)(email);
37
+ const authKey = await (0, requests_1.signIn)(email);
38
+ await (0, requests_1.addProjectMember)(identityId, tester.projectSlug, { role: 'test', variables: [] });
39
+ const assumedIdentityId = '65e049e7-4b22-487a-a93b-528b3127d967';
40
+ await tester((0, tester_1.gql) `
41
+ mutation {
42
+ createTag(data: {label: "foo bar"}) {
43
+ ok
44
+ }
45
+ }
46
+ `, { authorizationToken: authKey })
47
+ .set('X-Contember-assume-identity', assumedIdentityId)
48
+ .expect(200);
49
+ await tester((0, tester_1.gql) `
50
+ query {
51
+ events {
52
+ tableName
53
+ identityId
54
+ }
55
+ }
56
+ `, { authorizationToken: authKey, path: `/system/${tester.projectSlug}` })
57
+ .expect({ data: { events: [{ tableName: 'tag', identityId: assumedIdentityId }] } })
58
+ .expect(200);
59
+ });
60
+ (0, vitest_1.test)('Content API: assume identity is declined', async () => {
61
+ const tester = await (0, tester_1.createTester)((0, schema_definition_1.createSchema)(TagModel, schema => {
62
+ return {
63
+ ...schema,
64
+ acl: {
65
+ roles: {
66
+ foo: {
67
+ entities: {},
68
+ variables: {},
69
+ system: {
70
+ assumeIdentity: true,
71
+ },
72
+ },
73
+ test: {
74
+ entities: new schema_utils_1.AllowAllPermissionFactory().create(schema.model),
75
+ variables: {},
76
+ system: {
77
+ history: true,
78
+ },
79
+ },
80
+ },
81
+ },
82
+ };
83
+ }));
84
+ const email = `john+${Date.now()}@doe.com`;
85
+ const identityId = await (0, requests_1.signUp)(email);
86
+ const authKey = await (0, requests_1.signIn)(email);
87
+ await (0, requests_1.addProjectMember)(identityId, tester.projectSlug, { role: 'test', variables: [] });
88
+ const assumedIdentityId = '65e049e7-4b22-487a-a93b-528b3127d967';
89
+ await tester((0, tester_1.gql) `
90
+ mutation {
91
+ createTag(data: {label: "foo bar"}) {
92
+ ok
93
+ }
94
+ }
95
+ `, { authorizationToken: authKey })
96
+ .set('X-Contember-assume-identity', assumedIdentityId)
97
+ .expect(200);
98
+ await tester((0, tester_1.gql) `
99
+ query {
100
+ events {
101
+ tableName
102
+ identityId
103
+ }
104
+ }
105
+ `, { authorizationToken: authKey, path: `/system/${tester.projectSlug}` })
106
+ .expect({ data: { events: [{ tableName: 'tag', identityId }] } })
107
+ .expect(200);
108
+ });
109
+ //# sourceMappingURL=assume-identity.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assume-identity.test.js","sourceRoot":"","sources":["../../../tests/e2e/assume-identity.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Membership } from '@contember/engine-tenant-api';
1
+ import { Acl } from '@contember/schema';
2
2
  export declare const signIn: (email: string, password?: string) => Promise<string>;
3
3
  export declare const signUp: (email: string, password?: string) => Promise<any>;
4
- export declare const addProjectMember: (identityId: string, projectSlug: string, membership?: Membership) => Promise<void>;
4
+ export declare const addProjectMember: (identityId: string, projectSlug: string, membership?: Acl.Membership) => Promise<void>;
5
5
  //# sourceMappingURL=requests.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../tests/src/requests.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,eAAO,MAAM,MAAM,UAAiB,MAAM,wBAAwB,QAAQ,MAAM,CAoB/E,CAAA;AAGD,eAAO,MAAM,MAAM,UAAiB,MAAM,oCAuBzC,CAAA;AAGD,eAAO,MAAM,gBAAgB,eAAsB,MAAM,eAAe,MAAM,eAAc,UAAU,kBAkBrG,CAAA"}
1
+ {"version":3,"file":"requests.d.ts","sourceRoot":"","sources":["../../../tests/src/requests.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAEvC,eAAO,MAAM,MAAM,UAAiB,MAAM,wBAAwB,QAAQ,MAAM,CAoB/E,CAAA;AAGD,eAAO,MAAM,MAAM,UAAiB,MAAM,oCAuBzC,CAAA;AAGD,eAAO,MAAM,gBAAgB,eAAsB,MAAM,eAAe,MAAM,eAAc,IAAI,UAAU,kBA2BzG,CAAA"}
@@ -45,6 +45,15 @@ const addProjectMember = async (identityId, projectSlug, membership = { role: 'a
45
45
  mutation ($identity: String!, $projectSlug: String!, $membership: MembershipInput!) {
46
46
  addProjectMember(identityId: $identity, projectSlug: $projectSlug, memberships: [$membership]) {
47
47
  ok
48
+ error {
49
+ code
50
+ developerMessage
51
+ membershipValidation {
52
+ code
53
+ role
54
+ variable
55
+ }
56
+ }
48
57
  }
49
58
  }
50
59
  `, {
@@ -52,7 +61,7 @@ const addProjectMember = async (identityId, projectSlug, membership = { role: 'a
52
61
  })
53
62
  .expect(200)
54
63
  .expect(response => {
55
- vitest_1.assert.deepStrictEqual(response.body.data, { addProjectMember: { ok: true } });
64
+ vitest_1.assert.deepStrictEqual(response.body.data, { addProjectMember: { ok: true, error: null } });
56
65
  });
57
66
  };
58
67
  exports.addProjectMember = addProjectMember;
@@ -1 +1 @@
1
- {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../tests/src/requests.ts"],"names":[],"mappings":";;;AAAA,qCAA0D;AAC1D,mCAA+B;AAGxB,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,QAAQ,GAAG,QAAQ,EAAmB,EAAE;IACnF,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAc,EACpC,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;;;;GASF,EACD;QACC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC9B,kBAAkB,EAAE,mBAAU;KAC9B,CACD,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEb,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;AAC9C,CAAC,CAAA;AApBY,QAAA,MAAM,UAoBlB;AAGM,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE;IAClE,MAAM,cAAc,GAAG,MAAM,IAAA,uBAAc,EAC1C,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;;;;;;;;GAaF,EACD;QACC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC9B,CACD,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEb,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACjE,CAAC,CAAA;AAvBY,QAAA,MAAM,UAuBlB;AAGM,MAAM,gBAAgB,GAAG,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,aAAyB,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5I,MAAM,IAAA,uBAAc,EACnB,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;GAMF,EACD;QACC,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;KAC5D,CACD;SACC,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClB,eAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAlBY,QAAA,gBAAgB,oBAkB5B"}
1
+ {"version":3,"file":"requests.js","sourceRoot":"","sources":["../../../tests/src/requests.ts"],"names":[],"mappings":";;;AAAA,qCAA0D;AAC1D,mCAA+B;AAGxB,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,QAAQ,GAAG,QAAQ,EAAmB,EAAE;IACnF,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAc,EACpC,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;;;;GASF,EACD;QACC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAC9B,kBAAkB,EAAE,mBAAU;KAC9B,CACD,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEb,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAA;AAC9C,CAAC,CAAA;AApBY,QAAA,MAAM,UAoBlB;AAGM,MAAM,MAAM,GAAG,KAAK,EAAE,KAAa,EAAE,QAAQ,GAAG,QAAQ,EAAE,EAAE;IAClE,MAAM,cAAc,GAAG,MAAM,IAAA,uBAAc,EAC1C,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;;;;;;;;GAaF,EACD;QACC,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;KAC9B,CACD,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAEb,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAA;AACjE,CAAC,CAAA;AAvBY,QAAA,MAAM,UAuBlB;AAGM,MAAM,gBAAgB,GAAG,KAAK,EAAE,UAAkB,EAAE,WAAmB,EAAE,aAA6B,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE;IAChJ,MAAM,IAAA,uBAAc,EACnB,SAAS,EACT,IAAA,YAAG,EAAA;;;;;;;;;;;;;;;GAeF,EACD;QACC,SAAS,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE;KAC5D,CACD;SACC,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,QAAQ,CAAC,EAAE;QAClB,eAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC5F,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA3BY,QAAA,gBAAgB,oBA2B5B"}