@contember/engine-tenant-api 1.3.0-rc.3 → 1.3.0
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/dist/src/model/authorization/AclSchemaAccessNodeFactory.d.ts.map +1 -1
- package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js +4 -0
- package/dist/src/model/authorization/AclSchemaAccessNodeFactory.js.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.d.ts.map +1 -1
- package/dist/src/model/queries/membership/ProjectMembersQuery.js +14 -10
- package/dist/src/model/queries/membership/ProjectMembersQuery.js.map +1 -1
- package/dist/src/model/service/InviteManager.d.ts.map +1 -1
- package/dist/src/model/service/InviteManager.js +4 -0
- package/dist/src/model/service/InviteManager.js.map +1 -1
- package/dist/src/model/service/SignUpManager.d.ts.map +1 -1
- package/dist/src/model/service/SignUpManager.js +4 -0
- package/dist/src/model/service/SignUpManager.js.map +1 -1
- package/dist/src/model/utils/email.d.ts +1 -0
- package/dist/src/model/utils/email.d.ts.map +1 -1
- package/dist/src/model/utils/email.js +7 -1
- package/dist/src/model/utils/email.js.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.d.ts.map +1 -1
- package/dist/src/resolvers/types/ProjectTypeResolver.js +5 -2
- package/dist/src/resolvers/types/ProjectTypeResolver.js.map +1 -1
- package/dist/src/schema/index.d.ts +8 -6
- package/dist/src/schema/index.d.ts.map +1 -1
- package/dist/src/schema/tenant.graphql.d.ts.map +1 -1
- package/dist/src/schema/tenant.graphql.js +5 -1
- package/dist/src/schema/tenant.graphql.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/mocked/listProjectMembersQuery.test.d.ts +2 -0
- package/dist/tests/cases/integration/mocked/listProjectMembersQuery.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/mocked/listProjectMembersQuery.test.js +82 -0
- package/dist/tests/cases/integration/mocked/listProjectMembersQuery.test.js.map +1 -0
- package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js +19 -1
- package/dist/tests/cases/unit/authorization/membershipAwareAccessNode.test.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/model/authorization/AclSchemaAccessNodeFactory.ts +6 -0
- package/src/model/queries/membership/ProjectMembersQuery.ts +17 -9
- package/src/model/service/InviteManager.ts +6 -1
- package/src/model/service/SignUpManager.ts +4 -0
- package/src/model/utils/email.ts +6 -2
- package/src/resolvers/types/ProjectTypeResolver.ts +3 -0
- package/src/schema/index.ts +9 -5
- package/src/schema/tenant.graphql.ts +5 -1
- package/tests/cases/integration/mocked/listProjectMembersQuery.test.ts +83 -0
- package/tests/cases/unit/authorization/membershipAwareAccessNode.test.ts +25 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AclSchemaAccessNodeFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/AclSchemaAccessNodeFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAIvC,qBAAa,0BAA0B;IACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU;
|
|
1
|
+
{"version":3,"file":"AclSchemaAccessNodeFactory.d.ts","sourceRoot":"","sources":["../../../../src/model/authorization/AclSchemaAccessNodeFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAIvC,qBAAa,0BAA0B;IACtC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,GAAG,UAAU;CAyC9E"}
|
|
@@ -35,6 +35,10 @@ class AclSchemaAccessNodeFactory {
|
|
|
35
35
|
node.allow(PermissionActions_1.PermissionActions.PROJECT_UPDATE_MEMBER([]), verifier);
|
|
36
36
|
node.allow(PermissionActions_1.PermissionActions.PROJECT_REMOVE_MEMBER([]), verifier);
|
|
37
37
|
}
|
|
38
|
+
if (membershipRoles.some(it => { var _a; return (_a = it.tenant) === null || _a === void 0 ? void 0 : _a.view; })) {
|
|
39
|
+
const verifier = createVerifier(it => { var _a; return (_a = it.view) !== null && _a !== void 0 ? _a : {}; });
|
|
40
|
+
node.allow(PermissionActions_1.PermissionActions.PROJECT_VIEW_MEMBER([]), verifier);
|
|
41
|
+
}
|
|
38
42
|
return node;
|
|
39
43
|
}
|
|
40
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AclSchemaAccessNodeFactory.js","sourceRoot":"","sources":["../../../../src/model/authorization/AclSchemaAccessNodeFactory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AclSchemaAccessNodeFactory.js","sourceRoot":"","sources":["../../../../src/model/authorization/AclSchemaAccessNodeFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectMembersQuery.d.ts","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAA;AACrF,OAAO,EAAc,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,yBAAyB,CAAC;IAG/E,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,mBAAmB;IAKnD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAyC1E;AAED,MAAM,WAAW,sBAAsB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,EAAE,CAAA"}
|
|
@@ -21,21 +21,25 @@ class ProjectMembersQuery extends database_1.DatabaseQuery {
|
|
|
21
21
|
.where({ project_id: this.projectId })))
|
|
22
22
|
.match(qb => {
|
|
23
23
|
var _a;
|
|
24
|
-
const
|
|
25
|
-
|
|
24
|
+
const identityId = (_a = this.projectMemberInput.filter) === null || _a === void 0 ? void 0 : _a.identityId;
|
|
25
|
+
return identityId ? qb.where(it => it.in(['identity', 'id'], identityId)) : qb;
|
|
26
|
+
})
|
|
27
|
+
.match(qb => {
|
|
28
|
+
var _a;
|
|
29
|
+
const { email, memberType, personId } = (_a = this.projectMemberInput.filter) !== null && _a !== void 0 ? _a : {};
|
|
30
|
+
if ((email || personId) && memberType === 'API_KEY') {
|
|
26
31
|
throw new exceptions_1.ImplementationException();
|
|
27
32
|
}
|
|
28
33
|
const personQuery = database_1.SelectBuilder.create()
|
|
29
34
|
.from('person')
|
|
30
|
-
.where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id']))
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
.where(expr => expr.columnsEq(['person', 'identity_id'], ['identity', 'id']))
|
|
36
|
+
.match(qb => email ? qb.where(it => it.in('email', email)) : qb)
|
|
37
|
+
.match(qb => personId ? qb.where(it => it.in(['person', 'id'], personId)) : qb);
|
|
38
|
+
if (email || personId || memberType === 'PERSON') {
|
|
39
|
+
return qb.where(it => it.exists(personQuery));
|
|
33
40
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return qb.where(it => it.not(it => it.exists(personQuery)));
|
|
37
|
-
case 'PERSON':
|
|
38
|
-
return qb.where(it => it.exists(personQuery));
|
|
41
|
+
if (memberType === 'API_KEY') {
|
|
42
|
+
return qb.where(it => it.not(it => it.exists(personQuery)));
|
|
39
43
|
}
|
|
40
44
|
return qb;
|
|
41
45
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":";;;AAAA,kDAAqF;AAErF,oDAA6D;AAE7D,MAAa,mBAAoB,SAAQ,wBAAwC;IAEhF,YACkB,SAAiB,EACjB,kBAAuC;QAExD,KAAK,EAAE,CAAA;QAHU,cAAS,GAAT,SAAS,CAAQ;QACjB,uBAAkB,GAAlB,kBAAkB,CAAqB;IAGzD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAqB;;QACpC,OAAO,MAAM,wBAAa,CAAC,MAAM,EAAuC;aACtE,MAAM,CAAC,IAAI,CAAC;aACZ,MAAM,CAAC,aAAa,CAAC;aACrB,IAAI,CAAC,UAAU,CAAC;aAChB,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CACrB,OAAO,CAAC,EAAE,CAAC,OAAO;aAChB,IAAI,CAAC,oBAAoB,CAAC;aAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;aACxF,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CACvC,CAAC;aACD,KAAK,CAAC,EAAE,CAAC,EAAE;;YACX,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,mCAAI,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"ProjectMembersQuery.js","sourceRoot":"","sources":["../../../../../src/model/queries/membership/ProjectMembersQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"InviteManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,WAAW,EAAE,SAAS,GAAG,CAAC,UAAU,EAAE,CAAA;IACtC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,sBAAsB,CAAC,EAAE,SAAS,CAAA;CAClC;AAID,qBAAa,aAAa;IAExB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAFrB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,qBAAqB;IAGxD,MAAM,CACX,SAAS,EAAE,eAAe,EAC1B,EACC,KAAK,EACL,OAAO,EACP,IAAI,EACJ,WAAW,EACX,MAAM,EACN,YAAY,EACZ,OAAe,EACf,QAAQ,EACR,sBAAsB,GACtB,EAAE,UAAU,GACX,OAAO,CAAC,cAAc,CAAC;YAqDZ,mBAAmB;CAKjC;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;AAEpE,qBAAa,YAAY;aACI,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;aAAkB,KAAK,EAAE,OAAO;gBAAhE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAkB,KAAK,EAAE,OAAO;CAC5F"}
|
|
@@ -7,6 +7,7 @@ const authorization_1 = require("../authorization");
|
|
|
7
7
|
const membershipUtils_1 = require("./membershipUtils");
|
|
8
8
|
const Response_1 = require("../utils/Response");
|
|
9
9
|
const dtos_1 = require("../dtos");
|
|
10
|
+
const email_1 = require("../utils/email");
|
|
10
11
|
const INVITATION_RESET_TOKEN_EXPIRATION_MINUTES = 60 * 24;
|
|
11
12
|
class InviteManager {
|
|
12
13
|
constructor(providers, mailer, projectSchemaResolver) {
|
|
@@ -15,6 +16,9 @@ class InviteManager {
|
|
|
15
16
|
this.projectSchemaResolver = projectSchemaResolver;
|
|
16
17
|
}
|
|
17
18
|
async invite(dbContext, { email, project, name, memberships, method, emailVariant, noEmail = false, password, passwordResetTokenHash, }) {
|
|
19
|
+
if (!(0, email_1.validateEmail)(email.trim())) {
|
|
20
|
+
return new Response_1.ResponseError('INVALID_EMAIL_FORMAT', 'E-mail address is not in a valid format');
|
|
21
|
+
}
|
|
18
22
|
return await dbContext.transaction(async (trx) => {
|
|
19
23
|
let person = await trx.queryHandler.fetch(queries_1.PersonQuery.byEmail(email));
|
|
20
24
|
const isNew = !person;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InviteManager.js","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":";;;AAAA,0CAMoB;AAEpB,wCAAmD;AAGnD,oDAA6C;AAE7C,uDAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"InviteManager.js","sourceRoot":"","sources":["../../../../src/model/service/InviteManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUpManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/SignUpManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"SignUpManager.d.ts","sourceRoot":"","sources":["../../../../src/model/service/SignUpManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAG9C,OAAO,EAAE,QAAQ,EAA6B,MAAM,mBAAmB,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAGvC,KAAK,UAAU,GAAG;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,aAAa,CAAA;IACvB,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,qBAAa,aAAa;IACnB,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAU,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;YAmBhG,kBAAkB;CAIhC;AAED,qBAAa,YAAY;aACI,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;gBAAhC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5D;AACD,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA"}
|
|
@@ -6,8 +6,12 @@ const queries_1 = require("../queries");
|
|
|
6
6
|
const authorization_1 = require("../authorization");
|
|
7
7
|
const password_1 = require("../utils/password");
|
|
8
8
|
const Response_1 = require("../utils/Response");
|
|
9
|
+
const email_1 = require("../utils/email");
|
|
9
10
|
class SignUpManager {
|
|
10
11
|
async signUp(dbContext, { email, password, roles = [] }) {
|
|
12
|
+
if (!(0, email_1.validateEmail)(email.trim())) {
|
|
13
|
+
return new Response_1.ResponseError('INVALID_EMAIL_FORMAT', 'E-mail address is not in a valid format');
|
|
14
|
+
}
|
|
11
15
|
if (await this.isEmailAlreadyUsed(dbContext, email)) {
|
|
12
16
|
return new Response_1.ResponseError('EMAIL_ALREADY_EXISTS', `User with email ${email} already exists`);
|
|
13
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignUpManager.js","sourceRoot":"","sources":["../../../../src/model/service/SignUpManager.ts"],"names":[],"mappings":";;;AAAA,0CAAwE;AACxE,wCAAmD;AAEnD,oDAA6C;AAC7C,gDAA8D;AAC9D,gDAAuE;
|
|
1
|
+
{"version":3,"file":"SignUpManager.js","sourceRoot":"","sources":["../../../../src/model/service/SignUpManager.ts"],"names":[],"mappings":";;;AAAA,0CAAwE;AACxE,wCAAmD;AAEnD,oDAA6C;AAC7C,gDAA8D;AAC9D,gDAAuE;AAGvE,0CAA8C;AAS9C,MAAa,aAAa;IACzB,KAAK,CAAC,MAAM,CAAC,SAA0B,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,EAAc;QACnF,IAAI,CAAC,IAAA,qBAAa,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE;YACjC,OAAO,IAAI,wBAAa,CAAC,sBAAsB,EAAE,yCAAyC,CAAC,CAAA;SAC3F;QACD,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YACpD,OAAO,IAAI,wBAAa,CAAC,sBAAsB,EAAE,mBAAmB,KAAK,iBAAiB,CAAC,CAAA;SAC3F;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAA;QACzC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,IAAA,qCAA0B,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrF,IAAI,YAAY,EAAE;YACjB,OAAO,IAAI,wBAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;SAClD;QACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;YACrD,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,gCAAqB,CAAC,CAAC,GAAG,KAAK,EAAE,0BAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACxG,OAAO,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,8BAAmB,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QAC7F,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,qBAAU,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;IAChD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,SAA0B,EAAE,KAAa;QACzE,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,qBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;QACnF,OAAO,YAAY,KAAK,IAAI,CAAA;IAC7B,CAAC;CACD;AAxBD,sCAwBC;AAED,MAAa,YAAY;IACxB,YAA4B,MAAgC;QAAhC,WAAM,GAAN,MAAM,CAA0B;IAAG,CAAC;CAChE;AAFD,oCAEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/model/utils/email.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/model/utils/email.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,UAAW,MAAM,WAE3C,CAAA;AAED,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,OAI7C,CAAA"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeEmail = void 0;
|
|
3
|
+
exports.validateEmail = exports.normalizeEmail = void 0;
|
|
4
4
|
const normalizeEmail = (email) => {
|
|
5
5
|
return email.replaceAll(/\s/g, '').toLocaleLowerCase();
|
|
6
6
|
};
|
|
7
7
|
exports.normalizeEmail = normalizeEmail;
|
|
8
|
+
const validateEmail = (email) => {
|
|
9
|
+
return email.length >= 3
|
|
10
|
+
&& email.includes('@')
|
|
11
|
+
&& !!email.match(/^[^\s@]+@[\w_-]+(\.[\w_-]+)*$/);
|
|
12
|
+
};
|
|
13
|
+
exports.validateEmail = validateEmail;
|
|
8
14
|
//# sourceMappingURL=email.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/model/utils/email.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/model/utils/email.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE;IAC/C,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAA;AACvD,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,MAAM,aAAa,GAAG,CAAC,KAAa,EAAW,EAAE;IACvD,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC;WACpB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;WACnB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAA;AACnD,CAAC,CAAA;AAJY,QAAA,aAAa,iBAIzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTypeResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/types/ProjectTypeResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAqB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,qBAAa,mBAAoB,YAAW,gBAAgB;IAE1D,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBADrB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB;IAGxD,OAAO,CACZ,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectTypeResolver.d.ts","sourceRoot":"","sources":["../../../../src/resolvers/types/ProjectTypeResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAqB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAErG,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAGvC,qBAAa,mBAAoB,YAAW,gBAAgB;IAE1D,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBADrB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB;IAGxD,OAAO,CACZ,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,qBAAqB,GAC5B,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC;IAuBxC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;;;;;;;;;;;;;;;;;;;CAmB1E"}
|
|
@@ -11,7 +11,7 @@ class ProjectTypeResolver {
|
|
|
11
11
|
this.projectSchemaResolver = projectSchemaResolver;
|
|
12
12
|
}
|
|
13
13
|
async members(parent, args, context) {
|
|
14
|
-
var _a, _b, _c;
|
|
14
|
+
var _a, _b, _c, _d, _e;
|
|
15
15
|
const projectScope = await context.permissionContext.createProjectScope(parent);
|
|
16
16
|
const verifier = context.permissionContext.createAccessVerifier(projectScope);
|
|
17
17
|
if (!(await verifier(model_1.PermissionActions.PROJECT_VIEW_MEMBER([])))) {
|
|
@@ -20,10 +20,13 @@ class ProjectTypeResolver {
|
|
|
20
20
|
if (((_b = (_a = args.input) === null || _a === void 0 ? void 0 : _a.filter) === null || _b === void 0 ? void 0 : _b.email) && args.input.filter.memberType === 'API_KEY') {
|
|
21
21
|
throw new graphql_utils_1.UserInputError(`Cannot use email filter for ApiKey member type.`);
|
|
22
22
|
}
|
|
23
|
+
if (((_d = (_c = args.input) === null || _c === void 0 ? void 0 : _c.filter) === null || _d === void 0 ? void 0 : _d.personId) && args.input.filter.memberType === 'API_KEY') {
|
|
24
|
+
throw new graphql_utils_1.UserInputError(`Cannot use personId filter for ApiKey member type.`);
|
|
25
|
+
}
|
|
23
26
|
if (args.memberType && args.input) {
|
|
24
27
|
throw new graphql_utils_1.UserInputError(`Cannot use both deprecated memberType parameter and new input parameter`);
|
|
25
28
|
}
|
|
26
|
-
const members = await this.projectMemberManager.getProjectMembers(context.db, parent.id, verifier, (
|
|
29
|
+
const members = await this.projectMemberManager.getProjectMembers(context.db, parent.id, verifier, (_e = args.input) !== null && _e !== void 0 ? _e : { filter: { memberType: args.memberType } });
|
|
27
30
|
return members.map(it => ({
|
|
28
31
|
...it,
|
|
29
32
|
identity: { ...it.identity, projects: [] },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTypeResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/types/ProjectTypeResolver.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ProjectTypeResolver.js","sourceRoot":"","sources":["../../../../src/resolvers/types/ProjectTypeResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,7 +208,7 @@ export type CreateSessionTokenError = {
|
|
|
208
208
|
readonly code: CreateSessionTokenErrorCode;
|
|
209
209
|
readonly developerMessage: Scalars['String'];
|
|
210
210
|
};
|
|
211
|
-
export type CreateSessionTokenErrorCode = '
|
|
211
|
+
export type CreateSessionTokenErrorCode = 'PERSON_DISABLED' | 'UNKNOWN_EMAIL' | 'UNKNOWN_PERSON_ID';
|
|
212
212
|
export type CreateSessionTokenResponse = {
|
|
213
213
|
readonly __typename?: 'CreateSessionTokenResponse';
|
|
214
214
|
readonly error?: Maybe<CreateSessionTokenError>;
|
|
@@ -352,7 +352,7 @@ export type InviteError = {
|
|
|
352
352
|
readonly endUserMessage?: Maybe<Scalars['String']>;
|
|
353
353
|
readonly membershipValidation?: Maybe<ReadonlyArray<MembershipValidationError>>;
|
|
354
354
|
};
|
|
355
|
-
export type InviteErrorCode = 'ALREADY_MEMBER' | 'INVALID_MEMBERSHIP' | 'PROJECT_NOT_FOUND' | 'ROLE_NOT_FOUND' | 'VARIABLE_EMPTY' | 'VARIABLE_NOT_FOUND';
|
|
355
|
+
export type InviteErrorCode = 'ALREADY_MEMBER' | 'INVALID_EMAIL_FORMAT' | 'INVALID_MEMBERSHIP' | 'PROJECT_NOT_FOUND' | 'ROLE_NOT_FOUND' | 'VARIABLE_EMPTY' | 'VARIABLE_NOT_FOUND';
|
|
356
356
|
export type InviteMethod = 'CREATE_PASSWORD' | 'RESET_PASSWORD';
|
|
357
357
|
export type InviteOptions = {
|
|
358
358
|
readonly mailVariant?: InputMaybe<Scalars['String']>;
|
|
@@ -639,8 +639,10 @@ export type ProjectIdentityRelation = {
|
|
|
639
639
|
readonly memberships: ReadonlyArray<Membership>;
|
|
640
640
|
};
|
|
641
641
|
export type ProjectMembersFilter = {
|
|
642
|
-
readonly email?: InputMaybe<Scalars['String']
|
|
642
|
+
readonly email?: InputMaybe<ReadonlyArray<Scalars['String']>>;
|
|
643
|
+
readonly identityId?: InputMaybe<ReadonlyArray<Scalars['String']>>;
|
|
643
644
|
readonly memberType?: InputMaybe<MemberType>;
|
|
645
|
+
readonly personId?: InputMaybe<ReadonlyArray<Scalars['String']>>;
|
|
644
646
|
};
|
|
645
647
|
export type ProjectMembersInput = {
|
|
646
648
|
readonly filter?: InputMaybe<ProjectMembersFilter>;
|
|
@@ -770,7 +772,7 @@ export type SignInError = {
|
|
|
770
772
|
/** @deprecated Field no longer supported */
|
|
771
773
|
readonly endUserMessage?: Maybe<Scalars['String']>;
|
|
772
774
|
};
|
|
773
|
-
export type SignInErrorCode = 'INVALID_OTP_TOKEN' | 'INVALID_PASSWORD' | 'NO_PASSWORD_SET' | 'OTP_REQUIRED' | '
|
|
775
|
+
export type SignInErrorCode = 'INVALID_OTP_TOKEN' | 'INVALID_PASSWORD' | 'NO_PASSWORD_SET' | 'OTP_REQUIRED' | 'PERSON_DISABLED' | 'UNKNOWN_EMAIL';
|
|
774
776
|
export type SignInIdpError = {
|
|
775
777
|
readonly __typename?: 'SignInIDPError';
|
|
776
778
|
readonly code: SignInIdpErrorCode;
|
|
@@ -778,7 +780,7 @@ export type SignInIdpError = {
|
|
|
778
780
|
/** @deprecated Field no longer supported */
|
|
779
781
|
readonly endUserMessage?: Maybe<Scalars['String']>;
|
|
780
782
|
};
|
|
781
|
-
export type SignInIdpErrorCode = 'IDP_VALIDATION_FAILED' | 'INVALID_IDP_RESPONSE' | 'PERSON_ALREADY_EXISTS' | '
|
|
783
|
+
export type SignInIdpErrorCode = 'IDP_VALIDATION_FAILED' | 'INVALID_IDP_RESPONSE' | 'PERSON_ALREADY_EXISTS' | 'PERSON_DISABLED' | 'PERSON_NOT_FOUND';
|
|
782
784
|
export type SignInIdpResponse = {
|
|
783
785
|
readonly __typename?: 'SignInIDPResponse';
|
|
784
786
|
readonly error?: Maybe<SignInIdpError>;
|
|
@@ -827,7 +829,7 @@ export type SignUpError = {
|
|
|
827
829
|
/** @deprecated Field no longer supported */
|
|
828
830
|
readonly endPersonMessage?: Maybe<Scalars['String']>;
|
|
829
831
|
};
|
|
830
|
-
export type SignUpErrorCode = 'EMAIL_ALREADY_EXISTS' | 'TOO_WEAK';
|
|
832
|
+
export type SignUpErrorCode = 'EMAIL_ALREADY_EXISTS' | 'INVALID_EMAIL_FORMAT' | 'TOO_WEAK';
|
|
831
833
|
export type SignUpResponse = {
|
|
832
834
|
readonly __typename?: 'SignUpResponse';
|
|
833
835
|
readonly error?: Maybe<SignUpError>;
|