@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.
Files changed (65) hide show
  1. package/build.log.json +27 -0
  2. package/dist/apolloServer/TransactionPlugin.js +45 -45
  3. package/dist/apolloServer/TransactionPlugin.js.map +1 -1
  4. package/dist/apolloServer/index.js +26 -26
  5. package/dist/auth/exampleNewUserSubClass.js +53 -63
  6. package/dist/auth/exampleNewUserSubClass.js.map +1 -1
  7. package/dist/auth/index.js +110 -104
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/newUsers.js +65 -66
  10. package/dist/auth/newUsers.js.map +1 -1
  11. package/dist/cache.js +10 -10
  12. package/dist/config.js +62 -61
  13. package/dist/config.js.map +1 -1
  14. package/dist/context.js +101 -101
  15. package/dist/context.js.map +1 -1
  16. package/dist/directives/Public.js +33 -33
  17. package/dist/directives/Public.js.map +1 -1
  18. package/dist/directives/index.js +17 -17
  19. package/dist/entitySubclasses/userViewEntity.server.js +127 -127
  20. package/dist/entitySubclasses/userViewEntity.server.js.map +1 -1
  21. package/dist/generated/generated.js +20205 -19004
  22. package/dist/generated/generated.js.map +1 -1
  23. package/dist/generic/PushStatusResolver.js +58 -58
  24. package/dist/generic/PushStatusResolver.js.map +1 -1
  25. package/dist/generic/ResolverBase.js +231 -231
  26. package/dist/generic/ResolverBase.js.map +1 -1
  27. package/dist/generic/RunViewResolver.js +400 -400
  28. package/dist/generic/RunViewResolver.js.map +1 -1
  29. package/dist/index.js +131 -131
  30. package/dist/index.js.map +1 -1
  31. package/dist/orm.js +33 -33
  32. package/dist/orm.js.map +1 -1
  33. package/dist/resolvers/AskSkipResolver.js +246 -246
  34. package/dist/resolvers/AskSkipResolver.js.map +1 -1
  35. package/dist/resolvers/ColorResolver.js +93 -93
  36. package/dist/resolvers/ColorResolver.js.map +1 -1
  37. package/dist/resolvers/DatasetResolver.js +167 -167
  38. package/dist/resolvers/DatasetResolver.js.map +1 -1
  39. package/dist/resolvers/EntityRecordNameResolver.js +111 -111
  40. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -1
  41. package/dist/resolvers/EntityResolver.js +59 -59
  42. package/dist/resolvers/EntityResolver.js.map +1 -1
  43. package/dist/resolvers/MergeRecordsResolver.js +282 -282
  44. package/dist/resolvers/MergeRecordsResolver.js.map +1 -1
  45. package/dist/resolvers/QueryResolver.js +74 -0
  46. package/dist/resolvers/QueryResolver.js.map +1 -0
  47. package/dist/resolvers/ReportResolver.js +73 -73
  48. package/dist/resolvers/ReportResolver.js.map +1 -1
  49. package/dist/resolvers/UserFavoriteResolver.js +161 -161
  50. package/dist/resolvers/UserFavoriteResolver.js.map +1 -1
  51. package/dist/resolvers/UserResolver.js +69 -69
  52. package/dist/resolvers/UserResolver.js.map +1 -1
  53. package/dist/resolvers/UserViewResolver.js +101 -101
  54. package/dist/resolvers/UserViewResolver.js.map +1 -1
  55. package/dist/types.js +2 -2
  56. package/package.json +11 -11
  57. package/src/apolloServer/TransactionPlugin.ts +1 -1
  58. package/src/auth/exampleNewUserSubClass.ts +3 -1
  59. package/src/auth/index.ts +13 -4
  60. package/src/config.ts +1 -0
  61. package/src/generated/generated.ts +921 -2
  62. package/src/resolvers/AskSkipResolver.ts +1 -1
  63. package/src/resolvers/QueryResolver.ts +42 -0
  64. package/src/resolvers/ReportResolver.ts +0 -15
  65. package/tsconfig.json +2 -2
