@memberjunction/server 1.8.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (191) hide show
  1. package/CHANGELOG.json +1 -1
  2. package/CHANGELOG.md +2 -2
  3. package/package.json +30 -39
  4. package/src/apolloServer/index.ts +0 -1
  5. package/src/auth/newUsers.ts +4 -3
  6. package/src/context.ts +19 -27
  7. package/src/entitySubclasses/entityPermissions.server.ts +3 -3
  8. package/src/generated/generated.ts +9030 -8051
  9. package/src/generic/ResolverBase.ts +297 -172
  10. package/src/generic/RunViewResolver.ts +204 -14
  11. package/src/index.ts +18 -19
  12. package/src/resolvers/AskSkipResolver.ts +35 -35
  13. package/src/resolvers/ColorResolver.ts +3 -14
  14. package/src/resolvers/DatasetResolver.ts +4 -4
  15. package/src/resolvers/EntityCommunicationsResolver.ts +37 -15
  16. package/src/resolvers/FileCategoryResolver.ts +2 -2
  17. package/src/resolvers/FileResolver.ts +6 -4
  18. package/src/resolvers/MergeRecordsResolver.ts +3 -2
  19. package/src/resolvers/PotentialDuplicateRecordResolver.ts +48 -40
  20. package/src/resolvers/QueryResolver.ts +2 -2
  21. package/src/resolvers/ReportResolver.ts +6 -6
  22. package/src/resolvers/UserFavoriteResolver.ts +8 -8
  23. package/src/resolvers/UserResolver.ts +3 -1
  24. package/src/resolvers/UserViewResolver.ts +1 -1
  25. package/src/types.ts +21 -0
  26. package/tsconfig.json +3 -4
  27. package/dist/apolloServer/TransactionPlugin.d.ts +0 -4
  28. package/dist/apolloServer/TransactionPlugin.d.ts.map +0 -1
  29. package/dist/apolloServer/TransactionPlugin.js +0 -49
  30. package/dist/apolloServer/TransactionPlugin.js.map +0 -1
  31. package/dist/apolloServer/index.d.ts +0 -11
  32. package/dist/apolloServer/index.d.ts.map +0 -1
  33. package/dist/apolloServer/index.js +0 -27
  34. package/dist/apolloServer/index.js.map +0 -1
  35. package/dist/auth/exampleNewUserSubClass.d.ts +0 -6
  36. package/dist/auth/exampleNewUserSubClass.d.ts.map +0 -1
  37. package/dist/auth/exampleNewUserSubClass.js +0 -54
  38. package/dist/auth/exampleNewUserSubClass.js.map +0 -1
  39. package/dist/auth/index.d.ts +0 -30
  40. package/dist/auth/index.d.ts.map +0 -1
  41. package/dist/auth/index.js +0 -129
  42. package/dist/auth/index.js.map +0 -1
  43. package/dist/auth/newUsers.d.ts +0 -5
  44. package/dist/auth/newUsers.d.ts.map +0 -1
  45. package/dist/auth/newUsers.js +0 -66
  46. package/dist/auth/newUsers.js.map +0 -1
  47. package/dist/auth/tokenExpiredError.d.ts +0 -5
  48. package/dist/auth/tokenExpiredError.d.ts.map +0 -1
  49. package/dist/auth/tokenExpiredError.js +0 -16
  50. package/dist/auth/tokenExpiredError.js.map +0 -1
  51. package/dist/cache.d.ts +0 -3
  52. package/dist/cache.d.ts.map +0 -1
  53. package/dist/cache.js +0 -11
  54. package/dist/cache.js.map +0 -1
  55. package/dist/config.d.ts +0 -196
  56. package/dist/config.d.ts.map +0 -1
  57. package/dist/config.js +0 -72
  58. package/dist/config.js.map +0 -1
  59. package/dist/context.d.ts +0 -17
  60. package/dist/context.d.ts.map +0 -1
  61. package/dist/context.js +0 -114
  62. package/dist/context.js.map +0 -1
  63. package/dist/directives/Public.d.ts +0 -4
  64. package/dist/directives/Public.d.ts.map +0 -1
  65. package/dist/directives/Public.js +0 -34
  66. package/dist/directives/Public.js.map +0 -1
  67. package/dist/directives/index.d.ts +0 -2
  68. package/dist/directives/index.d.ts.map +0 -1
  69. package/dist/directives/index.js +0 -18
  70. package/dist/directives/index.js.map +0 -1
  71. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts +0 -6
  72. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts.map +0 -1
  73. package/dist/entitySubclasses/DuplicateRunEntity.server.js +0 -37
  74. package/dist/entitySubclasses/DuplicateRunEntity.server.js.map +0 -1
  75. package/dist/entitySubclasses/EntityBehavior.server.d.ts +0 -29
  76. package/dist/entitySubclasses/EntityBehavior.server.d.ts.map +0 -1
  77. package/dist/entitySubclasses/EntityBehavior.server.js +0 -213
  78. package/dist/entitySubclasses/EntityBehavior.server.js.map +0 -1
  79. package/dist/entitySubclasses/entityPermissions.server.d.ts +0 -23
  80. package/dist/entitySubclasses/entityPermissions.server.d.ts.map +0 -1
  81. package/dist/entitySubclasses/entityPermissions.server.js +0 -99
  82. package/dist/entitySubclasses/entityPermissions.server.js.map +0 -1
  83. package/dist/entitySubclasses/userViewEntity.server.d.ts +0 -13
  84. package/dist/entitySubclasses/userViewEntity.server.d.ts.map +0 -1
  85. package/dist/entitySubclasses/userViewEntity.server.js +0 -164
  86. package/dist/entitySubclasses/userViewEntity.server.js.map +0 -1
  87. package/dist/generated/generated.d.ts +0 -6482
  88. package/dist/generated/generated.d.ts.map +0 -1
  89. package/dist/generated/generated.js +0 -35073
  90. package/dist/generated/generated.js.map +0 -1
  91. package/dist/generic/DeleteOptionsInput.d.ts +0 -5
  92. package/dist/generic/DeleteOptionsInput.d.ts.map +0 -1
  93. package/dist/generic/DeleteOptionsInput.js +0 -28
  94. package/dist/generic/DeleteOptionsInput.js.map +0 -1
  95. package/dist/generic/KeyInputOutputTypes.d.ts +0 -16
  96. package/dist/generic/KeyInputOutputTypes.d.ts.map +0 -1
  97. package/dist/generic/KeyInputOutputTypes.js +0 -62
  98. package/dist/generic/KeyInputOutputTypes.js.map +0 -1
  99. package/dist/generic/KeyValuePairInput.d.ts +0 -5
  100. package/dist/generic/KeyValuePairInput.d.ts.map +0 -1
  101. package/dist/generic/KeyValuePairInput.js +0 -28
  102. package/dist/generic/KeyValuePairInput.js.map +0 -1
  103. package/dist/generic/PushStatusResolver.d.ts +0 -14
  104. package/dist/generic/PushStatusResolver.d.ts.map +0 -1
  105. package/dist/generic/PushStatusResolver.js +0 -58
  106. package/dist/generic/PushStatusResolver.js.map +0 -1
  107. package/dist/generic/ResolverBase.d.ts +0 -37
  108. package/dist/generic/ResolverBase.d.ts.map +0 -1
  109. package/dist/generic/ResolverBase.js +0 -468
  110. package/dist/generic/ResolverBase.js.map +0 -1
  111. package/dist/generic/RunViewResolver.d.ts +0 -88
  112. package/dist/generic/RunViewResolver.d.ts.map +0 -1
  113. package/dist/generic/RunViewResolver.js +0 -443
  114. package/dist/generic/RunViewResolver.js.map +0 -1
  115. package/dist/index.d.ts +0 -28
  116. package/dist/index.d.ts.map +0 -1
  117. package/dist/index.js +0 -145
  118. package/dist/index.js.map +0 -1
  119. package/dist/orm.d.ts +0 -4
  120. package/dist/orm.d.ts.map +0 -1
  121. package/dist/orm.js +0 -34
  122. package/dist/orm.js.map +0 -1
  123. package/dist/resolvers/AskSkipResolver.d.ts +0 -54
  124. package/dist/resolvers/AskSkipResolver.d.ts.map +0 -1
  125. package/dist/resolvers/AskSkipResolver.js +0 -800
  126. package/dist/resolvers/AskSkipResolver.js.map +0 -1
  127. package/dist/resolvers/ColorResolver.d.ts +0 -22
  128. package/dist/resolvers/ColorResolver.d.ts.map +0 -1
  129. package/dist/resolvers/ColorResolver.js +0 -94
  130. package/dist/resolvers/ColorResolver.js.map +0 -1
  131. package/dist/resolvers/DatasetResolver.d.ts +0 -42
  132. package/dist/resolvers/DatasetResolver.d.ts.map +0 -1
  133. package/dist/resolvers/DatasetResolver.js +0 -168
  134. package/dist/resolvers/DatasetResolver.js.map +0 -1
  135. package/dist/resolvers/EntityCommunicationsResolver.d.ts +0 -49
  136. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +0 -1
  137. package/dist/resolvers/EntityCommunicationsResolver.js +0 -228
  138. package/dist/resolvers/EntityCommunicationsResolver.js.map +0 -1
  139. package/dist/resolvers/EntityRecordNameResolver.d.ts +0 -21
  140. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +0 -1
  141. package/dist/resolvers/EntityRecordNameResolver.js +0 -113
  142. package/dist/resolvers/EntityRecordNameResolver.js.map +0 -1
  143. package/dist/resolvers/EntityResolver.d.ts +0 -6
  144. package/dist/resolvers/EntityResolver.d.ts.map +0 -1
  145. package/dist/resolvers/EntityResolver.js +0 -60
  146. package/dist/resolvers/EntityResolver.js.map +0 -1
  147. package/dist/resolvers/FileCategoryResolver.d.ts +0 -6
  148. package/dist/resolvers/FileCategoryResolver.d.ts.map +0 -1
  149. package/dist/resolvers/FileCategoryResolver.js +0 -65
  150. package/dist/resolvers/FileCategoryResolver.js.map +0 -1
  151. package/dist/resolvers/FileResolver.d.ts +0 -24
  152. package/dist/resolvers/FileResolver.d.ts.map +0 -1
  153. package/dist/resolvers/FileResolver.js +0 -162
  154. package/dist/resolvers/FileResolver.js.map +0 -1
  155. package/dist/resolvers/MergeRecordsResolver.d.ts +0 -59
  156. package/dist/resolvers/MergeRecordsResolver.d.ts.map +0 -1
  157. package/dist/resolvers/MergeRecordsResolver.js +0 -256
  158. package/dist/resolvers/MergeRecordsResolver.js.map +0 -1
  159. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +0 -29
  160. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +0 -1
  161. package/dist/resolvers/PotentialDuplicateRecordResolver.js +0 -127
  162. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +0 -1
  163. package/dist/resolvers/QueryResolver.d.ts +0 -13
  164. package/dist/resolvers/QueryResolver.d.ts.map +0 -1
  165. package/dist/resolvers/QueryResolver.js +0 -74
  166. package/dist/resolvers/QueryResolver.js.map +0 -1
  167. package/dist/resolvers/ReportResolver.d.ts +0 -20
  168. package/dist/resolvers/ReportResolver.d.ts.map +0 -1
  169. package/dist/resolvers/ReportResolver.js +0 -175
  170. package/dist/resolvers/ReportResolver.js.map +0 -1
  171. package/dist/resolvers/UserFavoriteResolver.d.ts +0 -42
  172. package/dist/resolvers/UserFavoriteResolver.d.ts.map +0 -1
  173. package/dist/resolvers/UserFavoriteResolver.js +0 -221
  174. package/dist/resolvers/UserFavoriteResolver.js.map +0 -1
  175. package/dist/resolvers/UserResolver.d.ts +0 -10
  176. package/dist/resolvers/UserResolver.d.ts.map +0 -1
  177. package/dist/resolvers/UserResolver.js +0 -72
  178. package/dist/resolvers/UserResolver.js.map +0 -1
  179. package/dist/resolvers/UserViewResolver.d.ts +0 -13
  180. package/dist/resolvers/UserViewResolver.d.ts.map +0 -1
  181. package/dist/resolvers/UserViewResolver.js +0 -102
  182. package/dist/resolvers/UserViewResolver.js.map +0 -1
  183. package/dist/types.d.ts +0 -17
  184. package/dist/types.d.ts.map +0 -1
  185. package/dist/types.js +0 -3
  186. package/dist/types.js.map +0 -1
  187. package/dist/util.d.ts +0 -4
  188. package/dist/util.d.ts.map +0 -1
  189. package/dist/util.js +0 -89
  190. package/dist/util.js.map +0 -1
  191. package/src/entitySubclasses/EntityBehavior.server.ts +0 -241
