@memberjunction/server 0.9.128 → 0.9.141
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/build.log.json +27 -0
- package/dist/apolloServer/TransactionPlugin.js +45 -45
- package/dist/apolloServer/TransactionPlugin.js.map +1 -1
- package/dist/apolloServer/index.js +26 -26
- package/dist/auth/exampleNewUserSubClass.js +53 -63
- package/dist/auth/exampleNewUserSubClass.js.map +1 -1
- package/dist/auth/index.js +110 -104
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/newUsers.js +65 -66
- package/dist/auth/newUsers.js.map +1 -1
- package/dist/cache.js +10 -10
- package/dist/config.js +62 -61
- package/dist/config.js.map +1 -1
- package/dist/context.js +101 -101
- package/dist/context.js.map +1 -1
- package/dist/directives/Public.js +33 -33
- package/dist/directives/Public.js.map +1 -1
- package/dist/directives/index.js +17 -17
- package/dist/entitySubclasses/userViewEntity.server.js +127 -127
- package/dist/entitySubclasses/userViewEntity.server.js.map +1 -1
- package/dist/generated/generated.js +20205 -19004
- package/dist/generated/generated.js.map +1 -1
- package/dist/generic/PushStatusResolver.js +58 -58
- package/dist/generic/PushStatusResolver.js.map +1 -1
- package/dist/generic/ResolverBase.js +231 -231
- package/dist/generic/ResolverBase.js.map +1 -1
- package/dist/generic/RunViewResolver.js +400 -400
- package/dist/generic/RunViewResolver.js.map +1 -1
- package/dist/index.js +131 -131
- package/dist/index.js.map +1 -1
- package/dist/orm.js +33 -33
- package/dist/orm.js.map +1 -1
- package/dist/resolvers/AskSkipResolver.js +246 -246
- package/dist/resolvers/AskSkipResolver.js.map +1 -1
- package/dist/resolvers/ColorResolver.js +93 -93
- package/dist/resolvers/ColorResolver.js.map +1 -1
- package/dist/resolvers/DatasetResolver.js +167 -167
- package/dist/resolvers/DatasetResolver.js.map +1 -1
- package/dist/resolvers/EntityRecordNameResolver.js +111 -111
- package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
- package/dist/resolvers/EntityResolver.js +59 -59
- package/dist/resolvers/EntityResolver.js.map +1 -1
- package/dist/resolvers/MergeRecordsResolver.js +282 -282
- package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
- package/dist/resolvers/QueryResolver.js +74 -0
- package/dist/resolvers/QueryResolver.js.map +1 -0
- package/dist/resolvers/ReportResolver.js +73 -73
- package/dist/resolvers/ReportResolver.js.map +1 -1
- package/dist/resolvers/UserFavoriteResolver.js +161 -161
- package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
- package/dist/resolvers/UserResolver.js +69 -69
- package/dist/resolvers/UserResolver.js.map +1 -1
- package/dist/resolvers/UserViewResolver.js +101 -101
- package/dist/resolvers/UserViewResolver.js.map +1 -1
- package/dist/types.js +2 -2
- package/package.json +11 -11
- package/src/apolloServer/TransactionPlugin.ts +1 -1
- package/src/auth/exampleNewUserSubClass.ts +3 -1
- package/src/auth/index.ts +13 -4
- package/src/config.ts +1 -0
- package/src/generated/generated.ts +921 -2
- package/src/resolvers/AskSkipResolver.ts +1 -1
- package/src/resolvers/QueryResolver.ts +42 -0
- package/src/resolvers/ReportResolver.ts +0 -15
- package/tsconfig.json +2 -2
|
@@ -1,70 +1,70 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.UserResolver = void 0;
|
|
16
|
-
const server_1 = require("@memberjunction/server");
|
|
17
|
-
const generated_1 = require("../generated/generated");
|
|
18
|
-
let UserResolver = class UserResolver extends generated_1.UserResolverBase {
|
|
19
|
-
async CurrentUser({ dataSource, userPayload }) {
|
|
20
|
-
return await this.UserByEmail(userPayload.email, { dataSource, userPayload });
|
|
21
|
-
}
|
|
22
|
-
async UserByID(ID, { dataSource }) {
|
|
23
|
-
return super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { ID }));
|
|
24
|
-
}
|
|
25
|
-
async UserByEmployeeID(EmployeeID, { dataSource }) {
|
|
26
|
-
return super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { EmployeeID }));
|
|
27
|
-
}
|
|
28
|
-
async UserByEmail(Email, { dataSource }) {
|
|
29
|
-
const searchEmail = Email;
|
|
30
|
-
const returnVal = super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { Email: searchEmail }));
|
|
31
|
-
return returnVal;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
__metadata("design:
|
|
39
|
-
__metadata("design:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
__param(
|
|
45
|
-
|
|
46
|
-
__metadata("design:
|
|
47
|
-
__metadata("design:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
__param(
|
|
53
|
-
|
|
54
|
-
__metadata("design:
|
|
55
|
-
__metadata("design:
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
__param(
|
|
61
|
-
|
|
62
|
-
__metadata("design:
|
|
63
|
-
__metadata("design:
|
|
64
|
-
|
|
65
|
-
UserResolver
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
exports.default = UserResolver;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UserResolver = void 0;
|
|
16
|
+
const server_1 = require("@memberjunction/server");
|
|
17
|
+
const generated_1 = require("../generated/generated");
|
|
18
|
+
let UserResolver = class UserResolver extends generated_1.UserResolverBase {
|
|
19
|
+
async CurrentUser({ dataSource, userPayload }) {
|
|
20
|
+
return await this.UserByEmail(userPayload.email, { dataSource, userPayload });
|
|
21
|
+
}
|
|
22
|
+
async UserByID(ID, { dataSource }) {
|
|
23
|
+
return super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { ID }));
|
|
24
|
+
}
|
|
25
|
+
async UserByEmployeeID(EmployeeID, { dataSource }) {
|
|
26
|
+
return super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { EmployeeID }));
|
|
27
|
+
}
|
|
28
|
+
async UserByEmail(Email, { dataSource }) {
|
|
29
|
+
const searchEmail = Email;
|
|
30
|
+
const returnVal = super.safeFirstArrayElement(await this.findBy(dataSource, 'Users', { Email: searchEmail }));
|
|
31
|
+
return returnVal;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.UserResolver = UserResolver;
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, server_1.Query)(() => generated_1.User_),
|
|
37
|
+
__param(0, (0, server_1.Ctx)()),
|
|
38
|
+
__metadata("design:type", Function),
|
|
39
|
+
__metadata("design:paramtypes", [Object]),
|
|
40
|
+
__metadata("design:returntype", Promise)
|
|
41
|
+
], UserResolver.prototype, "CurrentUser", null);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, server_1.Query)(() => generated_1.User_),
|
|
44
|
+
__param(0, (0, server_1.Arg)('ID', () => server_1.Int)),
|
|
45
|
+
__param(1, (0, server_1.Ctx)()),
|
|
46
|
+
__metadata("design:type", Function),
|
|
47
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
48
|
+
__metadata("design:returntype", Promise)
|
|
49
|
+
], UserResolver.prototype, "UserByID", null);
|
|
50
|
+
__decorate([
|
|
51
|
+
(0, server_1.Query)(() => generated_1.User_),
|
|
52
|
+
__param(0, (0, server_1.Arg)('EmployeeID', () => server_1.Int)),
|
|
53
|
+
__param(1, (0, server_1.Ctx)()),
|
|
54
|
+
__metadata("design:type", Function),
|
|
55
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
56
|
+
__metadata("design:returntype", Promise)
|
|
57
|
+
], UserResolver.prototype, "UserByEmployeeID", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, server_1.Query)(() => generated_1.User_),
|
|
60
|
+
__param(0, (0, server_1.Arg)('Email', () => String)),
|
|
61
|
+
__param(1, (0, server_1.Ctx)()),
|
|
62
|
+
__metadata("design:type", Function),
|
|
63
|
+
__metadata("design:paramtypes", [String, Object]),
|
|
64
|
+
__metadata("design:returntype", Promise)
|
|
65
|
+
], UserResolver.prototype, "UserByEmail", null);
|
|
66
|
+
exports.UserResolver = UserResolver = __decorate([
|
|
67
|
+
(0, server_1.Resolver)(generated_1.User_)
|
|
68
|
+
], UserResolver);
|
|
69
|
+
exports.default = UserResolver;
|
|
70
70
|
//# sourceMappingURL=UserResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAoF;AACpF,sDAAiE;AAG1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAgB;IAE1C,AAAN,KAAK,CAAC,WAAW,CAAQ,EAAE,UAAU,EAAE,WAAW,EAAc;QAC9D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAuB,EAAU,EAAS,EAAE,UAAU,EAAc;QAChF,OAAO,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAA+B,UAAkB,EAAS,EAAE,UAAU,EAAc;QACxG,OAAO,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAA6B,KAAa,EAAS,EAAE,UAAU,EAAc;QAE5F,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9G,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"UserResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,mDAAoF;AACpF,sDAAiE;AAG1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAgB;IAE1C,AAAN,KAAK,CAAC,WAAW,CAAQ,EAAE,UAAU,EAAE,WAAW,EAAc;QAC9D,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAChF,CAAC;IAGK,AAAN,KAAK,CAAC,QAAQ,CAAuB,EAAU,EAAS,EAAE,UAAU,EAAc;QAChF,OAAO,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB,CAA+B,UAAkB,EAAS,EAAE,UAAU,EAAc;QACxG,OAAO,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CAA6B,KAAa,EAAS,EAAE,UAAU,EAAc;QAE5F,MAAM,WAAW,GAAG,KAAK,CAAC;QAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QAC9G,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AAvBY,oCAAY;AAEjB;IADL,IAAA,cAAK,EAAC,GAAG,EAAE,CAAC,iBAAK,CAAC;IACA,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+CAEvB;AAGK;IADL,IAAA,cAAK,EAAC,GAAG,EAAE,CAAC,iBAAK,CAAC;IACH,WAAA,IAAA,YAAG,EAAC,IAAI,EAAE,GAAG,EAAE,CAAC,YAAG,CAAC,CAAA;IAAc,WAAA,IAAA,YAAG,GAAE,CAAA;;;;4CAEtD;AAGK;IADL,IAAA,cAAK,EAAC,GAAG,EAAE,CAAC,iBAAK,CAAC;IACK,WAAA,IAAA,YAAG,EAAC,YAAY,EAAE,GAAG,EAAE,CAAC,YAAG,CAAC,CAAA;IAAsB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;oDAE9E;AAGK;IADL,IAAA,cAAK,EAAC,GAAG,EAAE,CAAC,iBAAK,CAAC;IACA,WAAA,IAAA,YAAG,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;IAAiB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+CAKlE;uBAtBU,YAAY;IADxB,IAAA,iBAAQ,EAAC,iBAAK,CAAC;GACH,YAAY,CAuBxB;AACD,kBAAe,YAAY,CAAC"}
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.UserViewResolver = void 0;
|
|
16
|
-
const core_1 = require("@memberjunction/core");
|
|
17
|
-
const server_1 = require("@memberjunction/server");
|
|
18
|
-
const generated_1 = require("../generated/generated");
|
|
19
|
-
const UserResolver_1 = require("./UserResolver");
|
|
20
|
-
let UserViewResolver = class UserViewResolver extends generated_1.UserViewResolverBase {
|
|
21
|
-
async UserViewsByUserID(UserID, { dataSource }) {
|
|
22
|
-
return await this.findBy(dataSource, 'User Views', { UserID });
|
|
23
|
-
}
|
|
24
|
-
async DefaultViewByUserAndEntity(UserID, EntityID, { dataSource }) {
|
|
25
|
-
return await this.findBy(dataSource, 'User Views', { UserID, EntityID, IsDefault: true });
|
|
26
|
-
}
|
|
27
|
-
async CurrentUserDefaultViewByEntityID(EntityID, { dataSource, userPayload }) {
|
|
28
|
-
return await this.findBy(dataSource, 'User Views', {
|
|
29
|
-
UserID: await this.getCurrentUserID(dataSource, userPayload),
|
|
30
|
-
EntityID,
|
|
31
|
-
IsDefault: true,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
async getCurrentUserID(dataSource, userPayload) {
|
|
35
|
-
const userResolver = new UserResolver_1.UserResolver();
|
|
36
|
-
const user = await userResolver.UserByEmail(userPayload.email, { dataSource, userPayload });
|
|
37
|
-
return user.ID;
|
|
38
|
-
}
|
|
39
|
-
async CurrentUserUserViewsByEntityID(EntityID, { dataSource, userPayload }) {
|
|
40
|
-
return this.findBy(dataSource, 'User Views', { UserID: await this.getCurrentUserID(dataSource, userPayload), EntityID });
|
|
41
|
-
}
|
|
42
|
-
async UpdateWhereClause(ID, { userPayload }) {
|
|
43
|
-
const md = new core_1.Metadata();
|
|
44
|
-
const u = this.GetUserFromPayload(userPayload);
|
|
45
|
-
const viewEntity = await md.GetEntityObject('User Views', u);
|
|
46
|
-
await viewEntity.Load(ID);
|
|
47
|
-
viewEntity.UpdateWhereClause();
|
|
48
|
-
if (await viewEntity.Save()) {
|
|
49
|
-
return viewEntity.GetAll();
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
throw new Error('Failed to update where clause');
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
__param(
|
|
60
|
-
|
|
61
|
-
__metadata("design:
|
|
62
|
-
__metadata("design:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
__param(
|
|
68
|
-
__param(
|
|
69
|
-
|
|
70
|
-
__metadata("design:
|
|
71
|
-
__metadata("design:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
__param(
|
|
77
|
-
|
|
78
|
-
__metadata("design:
|
|
79
|
-
__metadata("design:
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
__param(
|
|
85
|
-
|
|
86
|
-
__metadata("design:
|
|
87
|
-
__metadata("design:
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
__param(
|
|
93
|
-
|
|
94
|
-
__metadata("design:
|
|
95
|
-
__metadata("design:
|
|
96
|
-
|
|
97
|
-
UserViewResolver
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
exports.default = UserViewResolver;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.UserViewResolver = void 0;
|
|
16
|
+
const core_1 = require("@memberjunction/core");
|
|
17
|
+
const server_1 = require("@memberjunction/server");
|
|
18
|
+
const generated_1 = require("../generated/generated");
|
|
19
|
+
const UserResolver_1 = require("./UserResolver");
|
|
20
|
+
let UserViewResolver = class UserViewResolver extends generated_1.UserViewResolverBase {
|
|
21
|
+
async UserViewsByUserID(UserID, { dataSource }) {
|
|
22
|
+
return await this.findBy(dataSource, 'User Views', { UserID });
|
|
23
|
+
}
|
|
24
|
+
async DefaultViewByUserAndEntity(UserID, EntityID, { dataSource }) {
|
|
25
|
+
return await this.findBy(dataSource, 'User Views', { UserID, EntityID, IsDefault: true });
|
|
26
|
+
}
|
|
27
|
+
async CurrentUserDefaultViewByEntityID(EntityID, { dataSource, userPayload }) {
|
|
28
|
+
return await this.findBy(dataSource, 'User Views', {
|
|
29
|
+
UserID: await this.getCurrentUserID(dataSource, userPayload),
|
|
30
|
+
EntityID,
|
|
31
|
+
IsDefault: true,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async getCurrentUserID(dataSource, userPayload) {
|
|
35
|
+
const userResolver = new UserResolver_1.UserResolver();
|
|
36
|
+
const user = await userResolver.UserByEmail(userPayload.email, { dataSource, userPayload });
|
|
37
|
+
return user.ID;
|
|
38
|
+
}
|
|
39
|
+
async CurrentUserUserViewsByEntityID(EntityID, { dataSource, userPayload }) {
|
|
40
|
+
return this.findBy(dataSource, 'User Views', { UserID: await this.getCurrentUserID(dataSource, userPayload), EntityID });
|
|
41
|
+
}
|
|
42
|
+
async UpdateWhereClause(ID, { userPayload }) {
|
|
43
|
+
const md = new core_1.Metadata();
|
|
44
|
+
const u = this.GetUserFromPayload(userPayload);
|
|
45
|
+
const viewEntity = await md.GetEntityObject('User Views', u);
|
|
46
|
+
await viewEntity.Load(ID);
|
|
47
|
+
viewEntity.UpdateWhereClause();
|
|
48
|
+
if (await viewEntity.Save()) {
|
|
49
|
+
return viewEntity.GetAll();
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
throw new Error('Failed to update where clause');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.UserViewResolver = UserViewResolver;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, server_1.Query)(() => [generated_1.UserView_]),
|
|
59
|
+
__param(0, (0, server_1.Arg)('UserID', () => server_1.Int)),
|
|
60
|
+
__param(1, (0, server_1.Ctx)()),
|
|
61
|
+
__metadata("design:type", Function),
|
|
62
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
63
|
+
__metadata("design:returntype", Promise)
|
|
64
|
+
], UserViewResolver.prototype, "UserViewsByUserID", null);
|
|
65
|
+
__decorate([
|
|
66
|
+
(0, server_1.Query)(() => [generated_1.UserView_]),
|
|
67
|
+
__param(0, (0, server_1.Arg)('UserID', () => server_1.Int)),
|
|
68
|
+
__param(1, (0, server_1.Arg)('EntityID', () => server_1.Int)),
|
|
69
|
+
__param(2, (0, server_1.Ctx)()),
|
|
70
|
+
__metadata("design:type", Function),
|
|
71
|
+
__metadata("design:paramtypes", [Number, Number, Object]),
|
|
72
|
+
__metadata("design:returntype", Promise)
|
|
73
|
+
], UserViewResolver.prototype, "DefaultViewByUserAndEntity", null);
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, server_1.Query)(() => [generated_1.UserView_]),
|
|
76
|
+
__param(0, (0, server_1.Arg)('EntityID', () => server_1.Int)),
|
|
77
|
+
__param(1, (0, server_1.Ctx)()),
|
|
78
|
+
__metadata("design:type", Function),
|
|
79
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
80
|
+
__metadata("design:returntype", Promise)
|
|
81
|
+
], UserViewResolver.prototype, "CurrentUserDefaultViewByEntityID", null);
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, server_1.Query)(() => [generated_1.UserView_]),
|
|
84
|
+
__param(0, (0, server_1.Arg)('EntityID', () => server_1.Int)),
|
|
85
|
+
__param(1, (0, server_1.Ctx)()),
|
|
86
|
+
__metadata("design:type", Function),
|
|
87
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
88
|
+
__metadata("design:returntype", Promise)
|
|
89
|
+
], UserViewResolver.prototype, "CurrentUserUserViewsByEntityID", null);
|
|
90
|
+
__decorate([
|
|
91
|
+
(0, server_1.Query)(() => [generated_1.UserView_]),
|
|
92
|
+
__param(0, (0, server_1.Arg)('ID', () => server_1.Int)),
|
|
93
|
+
__param(1, (0, server_1.Ctx)()),
|
|
94
|
+
__metadata("design:type", Function),
|
|
95
|
+
__metadata("design:paramtypes", [Number, Object]),
|
|
96
|
+
__metadata("design:returntype", Promise)
|
|
97
|
+
], UserViewResolver.prototype, "UpdateWhereClause", null);
|
|
98
|
+
exports.UserViewResolver = UserViewResolver = __decorate([
|
|
99
|
+
(0, server_1.Resolver)(generated_1.UserView_)
|
|
100
|
+
], UserViewResolver);
|
|
101
|
+
exports.default = UserViewResolver;
|
|
102
102
|
//# sourceMappingURL=UserViewResolver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserViewResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserViewResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAgD;AAChD,mDAAiG;AAEjG,sDAAyE;AACzE,iDAA8C;AAIvC,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,gCAAoB;IAElD,AAAN,KAAK,CAAC,iBAAiB,CAA2B,MAAc,EAAS,EAAE,UAAU,EAAc;QACjG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;IAGK,AAAN,KAAK,CAAC,0BAA0B,CACJ,MAAc,EACZ,QAAgB,EACrC,EAAE,UAAU,EAAc;QAEjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;IAGK,AAAN,KAAK,CAAC,gCAAgC,CAA6B,QAAgB,EAAS,EAAE,UAAU,EAAE,WAAW,EAAc;QACjI,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE;YACjD,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC;YAC5D,QAAQ;YACR,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,UAAsB,EAAE,WAAwB;QAC/E,MAAM,YAAY,GAAG,IAAI,2BAAY,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAGK,AAAN,KAAK,CAAC,8BAA8B,CAA6B,QAAgB,EAAS,EAAE,UAAU,EAAE,WAAW,EAAc;QAC/H,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC3H,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CAAuB,EAAU,EAAS,EAAE,WAAW,EAAc;QAK1F,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,UAAU,GAA2B,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACrF,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"UserViewResolver.js","sourceRoot":"","sources":["../../src/resolvers/UserViewResolver.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/server",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.141",
|
|
4
4
|
"description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@apollo/server": "^4.9.1",
|
|
23
23
|
"@graphql-tools/utils": "^10.0.1",
|
|
24
|
-
"@memberjunction/ai": "^0.9.
|
|
25
|
-
"@memberjunction/
|
|
26
|
-
"@memberjunction/core
|
|
27
|
-
"@memberjunction/
|
|
28
|
-
"@memberjunction/
|
|
29
|
-
"@memberjunction/
|
|
30
|
-
"@
|
|
24
|
+
"@memberjunction/ai": "^0.9.127",
|
|
25
|
+
"@memberjunction/aiengine": "^0.9.9",
|
|
26
|
+
"@memberjunction/core": "^0.9.134",
|
|
27
|
+
"@memberjunction/core-entities": "^0.9.112",
|
|
28
|
+
"@memberjunction/global": "^0.9.123",
|
|
29
|
+
"@memberjunction/queue": "^0.9.131",
|
|
30
|
+
"@memberjunction/sqlserver-dataprovider": "^0.9.142",
|
|
31
31
|
"@types/cors": "^2.8.13",
|
|
32
32
|
"@types/jsonwebtoken": "^8.5.9",
|
|
33
33
|
"@types/node": "^18.11.14",
|
|
@@ -45,12 +45,12 @@
|
|
|
45
45
|
"jsonwebtoken": "^8.5.1",
|
|
46
46
|
"jwks-rsa": "^3.0.0",
|
|
47
47
|
"lru-cache": "^10.0.0",
|
|
48
|
-
"mssql": "^
|
|
48
|
+
"mssql": "^10.0.2",
|
|
49
49
|
"reflect-metadata": "^0.1.13",
|
|
50
50
|
"rxjs": "^7.8.1",
|
|
51
51
|
"type-graphql": "2.0.0-beta.3",
|
|
52
52
|
"typedi": "^0.10.0",
|
|
53
|
-
"typeorm": "^0.3.
|
|
53
|
+
"typeorm": "^0.3.20",
|
|
54
54
|
"ws": "^8.13.0",
|
|
55
55
|
"zod": "^3.22.4"
|
|
56
56
|
},
|
|
@@ -70,6 +70,6 @@
|
|
|
70
70
|
"rimraf": "^4.4.0",
|
|
71
71
|
"ts-node": "^10.9.1",
|
|
72
72
|
"ts-node-dev": "^2.0.0",
|
|
73
|
-
"typescript": "^
|
|
73
|
+
"typescript": "^5.3.3"
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -9,7 +9,7 @@ export const TransactionPlugin: ApolloServerPlugin<AppContext> = {
|
|
|
9
9
|
const isMutation = /^\s*mutation\b/i.test(query);
|
|
10
10
|
|
|
11
11
|
if (!isMutation) {
|
|
12
|
-
return;
|
|
12
|
+
return null;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
// Start transaction, one or more mutations. If it is just one mutation, this trans wrapper isn't really needed
|
|
@@ -9,7 +9,9 @@ import { configInfo } from "../config";
|
|
|
9
9
|
* called "Persons" that is mapped to the User table in the core MemberJunction schema. You can sub-class the NewUserBase to do whatever behavior you want and pre-process, post-process or entirely override the base
|
|
10
10
|
* class behavior.
|
|
11
11
|
*/
|
|
12
|
-
|
|
12
|
+
// NOTE: This is commented out becuase it is turned off by default. To make this work, you'd have to do a real implementation below, and then uncomment this decorator
|
|
13
|
+
// so that your class is actually used.
|
|
14
|
+
//@RegisterClass(NewUserBase, undefined, 1) /*by putting 1 into the priority setting, MJGlobal ClassFactory will use this instead of the base class as that registration had no priority*/
|
|
13
15
|
export class ExampleNewUserSubClass extends NewUserBase {
|
|
14
16
|
public override async createNewUser(firstName: string, lastName: string, email: string) {
|
|
15
17
|
try {
|
package/src/auth/index.ts
CHANGED
|
@@ -87,10 +87,19 @@ export const verifyUserRecord = async (email?: string, firstName?: string, lastN
|
|
|
87
87
|
});
|
|
88
88
|
|
|
89
89
|
if (!user) {
|
|
90
|
-
if (configInfo.userHandling.autoCreateNewUsers && firstName && lastName && requestDomain) {
|
|
90
|
+
if (configInfo.userHandling.autoCreateNewUsers && firstName && lastName && (requestDomain || configInfo.userHandling.newUserLimitedToAuthorizedDomains === false)) {
|
|
91
91
|
// check to see if the domain that we have a request coming in from matches one of the domains in the autoCreateNewUsersDomains setting
|
|
92
|
-
|
|
93
|
-
if (
|
|
92
|
+
let passesDomainCheck: boolean = configInfo.userHandling.newUserLimitedToAuthorizedDomains === false /*in this first condition, we are set up to NOT care about domain */
|
|
93
|
+
if (!passesDomainCheck && requestDomain) {
|
|
94
|
+
/*in this second condition, we check the domain against authorized domains*/
|
|
95
|
+
passesDomainCheck = configInfo.userHandling.newUserAuthorizedDomains.some((pattern) => {
|
|
96
|
+
// Convert wildcard domain patterns to regular expressions
|
|
97
|
+
const regex = new RegExp('^' + pattern.toLowerCase().trim().replace(/\./g, '\\.').replace(/\*/g, '.*') + '$');
|
|
98
|
+
return regex.test(requestDomain?.toLowerCase().trim());
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (passesDomainCheck) {
|
|
94
103
|
// we have a domain from the request that matches one of the domains provided by the configuration, so we will create a new user
|
|
95
104
|
console.warn(`User ${email} not found in cache. Attempting to create a new user...`);
|
|
96
105
|
const newUserCreator: NewUserBase = <NewUserBase>MJGlobal.Instance.ClassFactory.CreateInstance(NewUserBase); // this will create the object that handles creating the new user for us
|
|
@@ -106,7 +115,7 @@ export const verifyUserRecord = async (email?: string, firstName?: string, lastN
|
|
|
106
115
|
}
|
|
107
116
|
}
|
|
108
117
|
else {
|
|
109
|
-
console.warn(`User ${email} not found in cache. Request domain '${requestDomain}' does not match any of the domains in the newUserAuthorizedDomains setting. NOT creating a new user.`);
|
|
118
|
+
console.warn(`User ${email} not found in cache. Request domain '${requestDomain}' does not match any of the domains in the newUserAuthorizedDomains setting. To ignore domain, make sure you set the newUserLimitedToAuthorizedDomains setting to false. In this case we are NOT creating a new user.`);
|
|
110
119
|
}
|
|
111
120
|
}
|
|
112
121
|
if(!user && configInfo.userHandling.updateCacheWhenNotFound && dataSource && attemptCacheUpdateIfNeeded) {
|
package/src/config.ts
CHANGED
|
@@ -33,6 +33,7 @@ export const configFile = env.get('CONFIG_FILE').asString();
|
|
|
33
33
|
|
|
34
34
|
const userHandlingInfoSchema = z.object({
|
|
35
35
|
autoCreateNewUsers: z.boolean().optional().default(false),
|
|
36
|
+
newUserLimitedToAuthorizedDomains: z.boolean().optional().default(false),
|
|
36
37
|
newUserAuthorizedDomains: z.array(z.string()).optional().default([]),
|
|
37
38
|
newUserRoles: z.array(z.string()).optional().default([]),
|
|
38
39
|
updateCacheWhenNotFound: z.boolean().optional().default(false),
|