@@ -1,67 +1,66 @@
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 NewUserBase_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.NewUserBase = void 0;
11
- const core_1 = require("@memberjunction/core");
12
- const global_1 = require("@memberjunction/global");
13
- const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
14
- const config_1 = require("../config");
15
- let NewUserBase = NewUserBase_1 = class NewUserBase {
16
- async createNewUser(firstName, lastName, email, linkedRecordType = 'None', linkedEntityId, linkedEntityRecordId) {
17
- try {
18
- const md = new core_1.Metadata();
19
- const contextUser = sqlserver_dataprovider_1.UserCache.Instance.Users.find(u => u.Email.trim().toLowerCase() === config_1.configInfo?.userHandling?.contextUserForNewUserCreation?.trim().toLowerCase());
20
- if (!contextUser) {
21
- (0, core_1.LogError)(`Failed to load context user ${config_1.configInfo?.userHandling?.contextUserForNewUserCreation}, if you've not specified this on your config.json you must do so. This is the user that is contextually used for creating a new user record dynamically.`);
22
- return undefined;
23
- }
24
- const u = await md.GetEntityObject('Users', contextUser);
25
- u.NewRecord();
26
- u.Name = email;
27
- u.IsActive = true;
28
- u.FirstName = firstName;
29
- u.LastName = lastName;
30
- u.Email = email;
31
- u.Type = 'User';
32
- u.LinkedRecordType = linkedRecordType;
33
- if (linkedEntityId)
34
- u.LinkedEntityID = linkedEntityId;
35
- if (linkedEntityRecordId)
36
- u.LinkedEntityRecordID = linkedEntityRecordId;
37
- if (await u.Save()) {
38
- const ur = await md.GetEntityObject('User Roles', contextUser);
39
- let bSuccess = true;
40
- for (const role of config_1.configInfo.userHandling.newUserRoles) {
41
- ur.NewRecord();
42
- ur.UserID = u.ID;
43
- ur.RoleName = role;
44
- bSuccess = bSuccess && await ur.Save();
45
- }
46
- if (!bSuccess) {
47
- (0, core_1.LogError)(`Failed to create roles for newly created user ${firstName} ${lastName} ${email}`);
48
- return undefined;
49
- }
50
- }
51
- else {
52
- (0, core_1.LogError)(`Failed to create new user ${firstName} ${lastName} ${email}`);
53
- return undefined;
54
- }
55
- return u;
56
- }
57
- catch (e) {
58
- (0, core_1.LogError)(e);
59
- return undefined;
60
- }
61
- }
62
- };
63
- NewUserBase = NewUserBase_1 = __decorate([
64
- (0, global_1.RegisterClass)(NewUserBase_1)
65
- ], NewUserBase);
66
- exports.NewUserBase = NewUserBase;
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.NewUserBase = void 0;
10
+ const core_1 = require("@memberjunction/core");
11
+ const global_1 = require("@memberjunction/global");
12
+ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
13
+ const config_1 = require("../config");
14
+ let NewUserBase = class NewUserBase {
15
+ async createNewUser(firstName, lastName, email, linkedRecordType = 'None', linkedEntityId, linkedEntityRecordId) {
16
+ try {
17
+ const md = new core_1.Metadata();
18
+ const contextUser = sqlserver_dataprovider_1.UserCache.Instance.Users.find(u => u.Email.trim().toLowerCase() === config_1.configInfo?.userHandling?.contextUserForNewUserCreation?.trim().toLowerCase());
19
+ if (!contextUser) {
20
+ (0, core_1.LogError)(`Failed to load context user ${config_1.configInfo?.userHandling?.contextUserForNewUserCreation}, if you've not specified this on your config.json you must do so. This is the user that is contextually used for creating a new user record dynamically.`);
21
+ return undefined;
22
+ }
23
+ const u = await md.GetEntityObject('Users', contextUser);
24
+ u.NewRecord();
25
+ u.Name = email;
26
+ u.IsActive = true;
27
+ u.FirstName = firstName;
28
+ u.LastName = lastName;
29
+ u.Email = email;
30
+ u.Type = 'User';
31
+ u.LinkedRecordType = linkedRecordType;
32
+ if (linkedEntityId)
33
+ u.LinkedEntityID = linkedEntityId;
34
+ if (linkedEntityRecordId)
35
+ u.LinkedEntityRecordID = linkedEntityRecordId;
36
+ if (await u.Save()) {
37
+ const ur = await md.GetEntityObject('User Roles', contextUser);
38
+ let bSuccess = true;
39
+ for (const role of config_1.configInfo.userHandling.newUserRoles) {
40
+ ur.NewRecord();
41
+ ur.UserID = u.ID;
42
+ ur.RoleName = role;
43
+ bSuccess = bSuccess && await ur.Save();
44
+ }
45
+ if (!bSuccess) {
46
+ (0, core_1.LogError)(`Failed to create roles for newly created user ${firstName} ${lastName} ${email}`);
47
+ return undefined;
48
+ }
49
+ }
50
+ else {
51
+ (0, core_1.LogError)(`Failed to create new user ${firstName} ${lastName} ${email}`);
52
+ return undefined;
53
+ }
54
+ return u;
55
+ }
56
+ catch (e) {
57
+ (0, core_1.LogError)(e);
58
+ return undefined;
59
+ }
60
+ }
61
+ };
62
+ exports.NewUserBase = NewUserBase;
63
+ exports.NewUserBase = NewUserBase = __decorate([
64
+ (0, global_1.RegisterClass)(NewUserBase)
65
+ ], NewUserBase);
67
66
  //# sourceMappingURL=newUsers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"newUsers.js","sourceRoot":"","sources":["../../src/auth/newUsers.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,+CAA0D;AAC1D,mDAAuD;AACvD,mFAAmE;AACnE,sCAAuC;AAIhC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACb,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAE,mBAA2B,MAAM,EAAE,cAAuB,EAAE,oBAA6B;QACpK,IAAI;YACA,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,kCAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,mBAAU,EAAE,YAAY,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;YACtK,IAAI,CAAC,WAAW,EAAE;gBACd,IAAA,eAAQ,EAAC,+BAA+B,mBAAU,EAAE,YAAY,EAAE,6BAA6B,2JAA2J,CAAC,CAAC;gBAC5P,OAAO,SAAS,CAAC;aACpB;YACD,MAAM,CAAC,GAAe,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YACpE,CAAC,CAAC,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YACf,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACtB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACtC,IAAI,cAAc;gBACd,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC;YACtC,IAAI,oBAAoB;gBACpB,CAAC,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;YAElD,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAEhB,MAAM,EAAE,GAAmB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAC/E,IAAI,QAAQ,GAAY,IAAI,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,mBAAU,CAAC,YAAY,CAAC,YAAY,EAAE;oBACrD,EAAE,CAAC,SAAS,EAAE,CAAC;oBACf,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACnB,QAAQ,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;iBAC1C;gBACD,IAAI,CAAC,QAAQ,EAAE;oBACX,IAAA,eAAQ,EAAC,iDAAiD,SAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC5F,OAAO,SAAS,CAAC;iBACpB;aACJ;iBACI;gBACD,IAAA,eAAQ,EAAC,6BAA6B,SAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;gBACxE,OAAO,SAAS,CAAC;aACpB;YACD,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,CAAC,EAAE;YACN,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;CACJ,CAAA;AAjDY,WAAW;IADvB,IAAA,sBAAa,EAAC,aAAW,CAAC;GACd,WAAW,CAiDvB;AAjDY,kCAAW"}
