@memberjunction/server 0.9.236 → 0.9.237

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 (118) hide show
  1. package/build.log.json +3 -0
  2. package/dist/apolloServer/TransactionPlugin.d.ts +4 -0
  3. package/dist/apolloServer/TransactionPlugin.d.ts.map +1 -0
  4. package/dist/apolloServer/TransactionPlugin.js +49 -0
  5. package/dist/apolloServer/TransactionPlugin.js.map +1 -0
  6. package/dist/apolloServer/index.d.ts +11 -0
  7. package/dist/apolloServer/index.d.ts.map +1 -0
  8. package/dist/apolloServer/index.js +27 -0
  9. package/dist/apolloServer/index.js.map +1 -0
  10. package/dist/auth/exampleNewUserSubClass.d.ts +6 -0
  11. package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -0
  12. package/dist/auth/exampleNewUserSubClass.js +54 -0
  13. package/dist/auth/exampleNewUserSubClass.js.map +1 -0
  14. package/dist/auth/index.d.ts +30 -0
  15. package/dist/auth/index.d.ts.map +1 -0
  16. package/dist/auth/index.js +129 -0
  17. package/dist/auth/index.js.map +1 -0
  18. package/dist/auth/newUsers.d.ts +5 -0
  19. package/dist/auth/newUsers.d.ts.map +1 -0
  20. package/dist/auth/newUsers.js +66 -0
  21. package/dist/auth/newUsers.js.map +1 -0
  22. package/dist/auth/tokenExpiredError.d.ts +5 -0
  23. package/dist/auth/tokenExpiredError.d.ts.map +1 -0
  24. package/dist/auth/tokenExpiredError.js +16 -0
  25. package/dist/auth/tokenExpiredError.js.map +1 -0
  26. package/dist/cache.d.ts +3 -0
  27. package/dist/cache.d.ts.map +1 -0
  28. package/dist/cache.js +11 -0
  29. package/dist/cache.js.map +1 -0
  30. package/dist/config.d.ts +193 -0
  31. package/dist/config.d.ts.map +1 -0
  32. package/dist/config.js +69 -0
  33. package/dist/config.js.map +1 -0
  34. package/dist/context.d.ts +17 -0
  35. package/dist/context.d.ts.map +1 -0
  36. package/dist/context.js +111 -0
  37. package/dist/context.js.map +1 -0
  38. package/dist/directives/Public.d.ts +4 -0
  39. package/dist/directives/Public.d.ts.map +1 -0
  40. package/dist/directives/Public.js +34 -0
  41. package/dist/directives/Public.js.map +1 -0
  42. package/dist/directives/index.d.ts +2 -0
  43. package/dist/directives/index.d.ts.map +1 -0
  44. package/dist/directives/index.js +18 -0
  45. package/dist/directives/index.js.map +1 -0
  46. package/dist/entitySubclasses/userViewEntity.server.d.ts +12 -0
  47. package/dist/generated/generated.d.ts +4293 -0
  48. package/dist/generated/generated.js +24401 -0
  49. package/dist/generated/generated.js.map +1 -0
  50. package/dist/generic/PushStatusResolver.d.ts +14 -0
  51. package/dist/generic/PushStatusResolver.d.ts.map +1 -0
  52. package/dist/generic/PushStatusResolver.js +58 -0
  53. package/dist/generic/PushStatusResolver.js.map +1 -0
  54. package/dist/generic/ResolverBase.d.ts +25 -0
  55. package/dist/generic/ResolverBase.d.ts.map +1 -0
  56. package/dist/generic/ResolverBase.js +232 -0
  57. package/dist/generic/ResolverBase.js.map +1 -0
  58. package/dist/generic/RunViewResolver.d.ts +82 -0
  59. package/dist/generic/RunViewResolver.d.ts.map +1 -0
  60. package/dist/generic/RunViewResolver.js +401 -0
  61. package/dist/generic/RunViewResolver.js.map +1 -0
  62. package/dist/index.d.ts +22 -0
  63. package/dist/index.js +135 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/orm.d.ts +4 -0
  66. package/dist/orm.d.ts.map +1 -0
  67. package/dist/orm.js +34 -0
  68. package/dist/orm.js.map +1 -0
  69. package/dist/resolvers/AskSkipResolver.d.ts +57 -0
  70. package/dist/resolvers/ColorResolver.d.ts +22 -0
  71. package/dist/resolvers/ColorResolver.js +94 -0
  72. package/dist/resolvers/ColorResolver.js.map +1 -0
  73. package/dist/resolvers/DatasetResolver.d.ts +42 -0
  74. package/dist/resolvers/DatasetResolver.d.ts.map +1 -0
  75. package/dist/resolvers/DatasetResolver.js +168 -0
  76. package/dist/resolvers/DatasetResolver.js.map +1 -0
  77. package/dist/resolvers/EntityRecordNameResolver.d.ts +20 -0
  78. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -0
  79. package/dist/resolvers/EntityRecordNameResolver.js +112 -0
  80. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -0
  81. package/dist/resolvers/EntityResolver.d.ts +6 -0
  82. package/dist/resolvers/EntityResolver.js +60 -0
  83. package/dist/resolvers/EntityResolver.js.map +1 -0
  84. package/dist/resolvers/MergeRecordsResolver.d.ts +66 -0
  85. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -0
  86. package/dist/resolvers/MergeRecordsResolver.js +283 -0
  87. package/dist/resolvers/MergeRecordsResolver.js.map +1 -0
  88. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +22 -0
  89. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -0
  90. package/dist/resolvers/PotentialDuplicateRecordResolver.js +97 -0
  91. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -0
  92. package/dist/resolvers/QueryResolver.d.ts +13 -0
  93. package/dist/resolvers/QueryResolver.d.ts.map +1 -0
  94. package/dist/resolvers/QueryResolver.js +74 -0
  95. package/dist/resolvers/QueryResolver.js.map +1 -0
  96. package/dist/resolvers/ReportResolver.d.ts +20 -0
  97. package/dist/resolvers/ReportResolver.d.ts.map +1 -0
  98. package/dist/resolvers/ReportResolver.js +160 -0
  99. package/dist/resolvers/ReportResolver.js.map +1 -0
  100. package/dist/resolvers/UserFavoriteResolver.d.ts +41 -0
  101. package/dist/resolvers/UserFavoriteResolver.js +162 -0
  102. package/dist/resolvers/UserFavoriteResolver.js.map +1 -0
  103. package/dist/resolvers/UserResolver.d.ts +10 -0
  104. package/dist/resolvers/UserResolver.js +70 -0
  105. package/dist/resolvers/UserResolver.js.map +1 -0
  106. package/dist/resolvers/UserViewResolver.d.ts +13 -0
  107. package/dist/resolvers/UserViewResolver.js +102 -0
  108. package/dist/resolvers/UserViewResolver.js.map +1 -0
  109. package/dist/types.d.ts +17 -0
  110. package/dist/types.d.ts.map +1 -0
  111. package/dist/types.js +3 -0
  112. package/dist/types.js.map +1 -0
  113. package/dist/util.d.ts +4 -0
  114. package/dist/util.d.ts.map +1 -0
  115. package/dist/util.js +89 -0
  116. package/dist/util.js.map +1 -0
  117. package/package.json +2 -2
  118. package/tsconfig.json +2 -1