package/CHANGELOG.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@memberjunction/server",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 21 Jun 2024 13:12:39 GMT",
5
+ "date": "Fri, 21 Jun 2024 13:15:28 GMT",
6
6
  "version": "1.8.1",
7
7
  "tag": "@memberjunction/server_v1.8.1",
8
8
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # Change Log - @memberjunction/server
2
2
 
3
- This log was last generated on Fri, 21 Jun 2024 13:12:39 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 21 Jun 2024 13:15:28 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
7
  ## 1.8.1
8
8
 
9
- Fri, 21 Jun 2024 13:12:39 GMT
9
+ Fri, 21 Jun 2024 13:15:28 GMT
10
10
 
11
11
  ### Patches
12
12
 
package/package.json CHANGED
@@ -1,46 +1,40 @@
1
1
  {
2
2
  "name": "@memberjunction/server",
3
- "version": "1.8.1",
3
+ "version": "2.0.0",
4
4
  "description": "MemberJunction: This project provides API access via GraphQL to the common data store.",
5
- "main": "dist/index.js",
6
- "types": "src/index.ts",
5
+ "main": "./dist/index.js",
6
+ "types": "./src/index.ts",
7
+ "type": "module",
7
8
  "author": "MemberJunction.com",
8
9
  "license": "ISC",
9
10
  "scripts": {
10
- "clean": "rimraf dist",
11
11
  "build": "tsc",
12
- "watch": "tsc -w",
13
- "test": "echo \"Error: no test specified\" && exit 1",
14
- "lint:eslint": "eslint \"**/*.{ts,js,}\" --max-warnings=0",
15
- "lint:tsc": "tsc --noemit",
16
- "lint": "concurrently \"npm:lint:eslint\" \"npm:lint:tsc\"",
17
- "pretty": "prettier --write \"**/*.{ts,js,}\"",
18
- "codegen": "cpy --flat ../codegen/output/entities/*.ts src/entities",
19
- "postcodegen": "npm run pretty"
12
+ "bundle": "tsc -noEmit && pkgroll --sourcemap --minify",
13
+ "watch": "tsc -w"
20
14
  },
21
15
  "dependencies": {
22
16
  "@apollo/server": "^4.9.1",
23
17
  "@graphql-tools/utils": "^10.0.1",
24
- "@memberjunction/actions": "1.8.1",
25
- "@memberjunction/ai": "1.8.1",
26
- "@memberjunction/ai-mistral": "1.8.1",
27
- "@memberjunction/ai-openai": "1.8.1",
28
- "@memberjunction/ai-vectors-pinecone": "1.8.1",
29
- "@memberjunction/aiengine": "1.8.1",
30
- "@memberjunction/core": "1.8.1",
31
- "@memberjunction/core-actions": "1.8.1",
32
- "@memberjunction/core-entities": "1.8.1",
33
- "@memberjunction/data-context": "1.8.1",
34
- "@memberjunction/data-context-server": "1.8.1",
35
- "@memberjunction/doc-utils": "1.8.1",
36
- "@memberjunction/global": "1.8.1",
37
- "@memberjunction/queue": "1.8.1",
38
- "@memberjunction/skip-types": "1.8.1",
39
- "@memberjunction/sqlserver-dataprovider": "1.8.1",
40
- "@memberjunction/storage": "1.8.1",
41
- "@memberjunction/templates": "1.8.1",
42
- "@memberjunction/external-change-detection": "1.8.1",
43
- "@memberjunction/entity-communications-server": "1.8.1",
18
+ "@memberjunction/actions": "2.0.0",
19
+ "@memberjunction/ai": "2.0.0",
20
+ "@memberjunction/ai-mistral": "2.0.0",
21
+ "@memberjunction/ai-openai": "2.0.0",
22
+ "@memberjunction/ai-vectors-pinecone": "2.0.0",
23
+ "@memberjunction/aiengine": "2.0.0",
24
+ "@memberjunction/core": "2.0.0",
25
+ "@memberjunction/core-actions": "2.0.0",
26
+ "@memberjunction/core-entities": "2.0.0",
27
+ "@memberjunction/data-context": "2.0.0",
28
+ "@memberjunction/data-context-server": "2.0.0",
29
+ "@memberjunction/doc-utils": "2.0.0",
30
+ "@memberjunction/entity-communications-server": "2.0.0",
31
+ "@memberjunction/external-change-detection": "2.0.0",
32
+ "@memberjunction/global": "2.0.0",
33
+ "@memberjunction/queue": "2.0.0",
34
+ "@memberjunction/skip-types": "2.0.0",
35
+ "@memberjunction/sqlserver-dataprovider": "2.0.0",
36
+ "@memberjunction/storage": "2.0.0",
37
+ "@memberjunction/templates": "2.0.0",
44
38
  "@types/cors": "^2.8.13",
45
39
  "@types/jsonwebtoken": "9.0.6",
46
40
  "@types/node": "20.14.2",
@@ -54,8 +48,10 @@
54
48
  "express": "^4.18.2",
55
49
  "fast-glob": "^3.3.1",
56
50
  "graphql": "^16.8.0",
57
- "graphql-ws": "^5.14.0",
51
+ "graphql-scalars": "^1.23.0",
52
+ "graphql-subscriptions": "^2.0.0",
58
53
  "graphql-type-json": "0.3.2",
54
+ "graphql-ws": "^5.14.0",
59
55
  "jsonwebtoken": "9.0.2",
60
56
  "jwks-rsa": "^3.0.0",
61
57
  "lru-cache": "^10.0.0",
@@ -69,12 +65,7 @@
69
65
  "zod": "^3.23.4"
70
66
  },
71
67
  "devDependencies": {
72
- "concurrently": "8.2.2",
73
- "cpy-cli": "^5.0.0",
74
- "prettier": "^3.3.1",
75
- "rimraf": "5.0.7",
76
- "ts-node": "^10.9.2",
77
- "ts-node-dev": "^2.0.0",
68
+ "pkgroll": "2.1.1",
78
69
  "typescript": "^5.4.5"
79
70
  }
80
71
  }