1
+ {"version":3,"file":"newUsers.js","sourceRoot":"","sources":["../../src/auth/newUsers.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAA0D;AAC1D,mDAAuD;AACvD,mFAAmE;AACnE,sCAAuC;AAIhC,IAAM,WAAW,GAAjB,MAAM,WAAW;IACb,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,QAAgB,EAAE,KAAa,EAAE,mBAA2B,MAAM,EAAE,cAAuB,EAAE,oBAA6B;QACpK,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,eAAQ,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,kCAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,mBAAU,EAAE,YAAY,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;YACtK,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,IAAA,eAAQ,EAAC,+BAA+B,mBAAU,EAAE,YAAY,EAAE,6BAA6B,2JAA2J,CAAC,CAAC;gBAC5P,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,CAAC,GAAe,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YACpE,CAAC,CAAC,SAAS,EAAE,CAAC;YACd,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;YACf,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;YACxB,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACtB,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC;YAChB,CAAC,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;YACtC,IAAI,cAAc;gBACd,CAAC,CAAC,cAAc,GAAG,cAAc,CAAC;YACtC,IAAI,oBAAoB;gBACpB,CAAC,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;YAElD,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAEjB,MAAM,EAAE,GAAmB,MAAM,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBAC/E,IAAI,QAAQ,GAAY,IAAI,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,mBAAU,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;oBACtD,EAAE,CAAC,SAAS,EAAE,CAAC;oBACf,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;oBACjB,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACnB,QAAQ,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC3C,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,IAAA,eAAQ,EAAC,iDAAiD,SAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;oBAC5F,OAAO,SAAS,CAAC;gBACrB,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,IAAA,eAAQ,EAAC,6BAA6B,SAAS,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC,CAAC;gBACxE,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;CACJ,CAAA;AAjDY,kCAAW;sBAAX,WAAW;IADvB,IAAA,sBAAa,EAAC,WAAW,CAAC;GACd,WAAW,CAiDvB"}
package/dist/cache.js CHANGED
@@ -1,11 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.authCache = void 0;
4
- const lru_cache_1 = require("lru-cache");
5
- const oneHourMs = 60 * 60 * 1000;
6
- exports.authCache = new lru_cache_1.LRUCache({
7
- max: 50000,
8
- ttl: oneHourMs,
9
- ttlAutopurge: false,
10
- });
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.authCache = void 0;
4
+ const lru_cache_1 = require("lru-cache");
5
+ const oneHourMs = 60 * 60 * 1000;
6
+ exports.authCache = new lru_cache_1.LRUCache({
7
+ max: 50000,
8
+ ttl: oneHourMs,
9
+ ttlAutopurge: false,
10
+ });
11
11
  //# sourceMappingURL=cache.js.map
package/dist/config.js CHANGED
@@ -1,62 +1,63 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadConfig = exports.configInfo = exports.configFile = exports.mj_core_schema = exports.auth0ClientSecret = exports.auth0WebClientID = exports.auth0Domain = exports.userEmailMap = exports.websiteRunFromPackage = exports.enableIntrospection = exports.tenantID = exports.webClientID = exports.graphqlRootPath = exports.graphqlPort = exports.dbTrustServerCertificate = exports.dbInstanceName = exports.dbDatabase = exports.dbPassword = exports.dbUsername = exports.dbPort = exports.dbHost = exports.nodeEnv = void 0;
7
- const env_var_1 = __importDefault(require("env-var"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const path_1 = __importDefault(require("path"));
10
- const zod_1 = require("zod");
11
- exports.nodeEnv = env_var_1.default.get('NODE_ENV').asString();
12
- exports.dbHost = env_var_1.default.get('DB_HOST').required().asString();
13
- exports.dbPort = env_var_1.default.get('DB_PORT').default('1433').asPortNumber();
14
- exports.dbUsername = env_var_1.default.get('DB_USERNAME').required().asString();
15
- exports.dbPassword = env_var_1.default.get('DB_PASSWORD').required().asString();
16
- exports.dbDatabase = env_var_1.default.get('DB_DATABASE').required().asString();
17
- exports.dbInstanceName = env_var_1.default.get('DB_INSTANCE_NAME').asString();
18
- exports.dbTrustServerCertificate = env_var_1.default.get('DB_TRUST_SERVER_CERTIFICATE').asBool();
19
- exports.graphqlPort = env_var_1.default.get('PORT').default('4000').asPortNumber();
20
- exports.graphqlRootPath = env_var_1.default.get('ROOT_PATH').default('/').asString();
21
- exports.webClientID = env_var_1.default.get('WEB_CLIENT_ID').asString();
22
- exports.tenantID = env_var_1.default.get('TENANT_ID').asString();
23
- exports.enableIntrospection = env_var_1.default.get('ENABLE_INTROSPECTION').default('false').asBool();
24
- exports.websiteRunFromPackage = env_var_1.default.get('WEBSITE_RUN_FROM_PACKAGE').asIntPositive();
25
- exports.userEmailMap = env_var_1.default.get('USER_EMAIL_MAP').default('{}').asJsonObject();
26
- exports.auth0Domain = env_var_1.default.get('AUTH0_DOMAIN').asString();
27
- exports.auth0WebClientID = env_var_1.default.get('AUTH0_CLIENT_ID').asString();
28
- exports.auth0ClientSecret = env_var_1.default.get('AUTH0_CLIENT_SECRET').asString();
29
- exports.mj_core_schema = env_var_1.default.get('MJ_CORE_SCHEMA').asString();
30
- exports.configFile = env_var_1.default.get('CONFIG_FILE').asString();
31
- const userHandlingInfoSchema = zod_1.z.object({
32
- autoCreateNewUsers: zod_1.z.boolean().optional().default(false),
33
- newUserAuthorizedDomains: zod_1.z.array(zod_1.z.string()).optional().default([]),
34
- newUserRoles: zod_1.z.array(zod_1.z.string()).optional().default([]),
35
- updateCacheWhenNotFound: zod_1.z.boolean().optional().default(false),
36
- updateCacheWhenNotFoundDelay: zod_1.z.number().optional().default(30000),
37
- contextUserForNewUserCreation: zod_1.z.string().optional().default(''),
38
- });
39
- const databaseSettingsInfoSchema = zod_1.z.object({
40
- connectionTimeout: zod_1.z.number(),
41
- requestTimeout: zod_1.z.number(),
42
- metadataCacheRefreshInterval: zod_1.z.number(),
43
- });
44
- const viewingSystemInfoSchema = zod_1.z.object({
45
- enableSmartFilters: zod_1.z.boolean().optional(),
46
- });
47
- const configInfoSchema = zod_1.z.object({
48
- userHandling: userHandlingInfoSchema,
49
- databaseSettings: databaseSettingsInfoSchema,
50
- viewingSystem: viewingSystemInfoSchema.optional(),
51
- });
52
- exports.configInfo = loadConfig();
53
- function loadConfig() {
54
- const configPath = exports.configFile ?? path_1.default.resolve('config.json');
55
- if (!fs_1.default.existsSync(configPath)) {
56
- throw new Error(`Config file ${configPath} does not exist.`);
57
- }
58
- const configData = fs_1.default.readFileSync(configPath, 'utf-8');
59
- return configInfoSchema.parse(JSON.parse(configData));
60
- }
61
- exports.loadConfig = loadConfig;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.loadConfig = exports.configInfo = exports.configFile = exports.mj_core_schema = exports.auth0ClientSecret = exports.auth0WebClientID = exports.auth0Domain = exports.userEmailMap = exports.websiteRunFromPackage = exports.enableIntrospection = exports.tenantID = exports.webClientID = exports.graphqlRootPath = exports.graphqlPort = exports.dbTrustServerCertificate = exports.dbInstanceName = exports.dbDatabase = exports.dbPassword = exports.dbUsername = exports.dbPort = exports.dbHost = exports.nodeEnv = void 0;
7
+ const env_var_1 = __importDefault(require("env-var"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const path_1 = __importDefault(require("path"));
10
+ const zod_1 = require("zod");
11
+ exports.nodeEnv = env_var_1.default.get('NODE_ENV').asString();
12
+ exports.dbHost = env_var_1.default.get('DB_HOST').required().asString();
13
+ exports.dbPort = env_var_1.default.get('DB_PORT').default('1433').asPortNumber();
14
+ exports.dbUsername = env_var_1.default.get('DB_USERNAME').required().asString();
15
+ exports.dbPassword = env_var_1.default.get('DB_PASSWORD').required().asString();
16
+ exports.dbDatabase = env_var_1.default.get('DB_DATABASE').required().asString();
17
+ exports.dbInstanceName = env_var_1.default.get('DB_INSTANCE_NAME').asString();
18
+ exports.dbTrustServerCertificate = env_var_1.default.get('DB_TRUST_SERVER_CERTIFICATE').asBool();
19
+ exports.graphqlPort = env_var_1.default.get('PORT').default('4000').asPortNumber();
20
+ exports.graphqlRootPath = env_var_1.default.get('ROOT_PATH').default('/').asString();
21
+ exports.webClientID = env_var_1.default.get('WEB_CLIENT_ID').asString();
22
+ exports.tenantID = env_var_1.default.get('TENANT_ID').asString();
23
+ exports.enableIntrospection = env_var_1.default.get('ENABLE_INTROSPECTION').default('false').asBool();
24
+ exports.websiteRunFromPackage = env_var_1.default.get('WEBSITE_RUN_FROM_PACKAGE').asIntPositive();
25
+ exports.userEmailMap = env_var_1.default.get('USER_EMAIL_MAP').default('{}').asJsonObject();
26
+ exports.auth0Domain = env_var_1.default.get('AUTH0_DOMAIN').asString();
27
+ exports.auth0WebClientID = env_var_1.default.get('AUTH0_CLIENT_ID').asString();
28
+ exports.auth0ClientSecret = env_var_1.default.get('AUTH0_CLIENT_SECRET').asString();
29
+ exports.mj_core_schema = env_var_1.default.get('MJ_CORE_SCHEMA').asString();
30
+ exports.configFile = env_var_1.default.get('CONFIG_FILE').asString();
31
+ const userHandlingInfoSchema = zod_1.z.object({
32
+ autoCreateNewUsers: zod_1.z.boolean().optional().default(false),
33
+ newUserLimitedToAuthorizedDomains: zod_1.z.boolean().optional().default(false),
34
+ newUserAuthorizedDomains: zod_1.z.array(zod_1.z.string()).optional().default([]),
35
+ newUserRoles: zod_1.z.array(zod_1.z.string()).optional().default([]),
36
+ updateCacheWhenNotFound: zod_1.z.boolean().optional().default(false),
37
+ updateCacheWhenNotFoundDelay: zod_1.z.number().optional().default(30000),
38
+ contextUserForNewUserCreation: zod_1.z.string().optional().default(''),
39
+ });
40
+ const databaseSettingsInfoSchema = zod_1.z.object({
41
+ connectionTimeout: zod_1.z.number(),
42
+ requestTimeout: zod_1.z.number(),
43
+ metadataCacheRefreshInterval: zod_1.z.number(),
44
+ });
45
+ const viewingSystemInfoSchema = zod_1.z.object({
46
+ enableSmartFilters: zod_1.z.boolean().optional(),
47
+ });
48
+ const configInfoSchema = zod_1.z.object({
49
+ userHandling: userHandlingInfoSchema,
50
+ databaseSettings: databaseSettingsInfoSchema,
51
+ viewingSystem: viewingSystemInfoSchema.optional(),
52
+ });
53
+ exports.configInfo = loadConfig();
54
+ function loadConfig() {
55
+ const configPath = exports.configFile ?? path_1.default.resolve('config.json');
56
+ if (!fs_1.default.existsSync(configPath)) {
57
+ throw new Error(`Config file ${configPath} does not exist.`);
58
+ }
59
+ const configData = fs_1.default.readFileSync(configPath, 'utf-8');
60
+ return configInfoSchema.parse(JSON.parse(configData));
61
+ }
62
+ exports.loadConfig = loadConfig;
62
63
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/context.js CHANGED
@@ -1,102 +1,102 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.contextFunction = exports.getUserPayload = void 0;
27
- const url = __importStar(require("url"));
28
- const jsonwebtoken_1 = require("jsonwebtoken");
29
- require("reflect-metadata");
30
- const rxjs_1 = require("rxjs");
31
- const type_graphql_1 = require("type-graphql");
32
- const auth_1 = require("./auth");
33
- const cache_1 = require("./cache");
34
- const config_1 = require("./config");
35
- const verifyAsync = async (issuer, options, token) => new Promise((resolve, reject) => {
36
- (0, jsonwebtoken_1.verify)(token, (0, auth_1.getSigningKeys)(issuer), options, (err, jwt) => {
37
- if (jwt && typeof jwt !== 'string' && !err) {
38
- const payload = jwt.payload ?? jwt;
39
- console.log(`Valid token: ${payload.name} (${payload.email ? payload.email : payload.preferred_username})`);
40
- resolve(payload);
41
- }
42
- else {
43
- console.warn('Invalid token');
44
- reject(err);
45
- }
46
- });
47
- });
48
- const getUserPayload = async (bearerToken, sessionId = 'default', dataSource, requestDomain) => {
49
- try {
50
- const token = bearerToken.replace('Bearer ', '');
51
- if (!token) {
52
- console.warn('No token to validate');
53
- throw new type_graphql_1.AuthenticationError('Missing token');
54
- }
55
- const payload = (0, jsonwebtoken_1.decode)(token);
56
- if (!payload || typeof payload === 'string') {
57
- throw new type_graphql_1.AuthenticationError('Invalid token payload');
58
- }
59
- if (!cache_1.authCache.has(token)) {
60
- const issuer = payload.iss;
61
- if (!issuer) {
62
- console.warn('No issuer claim on token');
63
- throw new type_graphql_1.AuthenticationError('Missing issuer claim on token');
64
- }
65
- await verifyAsync(issuer, auth_1.validationOptions[issuer], token);
66
- cache_1.authCache.set(token, true);
67
- }
68
- const email = payload?.email
69
- ? config_1.userEmailMap[payload?.email] ?? payload?.email
70
- : payload?.preferred_username;
71
- const fullName = payload?.name;
72
- const firstName = payload?.given_name || fullName?.split(' ')[0];
73
- const lastName = payload?.family_name || fullName?.split(' ')[1] || fullName?.split(' ')[0];
74
- const userRecord = await (0, auth_1.verifyUserRecord)(email, firstName, lastName, requestDomain, dataSource);
75
- if (!userRecord) {
76
- console.error(`User ${email} not found`);
77
- throw new type_graphql_1.AuthorizationError();
78
- }
79
- else if (!userRecord.IsActive) {
80
- console.error(`User ${email} found but inactive`);
81
- throw new type_graphql_1.AuthorizationError();
82
- }
83
- return { userRecord, email, sessionId };
84
- }
85
- catch (e) {
86
- console.error(e);
87
- return {};
88
- }
89
- };
90
- exports.getUserPayload = getUserPayload;
91
- const contextFunction = ({ setupComplete$, dataSource }) => async ({ req }) => {
92
- await (0, rxjs_1.firstValueFrom)(setupComplete$);
93
- const sessionIdRaw = req.headers['x-session-id'];
94
- const requestDomain = url.parse(req.headers.origin || '');
95
- const sessionId = sessionIdRaw ? sessionIdRaw.toString() : '';
96
- const bearerToken = req.headers.authorization ?? '';
97
- const userPayload = await (0, exports.getUserPayload)(bearerToken, sessionId, dataSource, requestDomain?.hostname ? requestDomain.hostname : undefined);
98
- console.log(req.body?.operationName);
99
- return { dataSource, userPayload };
100
- };
101
- exports.contextFunction = contextFunction;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.contextFunction = exports.getUserPayload = void 0;
27
+ const url = __importStar(require("url"));
28
+ const jsonwebtoken_1 = require("jsonwebtoken");
29
+ require("reflect-metadata");
30
+ const rxjs_1 = require("rxjs");
31
+ const type_graphql_1 = require("type-graphql");
32
+ const auth_1 = require("./auth");
33
+ const cache_1 = require("./cache");
34
+ const config_1 = require("./config");
35
+ const verifyAsync = async (issuer, options, token) => new Promise((resolve, reject) => {
36
+ (0, jsonwebtoken_1.verify)(token, (0, auth_1.getSigningKeys)(issuer), options, (err, jwt) => {
37
+ if (jwt && typeof jwt !== 'string' && !err) {
38
+ const payload = jwt.payload ?? jwt;
39
+ console.log(`Valid token: ${payload.name} (${payload.email ? payload.email : payload.preferred_username})`);
40
+ resolve(payload);
41
+ }
42
+ else {
43
+ console.warn('Invalid token');
44
+ reject(err);
45
+ }
46
+ });
47
+ });
48
+ const getUserPayload = async (bearerToken, sessionId = 'default', dataSource, requestDomain) => {
49
+ try {
50
+ const token = bearerToken.replace('Bearer ', '');
51
+ if (!token) {
52
+ console.warn('No token to validate');
53
+ throw new type_graphql_1.AuthenticationError('Missing token');
54
+ }
55
+ const payload = (0, jsonwebtoken_1.decode)(token);
56
+ if (!payload || typeof payload === 'string') {
57
+ throw new type_graphql_1.AuthenticationError('Invalid token payload');
58
+ }
59
+ if (!cache_1.authCache.has(token)) {
60
+ const issuer = payload.iss;
61
+ if (!issuer) {
62
+ console.warn('No issuer claim on token');
63
+ throw new type_graphql_1.AuthenticationError('Missing issuer claim on token');
64
+ }
65
+ await verifyAsync(issuer, auth_1.validationOptions[issuer], token);
66
+ cache_1.authCache.set(token, true);
67
+ }
68
+ const email = payload?.email
69
+ ? config_1.userEmailMap[payload?.email] ?? payload?.email
70
+ : payload?.preferred_username;
71
+ const fullName = payload?.name;
72
+ const firstName = payload?.given_name || fullName?.split(' ')[0];
73
+ const lastName = payload?.family_name || fullName?.split(' ')[1] || fullName?.split(' ')[0];
74
+ const userRecord = await (0, auth_1.verifyUserRecord)(email, firstName, lastName, requestDomain, dataSource);
75
+ if (!userRecord) {
76
+ console.error(`User ${email} not found`);
77
+ throw new type_graphql_1.AuthorizationError();
78
+ }
79
+ else if (!userRecord.IsActive) {
80
+ console.error(`User ${email} found but inactive`);
81
+ throw new type_graphql_1.AuthorizationError();
82
+ }
83
+ return { userRecord, email, sessionId };
84
+ }
85
+ catch (e) {
86
+ console.error(e);
87
+ return {};
88
+ }
89
+ };
90
+ exports.getUserPayload = getUserPayload;
91
+ const contextFunction = ({ setupComplete$, dataSource }) => async ({ req }) => {
92
+ await (0, rxjs_1.firstValueFrom)(setupComplete$);
93
+ const sessionIdRaw = req.headers['x-session-id'];
94
+ const requestDomain = url.parse(req.headers.origin || '');
95
+ const sessionId = sessionIdRaw ? sessionIdRaw.toString() : '';
96
+ const bearerToken = req.headers.authorization ?? '';
97
+ const userPayload = await (0, exports.getUserPayload)(bearerToken, sessionId, dataSource, requestDomain?.hostname ? requestDomain.hostname : undefined);
98
+ console.log(req.body?.operationName);
99
+ return { dataSource, userPayload };
100
+ };
101
+ exports.contextFunction = contextFunction;
102
102
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
@@ -1,34 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publicDirective = exports.Public = void 0;
4
- const utils_1 = require("@graphql-tools/utils");
5
- const graphql_1 = require("graphql");
6
- const type_graphql_1 = require("type-graphql");
7
- const DIRECTIVE_NAME = 'Public';
8
- function Public() {
9
- return (targetOrPrototype, propertyKey, descriptor) => (0, type_graphql_1.Directive)(`@${DIRECTIVE_NAME}`)(targetOrPrototype, propertyKey, descriptor);
10
- }
11
- exports.Public = Public;
12
- exports.publicDirective = {
13
- typeDefs: `directive @${DIRECTIVE_NAME} on FIELD_DEFINITION`,
14
- transformer: (schema) => {
15
- const fieldMapper = (fieldConfig) => {
16
- const directive = (0, utils_1.getDirective)(schema, fieldConfig, DIRECTIVE_NAME)?.[0];
17
- if (directive) {
18
- return fieldConfig;
19
- }
20
- else {
21
- const { resolve = graphql_1.defaultFieldResolver } = fieldConfig;
22
- const directiveResolver = async (source, args, context, info) => {
23
- if (!context?.userPayload?.userRecord?.IsActive) {
24
- throw new type_graphql_1.AuthorizationError();
25
- }
26
- return await resolve(source, args, context, info);
27
- };
28
- return { ...fieldConfig, resolve: directiveResolver };
29
- }
30
- };
31
- return (0, utils_1.mapSchema)(schema, { [utils_1.MapperKind.OBJECT_FIELD]: fieldMapper });
32
- },
33
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.publicDirective = exports.Public = void 0;
4
+ const utils_1 = require("@graphql-tools/utils");
5
+ const graphql_1 = require("graphql");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const DIRECTIVE_NAME = 'Public';
8
+ function Public() {
9
+ return (targetOrPrototype, propertyKey, descriptor) => (0, type_graphql_1.Directive)(`@${DIRECTIVE_NAME}`)(targetOrPrototype, propertyKey, descriptor);
10
+ }
11
+ exports.Public = Public;
12
+ exports.publicDirective = {
13
+ typeDefs: `directive @${DIRECTIVE_NAME} on FIELD_DEFINITION`,
14
+ transformer: (schema) => {
15
+ const fieldMapper = (fieldConfig) => {
16
+ const directive = (0, utils_1.getDirective)(schema, fieldConfig, DIRECTIVE_NAME)?.[0];
17
+ if (directive) {
18
+ return fieldConfig;
19
+ }
20
+ else {
21
+ const { resolve = graphql_1.defaultFieldResolver } = fieldConfig;
22
+ const directiveResolver = async (source, args, context, info) => {
23
+ if (!context?.userPayload?.userRecord?.IsActive) {
24
+ throw new type_graphql_1.AuthorizationError();
25
+ }
26
+ return await resolve(source, args, context, info);
27
+ };
28
+ return { ...fieldConfig, resolve: directiveResolver };
29
+ }
30
+ };
31
+ return (0, utils_1.mapSchema)(schema, { [utils_1.MapperKind.OBJECT_FIELD]: fieldMapper });
32
+ },
33
+ };
34
34
  //# sourceMappingURL=Public.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Public.js","sourceRoot":"","sources":["../../src/directives/Public.ts"],"names":[],"mappings":";;;AAAA,gDAAwF;AACxF,qCAAqE;AACrE,+CAA6D;AAG7D,MAAM,cAAc,GAAG,QAAQ,CAAC;AAGhC,SAAgB,MAAM;IACpB,OAAO,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CACpD,IAAA,wBAAS,EAAC,IAAI,cAAc,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAHD,wBAGC;AAEY,QAAA,eAAe,GAAqB;IAC/C,QAAQ,EAAE,cAAc,cAAc,sBAAsB;IAC5D,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;QACtB,MAAM,WAAW,GAAgB,CAAC,WAAW,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS,EAAE;gBACb,OAAO,WAAW,CAAC;aACpB;iBAAM;gBAEL,MAAM,EAAE,OAAO,GAAG,8BAAoB,EAAE,GAAG,WAAW,CAAC;gBACvD,MAAM,iBAAiB,GAA8C,KAAK,EACxE,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,EAAE;oBAEF,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE;wBAC/C,MAAM,IAAI,iCAAkB,EAAE,CAAC;qBAChC;oBACD,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpD,CAAC,CAAC;gBAEF,OAAO,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;aACvD;QACH,CAAC,CAAC;QACF,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,kBAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"Public.js","sourceRoot":"","sources":["../../src/directives/Public.ts"],"names":[],"mappings":";;;AAAA,gDAAwF;AACxF,qCAAqE;AACrE,+CAA6D;AAG7D,MAAM,cAAc,GAAG,QAAQ,CAAC;AAGhC,SAAgB,MAAM;IACpB,OAAO,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,CACpD,IAAA,wBAAS,EAAC,IAAI,cAAc,EAAE,CAAC,CAAC,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAChF,CAAC;AAHD,wBAGC;AAEY,QAAA,eAAe,GAAqB;IAC/C,QAAQ,EAAE,cAAc,cAAc,sBAAsB;IAC5D,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;QACtB,MAAM,WAAW,GAAgB,CAAC,WAAW,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,WAAW,CAAC;YACrB,CAAC;iBAAM,CAAC;gBAEN,MAAM,EAAE,OAAO,GAAG,8BAAoB,EAAE,GAAG,WAAW,CAAC;gBACvD,MAAM,iBAAiB,GAA8C,KAAK,EACxE,MAAM,EACN,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,EAAE;oBAEF,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;wBAChD,MAAM,IAAI,iCAAkB,EAAE,CAAC;oBACjC,CAAC;oBACD,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBACpD,CAAC,CAAC;gBAEF,OAAO,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;QACF,OAAO,IAAA,iBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,kBAAU,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IACvE,CAAC;CACF,CAAC"}