@@ -0,0 +1,14 @@
1
+ export declare const PUSH_STATUS_UPDATES_TOPIC = "PUSH_STATUS_UPDATES";
2
+ export declare class PushStatusNotification {
3
+ message?: string;
4
+ date: Date;
5
+ sessionId: string;
6
+ }
7
+ export interface PushStatusNotificationPayload {
8
+ message?: string;
9
+ sessionId: string;
10
+ }
11
+ export declare class PushStatusResolver {
12
+ statusUpdates({ message }: PushStatusNotificationPayload, sessionId: string): PushStatusNotification;
13
+ }
14
+ //# sourceMappingURL=PushStatusResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushStatusResolver.d.ts","sourceRoot":"","sources":["../../src/generic/PushStatusResolver.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAE/D,qBACa,sBAAsB;IAEjC,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAG,IAAI,CAAC;IAGZ,SAAS,EAAG,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,qBACa,kBAAkB;IAO7B,aAAa,CACH,EAAE,OAAO,EAAE,EAAE,6BAA6B,EAClB,SAAS,EAAE,MAAM,GAChD,sBAAsB;CAG1B"}
@@ -0,0 +1,58 @@
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.PushStatusResolver = exports.PushStatusNotification = exports.PUSH_STATUS_UPDATES_TOPIC = void 0;
16
+ const type_graphql_1 = require("type-graphql");
17
+ exports.PUSH_STATUS_UPDATES_TOPIC = 'PUSH_STATUS_UPDATES';
18
+ let PushStatusNotification = class PushStatusNotification {
19
+ };
20
+ exports.PushStatusNotification = PushStatusNotification;
21
+ __decorate([
22
+ (0, type_graphql_1.Field)(() => String, { nullable: true }),
23
+ __metadata("design:type", String)
24
+ ], PushStatusNotification.prototype, "message", void 0);
25
+ __decorate([
26
+ (0, type_graphql_1.Field)((_type) => Date),
27
+ __metadata("design:type", Date)
28
+ ], PushStatusNotification.prototype, "date", void 0);
29
+ __decorate([
30
+ (0, type_graphql_1.Field)((_type) => type_graphql_1.ID),
31
+ __metadata("design:type", String)
32
+ ], PushStatusNotification.prototype, "sessionId", void 0);
33
+ exports.PushStatusNotification = PushStatusNotification = __decorate([
34
+ (0, type_graphql_1.ObjectType)()
35
+ ], PushStatusNotification);
36
+ let PushStatusResolver = class PushStatusResolver {
37
+ statusUpdates({ message }, sessionId) {
38
+ return { message, date: new Date(), sessionId };
39
+ }
40
+ };
41
+ exports.PushStatusResolver = PushStatusResolver;
42
+ __decorate([
43
+ (0, type_graphql_1.Subscription)(() => PushStatusNotification, {
44
+ topics: exports.PUSH_STATUS_UPDATES_TOPIC,
45
+ filter: ({ payload, args, context }) => {
46
+ return payload.sessionId === args.sessionId;
47
+ },
48
+ }),
49
+ __param(0, (0, type_graphql_1.Root)()),
50
+ __param(1, (0, type_graphql_1.Arg)('sessionId', () => String)),
51
+ __metadata("design:type", Function),
52
+ __metadata("design:paramtypes", [Object, String]),
53
+ __metadata("design:returntype", PushStatusNotification)
54
+ ], PushStatusResolver.prototype, "statusUpdates", null);
55
+ exports.PushStatusResolver = PushStatusResolver = __decorate([
56
+ (0, type_graphql_1.Resolver)()
57
+ ], PushStatusResolver);
58
+ //# sourceMappingURL=PushStatusResolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushStatusResolver.js","sourceRoot":"","sources":["../../src/generic/PushStatusResolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+CAA4G;AAE/F,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAGxD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;CASlC,CAAA;AATY,wDAAsB;AAEjC;IADC,IAAA,oBAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uDACvB;AAGjB;IADC,IAAA,oBAAK,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC;8BAChB,IAAI;oDAAC;AAGZ;IADC,IAAA,oBAAK,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAE,CAAC;;yDACF;iCARR,sBAAsB;IADlC,IAAA,yBAAU,GAAE;GACA,sBAAsB,CASlC;AAYM,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAO7B,aAAa,CACH,EAAE,OAAO,EAAiC,EAClB,SAAiB;QAEjD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;CACF,CAAA;AAbY,gDAAkB;AAO7B;IANC,IAAA,2BAAY,EAAC,GAAG,EAAE,CAAC,sBAAsB,EAAE;QAC1C,MAAM,EAAE,iCAAyB;QACjC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAsF,EAAE,EAAE;YACzH,OAAO,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAAC;QAC9C,CAAC;KACF,CAAC;IAEC,WAAA,IAAA,mBAAI,GAAE,CAAA;IACN,WAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAA;;;oCAC9B,sBAAsB;uDAExB;6BAZU,kBAAkB;IAD9B,IAAA,uBAAQ,GAAE;GACE,kBAAkB,CAa9B"}
@@ -0,0 +1,25 @@
1
+ import { EntityPermissionType, UserInfo } from '@memberjunction/core';
2
+ import { UserViewEntity } from '@memberjunction/core-entities';
3
+ import { PubSubEngine } from 'type-graphql';
4
+ import { DataSource } from 'typeorm';
5
+ import { UserPayload } from '../types';
6
+ import { RunDynamicViewInput, RunViewByIDInput, RunViewByNameInput } from './RunViewResolver';
7
+ export declare class ResolverBase {
8
+ protected MapFieldNamesToCodeNames(entityName: string, dataObject: any): any;
9
+ protected ArrayMapFieldNamesToCodeNames(entityName: string, dataObjectArray: []): [];
10
+ protected findBy(dataSource: DataSource, entity: string, params: any): Promise<any>;
11
+ RunViewByNameGeneric(viewInput: RunViewByNameInput, dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<import("@memberjunction/core").RunViewResult>;
12
+ RunViewByIDGeneric(viewInput: RunViewByIDInput, dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<import("@memberjunction/core").RunViewResult>;
13
+ RunDynamicViewGeneric(viewInput: RunDynamicViewInput, dataSource: DataSource, userPayload: UserPayload, pubSub: PubSubEngine): Promise<import("@memberjunction/core").RunViewResult>;
14
+ protected CheckUserReadPermissions(entityName: string, userPayload: UserPayload | null): void;
15
+ protected RunViewGenericInternal(viewInfo: UserViewEntity, dataSource: DataSource, extraFilter: string, orderBy: string, userSearchString: string, excludeUserViewRunID: number | undefined, overrideExcludeFilter: string | undefined, saveViewResults: boolean | undefined, fields: string[] | undefined, ignoreMaxRows: boolean | undefined, excludeDataFromAllPriorViewRuns: boolean | undefined, forceAuditLog: boolean | undefined, auditLogDescription: string | undefined, userPayload: UserPayload | null, pubSub: PubSubEngine): Promise<import("@memberjunction/core").RunViewResult>;
16
+ protected createRecordAccessAuditLogRecord(userPayload: UserPayload, entityName: string, recordId: any): Promise<any>;
17
+ protected getRowLevelSecurityWhereClause(entityName: string, userPayload: UserPayload, type: EntityPermissionType, returnPrefix: string): string;
18
+ protected createAuditLogRecord(userPayload: UserPayload, authorizationName: string | null, auditLogTypeName: string, status: string, details: string | null, entityId: number, recordId: any | null): Promise<any>;
19
+ protected safeFirstArrayElement(arr: any[]): any;
20
+ protected packageSPParam(paramValue: any, quoteString: string): string;
21
+ protected GetUserFromEmail(email: string): UserInfo | undefined;
22
+ protected GetUserFromPayload(userPayload: UserPayload): UserInfo | undefined;
23
+ get MJCoreSchema(): string;
24
+ }
25
+ //# sourceMappingURL=ResolverBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolverBase.d.ts","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAqB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAkB,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE9F,qBAAa,YAAY;IAEvB,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG;IAsBtE,SAAS,CAAC,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE;cAU/D,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAsBpE,oBAAoB,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;IA0B1H,kBAAkB,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;IA0BtH,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;IAoClI,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;cAetE,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,MAAM,GAAG,SAAS,EACxC,qBAAqB,EAAE,MAAM,GAAG,SAAS,EACzC,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAC5B,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,+BAA+B,EAAE,OAAO,GAAG,SAAS,EACpD,aAAa,EAAE,OAAO,GAAG,SAAS,EAClC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,WAAW,EAAE,WAAW,GAAG,IAAI,EAC/B,MAAM,EAAE,YAAY;cAuCN,gCAAgC,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAqB3H,SAAS,CAAC,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM;cAUvH,oBAAoB,CAClC,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,EAChC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,GAAG,IAAI,GACnB,OAAO,CAAC,GAAG,CAAC;IA8Bf,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE;IAO1C,SAAS,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM;IAI7D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAI/D,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS;IAO5E,IAAW,YAAY,IAAI,MAAM,CAEhC;CACF"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolverBase = void 0;
4
+ const core_1 = require("@memberjunction/core");
5
+ const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
6
+ class ResolverBase {
7
+ MapFieldNamesToCodeNames(entityName, dataObject) {
8
+ if (dataObject) {
9
+ const md = new core_1.Metadata();
10
+ const entityInfo = md.Entities.find((e) => e.Name === entityName);
11
+ if (!entityInfo)
12
+ throw new Error(`Entity ${entityName} not found in metadata`);
13
+ const fields = entityInfo.Fields.filter((f) => f.Name !== f.CodeName);
14
+ fields.forEach((f) => {
15
+ if (dataObject.hasOwnProperty(f.Name)) {
16
+ dataObject[f.CodeName] = dataObject[f.Name];
17
+ delete dataObject[f.Name];
18
+ }
19
+ });
20
+ }
21
+ return dataObject;
22
+ }
23
+ ArrayMapFieldNamesToCodeNames(entityName, dataObjectArray) {
24
+ if (dataObjectArray && dataObjectArray.length > 0) {
25
+ dataObjectArray.forEach((element) => {
26
+ this.MapFieldNamesToCodeNames(entityName, element);
27
+ });
28
+ }
29
+ return dataObjectArray;
30
+ }
31
+ async findBy(dataSource, entity, params) {
32
+ const md = new core_1.Metadata();
33
+ const e = md.Entities.find((e) => e.Name === entity);
34
+ if (!e)
35
+ throw new Error(`Entity ${entity} not found in metadata`);
36
+ let sql = `SELECT * FROM ${e.SchemaName}.${e.BaseView} WHERE `;
37
+ const keys = Object.keys(params);
38
+ keys.forEach((k, i) => {
39
+ if (i > 0)
40
+ sql += ' AND ';
41
+ const field = e.Fields.find((f) => f.Name === k);
42
+ if (!field)
43
+ throw new Error(`Field ${k} not found in entity ${entity}`);
44
+ const quotes = field.NeedsQuotes ? "'" : '';
45
+ sql += `${k} = ${quotes}${params[k]}${quotes}`;
46
+ });
47
+ const result = await dataSource.query(sql);
48
+ return result;
49
+ }
50
+ async RunViewByNameGeneric(viewInput, dataSource, userPayload, pubSub) {
51
+ try {
52
+ const viewInfo = this.safeFirstArrayElement(await this.findBy(dataSource, 'User Views', { Name: viewInput.ViewName }));
53
+ ;
54
+ return this.RunViewGenericInternal(viewInfo, dataSource, viewInput.ExtraFilter, viewInput.OrderBy, viewInput.UserSearchString, viewInput.ExcludeUserViewRunID, viewInput.OverrideExcludeFilter, viewInput.SaveViewResults, viewInput.Fields, viewInput.IgnoreMaxRows, viewInput.ExcludeDataFromAllPriorViewRuns, viewInput.ForceAuditLog, viewInput.AuditLogDescription, userPayload, pubSub);
55
+ }
56
+ catch (err) {
57
+ console.log(err);
58
+ return null;
59
+ }
60
+ }
61
+ async RunViewByIDGeneric(viewInput, dataSource, userPayload, pubSub) {
62
+ try {
63
+ const viewInfo = this.safeFirstArrayElement(await this.findBy(dataSource, 'User Views', { ID: viewInput.ViewID }));
64
+ return this.RunViewGenericInternal(viewInfo, dataSource, viewInput.ExtraFilter, viewInput.OrderBy, viewInput.UserSearchString, viewInput.ExcludeUserViewRunID, viewInput.OverrideExcludeFilter, viewInput.SaveViewResults, viewInput.Fields, viewInput.IgnoreMaxRows, viewInput.ExcludeDataFromAllPriorViewRuns, viewInput.ForceAuditLog, viewInput.AuditLogDescription, userPayload, pubSub);
65
+ }
66
+ catch (err) {
67
+ console.log(err);
68
+ return null;
69
+ }
70
+ }
71
+ async RunDynamicViewGeneric(viewInput, dataSource, userPayload, pubSub) {
72
+ try {
73
+ const md = new core_1.Metadata();
74
+ const entity = md.Entities.find((e) => e.Name === viewInput.EntityName);
75
+ if (!entity)
76
+ throw new Error(`Entity ${viewInput.EntityName} not found in metadata`);
77
+ const viewInfo = {
78
+ ID: -1,
79
+ Entity: viewInput.EntityName,
80
+ EntityID: entity.ID,
81
+ EntityBaseView: entity.BaseView,
82
+ };
83
+ return this.RunViewGenericInternal(viewInfo, dataSource, viewInput.ExtraFilter, viewInput.OrderBy, viewInput.UserSearchString, viewInput.ExcludeUserViewRunID, viewInput.OverrideExcludeFilter, false, viewInput.Fields, viewInput.IgnoreMaxRows, false, viewInput.ForceAuditLog, viewInput.AuditLogDescription, userPayload, pubSub);
84
+ }
85
+ catch (err) {
86
+ console.log(err);
87
+ return null;
88
+ }
89
+ }
90
+ CheckUserReadPermissions(entityName, userPayload) {
91
+ const md = new core_1.Metadata();
92
+ const entityInfo = md.Entities.find((e) => e.Name === entityName);
93
+ if (!userPayload)
94
+ throw new Error(`userPayload is null`);
95
+ if (entityInfo) {
96
+ const userInfo = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload.email.toLowerCase().trim());
97
+ if (!userInfo)
98
+ throw new Error(`User ${userPayload.email} not found in metadata`);
99
+ const userPermissions = entityInfo.GetUserPermisions(userInfo);
100
+ if (!userPermissions.CanRead)
101
+ throw new Error(`User ${userPayload.email} does not have read permissions on ${entityInfo.Name}`);
102
+ }
103
+ else
104
+ throw new Error(`Entity not found in metadata`);
105
+ }
106
+ async RunViewGenericInternal(viewInfo, dataSource, extraFilter, orderBy, userSearchString, excludeUserViewRunID, overrideExcludeFilter, saveViewResults, fields, ignoreMaxRows, excludeDataFromAllPriorViewRuns, forceAuditLog, auditLogDescription, userPayload, pubSub) {
107
+ try {
108
+ if (viewInfo && userPayload) {
109
+ const md = new core_1.Metadata();
110
+ const user = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload?.email.toLowerCase().trim());
111
+ if (!user)
112
+ throw new Error(`User ${userPayload?.email} not found in metadata`);
113
+ const entityInfo = md.Entities.find((e) => e.Name === viewInfo.Entity);
114
+ if (!entityInfo)
115
+ throw new Error(`Entity ${viewInfo.Entity} not found in metadata`);
116
+ const rv = new core_1.RunView();
117
+ const result = await rv.RunView({
118
+ ViewID: viewInfo.ID,
119
+ ViewName: viewInfo.Name,
120
+ EntityName: viewInfo.Entity,
121
+ ExtraFilter: extraFilter,
122
+ OrderBy: orderBy,
123
+ Fields: fields,
124
+ UserSearchString: userSearchString,
125
+ ExcludeUserViewRunID: excludeUserViewRunID,
126
+ OverrideExcludeFilter: overrideExcludeFilter,
127
+ SaveViewResults: saveViewResults,
128
+ ExcludeDataFromAllPriorViewRuns: excludeDataFromAllPriorViewRuns,
129
+ IgnoreMaxRows: ignoreMaxRows,
130
+ ForceAuditLog: forceAuditLog,
131
+ AuditLogDescription: auditLogDescription,
132
+ }, user);
133
+ return result;
134
+ }
135
+ else
136
+ return null;
137
+ }
138
+ catch (err) {
139
+ console.log(err);
140
+ throw err;
141
+ }
142
+ }
143
+ async createRecordAccessAuditLogRecord(userPayload, entityName, recordId) {
144
+ try {
145
+ const md = new core_1.Metadata();
146
+ const entityInfo = md.Entities.find((e) => e.Name.trim().toLowerCase() === entityName.trim().toLowerCase());
147
+ if (!entityInfo)
148
+ throw new Error(`Entity ${entityName} not found in metadata`);
149
+ if (entityInfo.AuditRecordAccess) {
150
+ const userInfo = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload?.email.toLowerCase().trim());
151
+ const auditLogTypeName = 'Record Accessed';
152
+ const auditLogType = md.AuditLogTypes.find((a) => a.Name.trim().toLowerCase() === auditLogTypeName.trim().toLowerCase());
153
+ if (!userInfo)
154
+ throw new Error(`User ${userPayload?.email} not found in metadata`);
155
+ if (!auditLogType)
156
+ throw new Error(`Audit Log Type ${auditLogTypeName} not found in metadata`);
157
+ return await this.createAuditLogRecord(userPayload, null, auditLogTypeName, 'Success', null, entityInfo.ID, recordId);
158
+ }
159
+ }
160
+ catch (e) {
161
+ console.log(e);
162
+ }
163
+ }
164
+ getRowLevelSecurityWhereClause(entityName, userPayload, type, returnPrefix) {
165
+ const md = new core_1.Metadata();
166
+ const entityInfo = md.Entities.find((e) => e.Name.trim().toLowerCase() === entityName.trim().toLowerCase());
167
+ if (!entityInfo)
168
+ throw new Error(`Entity ${entityName} not found in metadata`);
169
+ const user = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload?.email.toLowerCase().trim());
170
+ if (!user)
171
+ throw new Error(`User ${userPayload?.email} not found in metadata`);
172
+ return entityInfo.GetUserRowLevelSecurityWhereClause(user, type, returnPrefix);
173
+ }
174
+ async createAuditLogRecord(userPayload, authorizationName, auditLogTypeName, status, details, entityId, recordId) {
175
+ try {
176
+ const md = new core_1.Metadata();
177
+ const userInfo = sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload?.email.toLowerCase().trim());
178
+ const authorization = authorizationName
179
+ ? md.Authorizations.find((a) => a.Name.trim().toLowerCase() === authorizationName.trim().toLowerCase())
180
+ : null;
181
+ const auditLogType = md.AuditLogTypes.find((a) => a.Name.trim().toLowerCase() === auditLogTypeName.trim().toLowerCase());
182
+ if (!userInfo)
183
+ throw new Error(`User ${userPayload?.email} not found in metadata`);
184
+ if (!auditLogType)
185
+ throw new Error(`Audit Log Type ${auditLogTypeName} not found in metadata`);
186
+ const auditLog = await md.GetEntityObject('Audit Logs', userInfo);
187
+ auditLog.NewRecord();
188
+ auditLog.UserID = userInfo.ID;
189
+ auditLog.AuditLogTypeName = auditLogType.Name;
190
+ if (authorization)
191
+ auditLog.AuthorizationName = authorization.Name;
192
+ auditLog.Status = status;
193
+ if (details)
194
+ auditLog.Details = details;
195
+ auditLog.EntityID = entityId;
196
+ if (recordId)
197
+ auditLog.RecordID = recordId;
198
+ if (await auditLog.Save())
199
+ return auditLog;
200
+ else
201
+ throw new Error(`Error saving audit log record`);
202
+ }
203
+ catch (err) {
204
+ console.log(err);
205
+ return null;
206
+ }
207
+ }
208
+ safeFirstArrayElement(arr) {
209
+ if (arr && arr.length > 0) {
210
+ return arr[0];
211
+ }
212
+ return null;
213
+ }
214
+ packageSPParam(paramValue, quoteString) {
215
+ return paramValue === null || paramValue === undefined ? null : quoteString + paramValue + quoteString;
216
+ }
217
+ GetUserFromEmail(email) {
218
+ const md = new core_1.Metadata();
219
+ return sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === email.toLowerCase().trim());
220
+ }
221
+ GetUserFromPayload(userPayload) {
222
+ if (!userPayload || !userPayload.email)
223
+ return undefined;
224
+ const md = new core_1.Metadata();
225
+ return sqlserver_dataprovider_1.UserCache.Users.find((u) => u.Email.toLowerCase().trim() === userPayload.email.toLowerCase().trim());
226
+ }
227
+ get MJCoreSchema() {
228
+ return core_1.Metadata.Provider.ConfigData.MJCoreSchemaName;
229
+ }
230
+ }
231
+ exports.ResolverBase = ResolverBase;
232
+ //# sourceMappingURL=ResolverBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolverBase.js","sourceRoot":"","sources":["../../src/generic/ResolverBase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { PubSubEngine } from 'type-graphql';
2
+ import { AppContext } from '../types';
3
+ import { ResolverBase } from './ResolverBase';
4
+ export declare class RunViewByIDInput {
5
+ ViewID: number;
6
+ ExtraFilter: string;
7
+ OrderBy: string;
8
+ Fields?: string[];
9
+ UserSearchString: string;
10
+ ExcludeUserViewRunID?: number;
11
+ OverrideExcludeFilter?: string;
12
+ SaveViewResults?: boolean;
13
+ ExcludeDataFromAllPriorViewRuns?: boolean;
14
+ IgnoreMaxRows?: boolean;
15
+ ForceAuditLog?: boolean;
16
+ AuditLogDescription?: string;
17
+ }
18
+ export declare class RunViewByNameInput {
19
+ ViewName: string;
20
+ ExtraFilter: string;
21
+ OrderBy: string;
22
+ Fields?: string[];
23
+ UserSearchString: string;
24
+ ExcludeUserViewRunID?: number;
25
+ OverrideExcludeFilter?: string;
26
+ SaveViewResults?: boolean;
27
+ ExcludeDataFromAllPriorViewRuns?: boolean;
28
+ IgnoreMaxRows?: boolean;
29
+ ForceAuditLog?: boolean;
30
+ AuditLogDescription?: string;
31
+ }
32
+ export declare class RunDynamicViewInput {
33
+ EntityName: string;
34
+ ExtraFilter: string;
35
+ OrderBy: string;
36
+ Fields?: string[];
37
+ UserSearchString: string;
38
+ ExcludeUserViewRunID?: number;
39
+ OverrideExcludeFilter?: string;
40
+ IgnoreMaxRows?: boolean;
41
+ ForceAuditLog?: boolean;
42
+ AuditLogDescription?: string;
43
+ }
44
+ export declare class RunViewResultRow {
45
+ ID: number;
46
+ EntityID: number;
47
+ Data: string;
48
+ }
49
+ export declare class RunViewResult {
50
+ Results: RunViewResultRow[];
51
+ UserViewRunID?: number;
52
+ RowCount: number;
53
+ TotalRowCount: number;
54
+ ExecutionTime: number;
55
+ ErrorMessage?: string;
56
+ Success: boolean;
57
+ }
58
+ export declare class RunViewResolver extends ResolverBase {
59
+ RunViewByName(input: RunViewByNameInput, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
60
+ Results: RunViewResultRow[];
61
+ UserViewRunID: number;
62
+ RowCount: number;
63
+ TotalRowCount: number;
64
+ ExecutionTime: number;
65
+ }>;
66
+ RunViewByID(input: RunViewByIDInput, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
67
+ Results: RunViewResultRow[];
68
+ UserViewRunID: number;
69
+ RowCount: number;
70
+ TotalRowCount: number;
71
+ ExecutionTime: number;
72
+ }>;
73
+ RunDynamicView(input: RunDynamicViewInput, { dataSource, userPayload }: AppContext, pubSub: PubSubEngine): Promise<{
74
+ Results: RunViewResultRow[];
75
+ UserViewRunID: number;
76
+ RowCount: number;
77
+ TotalRowCount: number;
78
+ ExecutionTime: number;
79
+ }>;
80
+ protected processRawData(rawData: any[], entityId: number): RunViewResultRow[];
81
+ }
82
+ //# sourceMappingURL=RunViewResolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RunViewResolver.d.ts","sourceRoot":"","sources":["../../src/generic/RunViewResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,YAAY,EAAmB,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAY9C,qBACa,gBAAgB;IAE3B,MAAM,EAAE,MAAM,CAAC;IAOf,WAAW,EAAE,MAAM,CAAC;IAOpB,OAAO,EAAE,MAAM,CAAC;IAOhB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAGlB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAO9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAO/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAO1B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAO1C,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBACa,kBAAkB;IAE7B,QAAQ,EAAE,MAAM,CAAC;IAOjB,WAAW,EAAE,MAAM,CAAC;IAOpB,OAAO,EAAE,MAAM,CAAC;IAOhB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAGlB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAO9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAO/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAO1B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAO1C,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AACD,qBACa,mBAAmB;IAE9B,UAAU,EAAE,MAAM,CAAC;IAOnB,WAAW,EAAE,MAAM,CAAC;IAOpB,OAAO,EAAE,MAAM,CAAC;IAOhB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAGlB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAO9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAO/B,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,aAAa,CAAC,EAAE,OAAO,CAAC;IAOxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,qBACa,gBAAgB;IAE3B,EAAE,EAAE,MAAM,CAAC;IAGX,QAAQ,EAAE,MAAM,CAAC;IAGjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBACa,aAAa;IAExB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAG5B,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,QAAQ,EAAE,MAAM,CAAC;IAGjB,aAAa,EAAE,MAAM,CAAC;IAGtB,aAAa,EAAE,MAAM,CAAC;IAGtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBACa,eAAgB,SAAQ,YAAY;IAEzC,aAAa,CACuB,KAAK,EAAE,kBAAkB,EAC1D,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EAC9C,MAAM,EAAE,YAAY;;;;;;;IAsBhB,WAAW,CACuB,KAAK,EAAE,gBAAgB,EACtD,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EAC9C,MAAM,EAAE,YAAY;;;;;;;IAsBhB,cAAc,CACuB,KAAK,EAAE,mBAAmB,EAC5D,EAAE,UAAU,EAAE,WAAW,EAAE,EAAE,UAAU,EAC9C,MAAM,EAAE,YAAY;;;;;;;IAqBtB,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,EAAE;CAY/E"}