@@ -1,6 +1,5 @@
1
1
  import { ApolloServer, ApolloServerOptions } from '@apollo/server';
2
2
  import { ApolloServerPluginDrainHttpServer } from '@apollo/server/plugin/drainHttpServer';
3
- import { PubSub } from 'graphql-subscriptions';
4
3
  import { Disposable } from 'graphql-ws';
5
4
  import { Server } from 'http';
6
5
  import { enableIntrospection } from '../config';
@@ -6,7 +6,7 @@ import { UserEntity, UserRoleEntity } from "@memberjunction/core-entities";
6
6
 
7
7
  @RegisterClass(NewUserBase)
8
8
  export class NewUserBase {
9
- public async createNewUser(firstName: string, lastName: string, email: string, linkedRecordType: string = 'None', linkedEntityId?: number, linkedEntityRecordId?: number) {
9
+ public async createNewUser(firstName: string, lastName: string, email: string, linkedRecordType: string = 'None', linkedEntityId?: string, linkedEntityRecordId?: string) {
10
10
  try {
11
11
  const md = new Metadata();
12
12
  const contextUser = UserCache.Instance.Users.find(u => u.Email.trim().toLowerCase() === configInfo?.userHandling?.contextUserForNewUserCreation?.trim().toLowerCase())
@@ -30,12 +30,13 @@ export class NewUserBase {
30
30
 
31
31
  if (await u.Save()) {
32
32
  // user created, now create however many roles we need to create for this user based on the config settings
33
- const ur = <UserRoleEntity>await md.GetEntityObject('User Roles', contextUser);
33
+ const ur = await md.GetEntityObject<UserRoleEntity>('User Roles', contextUser);
34
34
  let bSuccess: boolean = true;
35
35
  for (const role of configInfo.userHandling.newUserRoles) {
36
36
  ur.NewRecord();
37
37
  ur.UserID = u.ID;
38
- ur.RoleName = role;
38
+ const roleID = md.Roles.find(r => r.Name === role)?.ID;
39
+ ur.RoleID = roleID;
39
40
  bSuccess = bSuccess && await ur.Save();
40
41
  }
41
42
  if (!bSuccess) {
package/src/context.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { IncomingMessage } from 'http';
2
2
  import * as url from 'url';
3
- import { JwtPayload, VerifyOptions, decode, verify } from 'jsonwebtoken';
3
+ import { default as jwt } from 'jsonwebtoken';
4
4
  import 'reflect-metadata';
5
5
  import { Subject, firstValueFrom } from 'rxjs';
6
6
  import { AuthenticationError, AuthorizationError } from 'type-graphql';
@@ -11,21 +11,13 @@ import { userEmailMap } from './config';
11
11
  import { UserPayload } from './types';
12
12
  import { TokenExpiredError } from './auth';
13
13
 
14
- const verifyAsync = async (
15
- issuer: string,
16
- options: VerifyOptions,
17
- token: string
18
- ): Promise<JwtPayload> =>
14
+ const verifyAsync = async (issuer: string, options: jwt.VerifyOptions, token: string): Promise<jwt.JwtPayload> =>
19
15
  new Promise((resolve, reject) => {
20
- verify(token, getSigningKeys(issuer), options, (err, jwt) => {
16
+ jwt.verify(token, getSigningKeys(issuer), options, (err, jwt) => {
21
17
  if (jwt && typeof jwt !== 'string' && !err) {
22
18
  const payload = jwt.payload ?? jwt;
23
19
 
24
- console.log(
25
- `Valid token: ${payload.name} (${
26
- payload.email ? payload.email : payload.preferred_username
27
- })`
28
- ); // temporary fix to check preferred_username if email is not present
20
+ console.log(`Valid token: ${payload.name} (${payload.email ? payload.email : payload.preferred_username})`); // temporary fix to check preferred_username if email is not present
29
21
  resolve(payload);
30
22
  } else {
31
23
  console.warn('Invalid token');
@@ -48,12 +40,12 @@ export const getUserPayload = async (
48
40
  throw new AuthenticationError('Missing token');
49
41
  }
50
42
 
51
- const payload = decode(token);
43
+ const payload = jwt.decode(token);
52
44
  if (!payload || typeof payload === 'string') {
53
45
  throw new AuthenticationError('Invalid token payload');
54
46
  }
55
47
 
56
- const expiryDate = new Date( (payload.exp ?? 0) * 1000);
48
+ const expiryDate = new Date((payload.exp ?? 0) * 1000);
57
49
  if (expiryDate.getTime() <= Date.now()) {
58
50
  throw new TokenExpiredError(expiryDate);
59
51
  }
@@ -69,19 +61,16 @@ export const getUserPayload = async (
69
61
  authCache.set(token, true);
70
62
  }
71
63
 
72
- const email = payload?.email
73
- ? userEmailMap[payload?.email] ?? payload?.email
74
- : payload?.preferred_username; // temporary fix to check preferred_username if email is not present
64
+ const email = payload?.email ? userEmailMap[payload?.email] ?? payload?.email : payload?.preferred_username; // temporary fix to check preferred_username if email is not present
75
65
  const fullName = payload?.name;
76
66
  const firstName = payload?.given_name || fullName?.split(' ')[0];
77
67
  const lastName = payload?.family_name || fullName?.split(' ')[1] || fullName?.split(' ')[0];
78
68
  const userRecord = await verifyUserRecord(email, firstName, lastName, requestDomain, dataSource);
79
69
 
80
70
  if (!userRecord) {
81
- console.error(`User ${email} not found`);
71
+ console.error(`User ${email} not found`);
82
72
  throw new AuthorizationError();
83
- }
84
- else if (!userRecord.IsActive) {
73
+ } else if (!userRecord.IsActive) {
85
74
  console.error(`User ${email} found but inactive`);
86
75
  throw new AuthorizationError();
87
76
  }
@@ -91,9 +80,7 @@ export const getUserPayload = async (
91
80
  console.error(e);
92
81
  if (e instanceof TokenExpiredError) {
93
82
  throw e;
94
- }
95
- else
96
- return {} as UserPayload;
83
+ } else return {} as UserPayload;
97
84
  }
98
85
  };
99
86
 
@@ -103,17 +90,22 @@ export const contextFunction =
103
90
  await firstValueFrom(setupComplete$); // wait for setup to complete before processing the request
104
91
 
105
92
  const sessionIdRaw = req.headers['x-session-id'];
106
- const requestDomain = url.parse(req.headers.origin || '')
93
+ const requestDomain = url.parse(req.headers.origin || '');
107
94
  const sessionId = sessionIdRaw ? sessionIdRaw.toString() : '';
108
95
  const bearerToken = req.headers.authorization ?? '';
109
96
 
110
- const userPayload = await getUserPayload(bearerToken, sessionId, dataSource, requestDomain?.hostname ? requestDomain.hostname : undefined);
97
+ const userPayload = await getUserPayload(
98
+ bearerToken,
99
+ sessionId,
100
+ dataSource,
101
+ requestDomain?.hostname ? requestDomain.hostname : undefined
102
+ );
111
103
 
112
104
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
113
- const operationName: string| undefined = (req as any).body?.operationName;
105
+ const operationName: string | undefined = (req as any).body?.operationName;
114
106
  if (operationName !== 'IntrospectionQuery') {
115
107
  console.log({ operationName });
116
- }
108
+ }
117
109
 
118
110
  return { dataSource, userPayload };
119
111
  };
@@ -10,7 +10,7 @@ import { ___codeGenAPIPort, ___codeGenAPISubmissionDelay, ___codeGenAPIURL } fro
10
10
  */
11
11
  @RegisterClass(BaseEntity, 'Entity Permissions', 3)
12
12
  export class EntityPermissionsEntity_Server extends EntityPermissionEntity {
13
- protected static _entityIDQueue: number[] = [];
13
+ protected static _entityIDQueue: string[] = [];
14
14
  protected static _lastModifiedTime: Date | null = null;
15
15
  protected static _submissionTimer: NodeJS.Timeout | null = null;
16
16
  protected static _submissionDelay: number = ___codeGenAPISubmissionDelay;
@@ -23,7 +23,7 @@ export class EntityPermissionsEntity_Server extends EntityPermissionEntity {
23
23
  return `${this._baseURL}:${this._port}${this._apiEndpoint}`;
24
24
  }
25
25
 
26
- public static get EntityIDQueue(): number[] {
26
+ public static get EntityIDQueue(): string[] {
27
27
  return this._entityIDQueue;
28
28
  }
29
29
 
@@ -31,7 +31,7 @@ export class EntityPermissionsEntity_Server extends EntityPermissionEntity {
31
31
  this._entityIDQueue = [];
32
32
  this._submissionTimer = null;
33
33
  }
34
- public static AddToQueue(entityID: number): void {
34
+ public static AddToQueue(entityID: string): void {
35
35
  if (this._entityIDQueue.indexOf(entityID) === -1)
36
36
  this._entityIDQueue.push(entityID);
37
37
  this._lastModifiedTime = new Date();