@memberjunction/server 2.1.2 → 2.1.3

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 (202) hide show
  1. package/dist/apolloServer/TransactionPlugin.d.ts +4 -0
  2. package/dist/apolloServer/TransactionPlugin.d.ts.map +1 -0
  3. package/dist/apolloServer/TransactionPlugin.js +46 -0
  4. package/dist/apolloServer/TransactionPlugin.js.map +1 -0
  5. package/dist/apolloServer/index.d.ts +11 -0
  6. package/dist/apolloServer/index.d.ts.map +1 -0
  7. package/dist/apolloServer/index.js +25 -0
  8. package/dist/apolloServer/index.js.map +1 -0
  9. package/dist/auth/exampleNewUserSubClass.d.ts +6 -0
  10. package/dist/auth/exampleNewUserSubClass.d.ts.map +1 -0
  11. package/dist/auth/exampleNewUserSubClass.js +49 -0
  12. package/dist/auth/exampleNewUserSubClass.js.map +1 -0
  13. package/dist/auth/index.d.ts +30 -0
  14. package/dist/auth/index.d.ts.map +1 -0
  15. package/dist/auth/index.js +121 -0
  16. package/dist/auth/index.js.map +1 -0
  17. package/dist/auth/newUsers.d.ts +5 -0
  18. package/dist/auth/newUsers.d.ts.map +1 -0
  19. package/{src/auth/newUsers.ts → dist/auth/newUsers.js} +20 -14
  20. package/dist/auth/newUsers.js.map +1 -0
  21. package/dist/auth/tokenExpiredError.d.ts +5 -0
  22. package/dist/auth/tokenExpiredError.d.ts.map +1 -0
  23. package/dist/auth/tokenExpiredError.js +12 -0
  24. package/dist/auth/tokenExpiredError.js.map +1 -0
  25. package/dist/cache.d.ts +3 -0
  26. package/dist/cache.d.ts.map +1 -0
  27. package/{src/cache.ts → dist/cache.js} +4 -6
  28. package/dist/cache.js.map +1 -0
  29. package/dist/config.d.ts +196 -0
  30. package/dist/config.d.ts.map +1 -0
  31. package/{src/config.ts → dist/config.js} +25 -49
  32. package/dist/config.js.map +1 -0
  33. package/dist/context.d.ts +17 -0
  34. package/dist/context.d.ts.map +1 -0
  35. package/dist/context.js +84 -0
  36. package/dist/context.js.map +1 -0
  37. package/dist/directives/Public.d.ts +4 -0
  38. package/dist/directives/Public.d.ts.map +1 -0
  39. package/dist/directives/Public.js +30 -0
  40. package/dist/directives/Public.js.map +1 -0
  41. package/dist/directives/index.d.ts +2 -0
  42. package/dist/directives/index.d.ts.map +1 -0
  43. package/dist/directives/index.js +2 -0
  44. package/dist/directives/index.js.map +1 -0
  45. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts +6 -0
  46. package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts.map +1 -0
  47. package/dist/entitySubclasses/DuplicateRunEntity.server.js +33 -0
  48. package/dist/entitySubclasses/DuplicateRunEntity.server.js.map +1 -0
  49. package/dist/entitySubclasses/entityPermissions.server.d.ts +23 -0
  50. package/dist/entitySubclasses/entityPermissions.server.d.ts.map +1 -0
  51. package/dist/entitySubclasses/entityPermissions.server.js +93 -0
  52. package/dist/entitySubclasses/entityPermissions.server.js.map +1 -0
  53. package/dist/entitySubclasses/userViewEntity.server.d.ts +13 -0
  54. package/dist/entitySubclasses/userViewEntity.server.d.ts.map +1 -0
  55. package/dist/entitySubclasses/userViewEntity.server.js +161 -0
  56. package/dist/entitySubclasses/userViewEntity.server.js.map +1 -0
  57. package/dist/generated/generated.d.ts +6679 -0
  58. package/dist/generated/generated.d.ts.map +1 -0
  59. package/dist/generated/generated.js +40786 -0
  60. package/dist/generated/generated.js.map +1 -0
  61. package/dist/generic/DeleteOptionsInput.d.ts +5 -0
  62. package/dist/generic/DeleteOptionsInput.d.ts.map +1 -0
  63. package/dist/generic/DeleteOptionsInput.js +27 -0
  64. package/dist/generic/DeleteOptionsInput.js.map +1 -0
  65. package/dist/generic/KeyInputOutputTypes.d.ts +16 -0
  66. package/dist/generic/KeyInputOutputTypes.d.ts.map +1 -0
  67. package/dist/generic/KeyInputOutputTypes.js +65 -0
  68. package/dist/generic/KeyInputOutputTypes.js.map +1 -0
  69. package/dist/generic/KeyValuePairInput.d.ts +5 -0
  70. package/dist/generic/KeyValuePairInput.d.ts.map +1 -0
  71. package/dist/generic/KeyValuePairInput.js +27 -0
  72. package/dist/generic/KeyValuePairInput.js.map +1 -0
  73. package/dist/generic/PushStatusResolver.d.ts +14 -0
  74. package/dist/generic/PushStatusResolver.d.ts.map +1 -0
  75. package/dist/generic/PushStatusResolver.js +58 -0
  76. package/dist/generic/PushStatusResolver.js.map +1 -0
  77. package/dist/generic/ResolverBase.d.ts +39 -0
  78. package/dist/generic/ResolverBase.d.ts.map +1 -0
  79. package/dist/generic/ResolverBase.js +573 -0
  80. package/dist/generic/ResolverBase.js.map +1 -0
  81. package/dist/generic/RunViewResolver.d.ts +123 -0
  82. package/dist/generic/RunViewResolver.d.ts.map +1 -0
  83. package/dist/generic/RunViewResolver.js +728 -0
  84. package/dist/generic/RunViewResolver.js.map +1 -0
  85. package/dist/index.d.ts +26 -0
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +108 -0
  88. package/dist/index.js.map +1 -0
  89. package/dist/orm.d.ts +4 -0
  90. package/dist/orm.d.ts.map +1 -0
  91. package/dist/orm.js +32 -0
  92. package/dist/orm.js.map +1 -0
  93. package/dist/resolvers/AskSkipResolver.d.ts +54 -0
  94. package/dist/resolvers/AskSkipResolver.d.ts.map +1 -0
  95. package/dist/resolvers/AskSkipResolver.js +805 -0
  96. package/dist/resolvers/AskSkipResolver.js.map +1 -0
  97. package/dist/resolvers/ColorResolver.d.ts +23 -0
  98. package/dist/resolvers/ColorResolver.d.ts.map +1 -0
  99. package/dist/resolvers/ColorResolver.js +97 -0
  100. package/dist/resolvers/ColorResolver.js.map +1 -0
  101. package/dist/resolvers/DatasetResolver.d.ts +42 -0
  102. package/dist/resolvers/DatasetResolver.d.ts.map +1 -0
  103. package/dist/resolvers/DatasetResolver.js +179 -0
  104. package/dist/resolvers/DatasetResolver.js.map +1 -0
  105. package/dist/resolvers/EntityCommunicationsResolver.d.ts +50 -0
  106. package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +1 -0
  107. package/dist/resolvers/EntityCommunicationsResolver.js +280 -0
  108. package/dist/resolvers/EntityCommunicationsResolver.js.map +1 -0
  109. package/dist/resolvers/EntityRecordNameResolver.d.ts +21 -0
  110. package/dist/resolvers/EntityRecordNameResolver.d.ts.map +1 -0
  111. package/dist/resolvers/EntityRecordNameResolver.js +117 -0
  112. package/dist/resolvers/EntityRecordNameResolver.js.map +1 -0
  113. package/dist/resolvers/EntityResolver.d.ts +6 -0
  114. package/dist/resolvers/EntityResolver.d.ts.map +1 -0
  115. package/dist/resolvers/EntityResolver.js +57 -0
  116. package/dist/resolvers/EntityResolver.js.map +1 -0
  117. package/dist/resolvers/FileCategoryResolver.d.ts +6 -0
  118. package/dist/resolvers/FileCategoryResolver.d.ts.map +1 -0
  119. package/dist/resolvers/FileCategoryResolver.js +61 -0
  120. package/dist/resolvers/FileCategoryResolver.js.map +1 -0
  121. package/dist/resolvers/FileResolver.d.ts +24 -0
  122. package/dist/resolvers/FileResolver.d.ts.map +1 -0
  123. package/dist/resolvers/FileResolver.js +166 -0
  124. package/dist/resolvers/FileResolver.js.map +1 -0
  125. package/dist/resolvers/MergeRecordsResolver.d.ts +59 -0
  126. package/dist/resolvers/MergeRecordsResolver.d.ts.map +1 -0
  127. package/dist/resolvers/MergeRecordsResolver.js +282 -0
  128. package/dist/resolvers/MergeRecordsResolver.js.map +1 -0
  129. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +29 -0
  130. package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +1 -0
  131. package/dist/resolvers/PotentialDuplicateRecordResolver.js +125 -0
  132. package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +1 -0
  133. package/dist/resolvers/QueryResolver.d.ts +13 -0
  134. package/dist/resolvers/QueryResolver.d.ts.map +1 -0
  135. package/dist/resolvers/QueryResolver.js +77 -0
  136. package/dist/resolvers/QueryResolver.js.map +1 -0
  137. package/dist/resolvers/ReportResolver.d.ts +20 -0
  138. package/dist/resolvers/ReportResolver.d.ts.map +1 -0
  139. package/dist/resolvers/ReportResolver.js +182 -0
  140. package/dist/resolvers/ReportResolver.js.map +1 -0
  141. package/dist/resolvers/UserFavoriteResolver.d.ts +42 -0
  142. package/dist/resolvers/UserFavoriteResolver.d.ts.map +1 -0
  143. package/dist/resolvers/UserFavoriteResolver.js +230 -0
  144. package/dist/resolvers/UserFavoriteResolver.js.map +1 -0
  145. package/dist/resolvers/UserResolver.d.ts +10 -0
  146. package/dist/resolvers/UserResolver.d.ts.map +1 -0
  147. package/dist/resolvers/UserResolver.js +71 -0
  148. package/dist/resolvers/UserResolver.js.map +1 -0
  149. package/dist/resolvers/UserViewResolver.d.ts +13 -0
  150. package/dist/resolvers/UserViewResolver.d.ts.map +1 -0
  151. package/dist/resolvers/UserViewResolver.js +99 -0
  152. package/dist/resolvers/UserViewResolver.js.map +1 -0
  153. package/dist/types.d.ts +37 -0
  154. package/dist/types.d.ts.map +1 -0
  155. package/dist/types.js +2 -0
  156. package/dist/types.js.map +1 -0
  157. package/dist/util.d.ts +4 -0
  158. package/dist/util.d.ts.map +1 -0
  159. package/dist/util.js +85 -0
  160. package/dist/util.js.map +1 -0
  161. package/package.json +25 -21
  162. package/CHANGELOG.json +0 -3389
  163. package/CHANGELOG.md +0 -739
  164. package/src/apolloServer/TransactionPlugin.ts +0 -57
  165. package/src/apolloServer/index.ts +0 -33
  166. package/src/auth/exampleNewUserSubClass.ts +0 -74
  167. package/src/auth/index.ts +0 -151
  168. package/src/auth/tokenExpiredError.ts +0 -12
  169. package/src/context.ts +0 -111
  170. package/src/directives/Public.ts +0 -42
  171. package/src/directives/index.ts +0 -1
  172. package/src/entitySubclasses/DuplicateRunEntity.server.ts +0 -29
  173. package/src/entitySubclasses/entityPermissions.server.ts +0 -111
  174. package/src/entitySubclasses/userViewEntity.server.ts +0 -187
  175. package/src/generated/generated.ts +0 -25369
  176. package/src/generic/DeleteOptionsInput.ts +0 -13
  177. package/src/generic/KeyInputOutputTypes.ts +0 -35
  178. package/src/generic/KeyValuePairInput.ts +0 -14
  179. package/src/generic/PushStatusResolver.ts +0 -40
  180. package/src/generic/ResolverBase.ts +0 -767
  181. package/src/generic/RunViewResolver.ts +0 -582
  182. package/src/index.ts +0 -161
  183. package/src/orm.ts +0 -36
  184. package/src/resolvers/AskSkipResolver.ts +0 -926
  185. package/src/resolvers/ColorResolver.ts +0 -61
  186. package/src/resolvers/DatasetResolver.ts +0 -115
  187. package/src/resolvers/EntityCommunicationsResolver.ts +0 -216
  188. package/src/resolvers/EntityRecordNameResolver.ts +0 -78
  189. package/src/resolvers/EntityResolver.ts +0 -37
  190. package/src/resolvers/FileCategoryResolver.ts +0 -62
  191. package/src/resolvers/FileResolver.ts +0 -147
  192. package/src/resolvers/MergeRecordsResolver.ts +0 -182
  193. package/src/resolvers/PotentialDuplicateRecordResolver.ts +0 -91
  194. package/src/resolvers/QueryResolver.ts +0 -42
  195. package/src/resolvers/ReportResolver.ts +0 -147
  196. package/src/resolvers/UserFavoriteResolver.ts +0 -166
  197. package/src/resolvers/UserResolver.ts +0 -33
  198. package/src/resolvers/UserViewResolver.ts +0 -64
  199. package/src/types.ts +0 -40
  200. package/src/util.ts +0 -106
  201. package/tsconfig.json +0 -30
  202. package/typedoc.json +0 -4
package/src/index.ts DELETED
@@ -1,161 +0,0 @@
1
- import dotenv from 'dotenv';
2
-
3
- dotenv.config();
4
-
5
- import { expressMiddleware } from '@apollo/server/express4';
6
- import { mergeSchemas } from '@graphql-tools/schema';
7
- import { Metadata } from '@memberjunction/core';
8
- import { setupSQLServerClient, SQLServerProviderConfigData, UserCache } from '@memberjunction/sqlserver-dataprovider';
9
- import { default as BodyParser } from 'body-parser';
10
- import cors from 'cors';
11
- import express from 'express';
12
- import { default as fg } from 'fast-glob';
13
- import { useServer } from 'graphql-ws/lib/use/ws';
14
- import { createServer } from 'node:http';
15
- import { fileURLToPath } from 'node:url';
16
- import { sep } from 'node:path';
17
- import 'reflect-metadata';
18
- import { ReplaySubject } from 'rxjs';
19
- import { BuildSchemaOptions, buildSchemaSync, GraphQLTimestamp } from 'type-graphql';
20
- import { DataSource } from 'typeorm';
21
- import { WebSocketServer } from 'ws';
22
- import buildApolloServer from './apolloServer';
23
- import { configInfo, graphqlPort, graphqlRootPath, mj_core_schema, websiteRunFromPackage } from './config';
24
- import { contextFunction, getUserPayload } from './context';
25
- import { publicDirective } from './directives';
26
- import orm from './orm';
27
-
28
- import { LoadActionEntityServer } from '@memberjunction/actions';
29
- LoadActionEntityServer(); // prevent tree shaking for this dynamic module
30
-
31
- import { LoadGeneratedActions } from '@memberjunction/core-actions';
32
- LoadGeneratedActions(); // prevent tree shaking for this dynamic module
33
-
34
- import { ExternalChangeDetectorEngine } from '@memberjunction/external-change-detection';
35
-
36
- const cacheRefreshInterval = configInfo.databaseSettings.metadataCacheRefreshInterval;
37
-
38
- export { MaxLength } from 'class-validator';
39
- export * from 'type-graphql';
40
- export { NewUserBase } from './auth/newUsers';
41
- export { configInfo } from './config';
42
- export * from './directives';
43
- export * from './entitySubclasses/userViewEntity.server';
44
- export * from './entitySubclasses/entityPermissions.server';
45
- export * from './entitySubclasses/DuplicateRunEntity.server';
46
- export * from './types';
47
- export { TokenExpiredError } from './auth';
48
-
49
- export * from './generic/PushStatusResolver';
50
- export * from './generic/ResolverBase';
51
- export * from './generic/RunViewResolver';
52
- export * from './generic/KeyValuePairInput';
53
- export * from './generic/KeyInputOutputTypes';
54
- export * from './generic/DeleteOptionsInput';
55
-
56
- export * from './resolvers/AskSkipResolver';
57
- export * from './resolvers/ColorResolver';
58
- export * from './resolvers/DatasetResolver';
59
- export * from './resolvers/EntityRecordNameResolver';
60
- export * from './resolvers/MergeRecordsResolver';
61
- export * from './resolvers/ReportResolver';
62
-
63
- export * from './generated/generated';
64
-
65
- import { resolve } from 'node:path';
66
-
67
- const localPath = (p: string) => {
68
- // Convert import.meta.url to a local directory path
69
- const dirname = fileURLToPath(new URL('.', import.meta.url));
70
- // Resolve the provided path relative to the derived directory path
71
- const resolvedPath = resolve(dirname, p);
72
- return resolvedPath;
73
- };
74
-
75
- export const serve = async (resolverPaths: Array<string>) => {
76
- const localResolverPaths = ['resolvers/**/*Resolver.{js,ts}', 'generic/*Resolver.{js,ts}', 'generated/generated.{js,ts}'].map(localPath);
77
-
78
- const combinedResolverPaths = [...resolverPaths, ...localResolverPaths];
79
-
80
- const isWindows = sep === '\\';
81
- const globs = combinedResolverPaths.flatMap((path) => (isWindows ? path.replace(/\\/g, '/') : path));
82
- const paths = fg.globSync(globs);
83
- if (paths.length === 0) {
84
- console.warn(`No resolvers found in ${combinedResolverPaths.join(', ')}`);
85
- console.log({ combinedResolverPaths, paths, cwd: process.cwd() });
86
- }
87
-
88
- const dataSource = new DataSource(orm(paths));
89
- const setupComplete$ = new ReplaySubject(1);
90
- await dataSource.initialize();
91
-
92
- const config = new SQLServerProviderConfigData(dataSource, '', mj_core_schema, cacheRefreshInterval);
93
- await setupSQLServerClient(config); // datasource is already initialized, so we can setup the client right away
94
- const md = new Metadata();
95
- console.log(`Data Source has been initialized. ${md?.Entities ? md.Entities.length : 0} entities loaded.`);
96
- setupComplete$.next(true);
97
-
98
- /******TEST HARNESS FOR CHANGE DETECTION */
99
- /******TEST HARNESS FOR CHANGE DETECTION */
100
- // const cd = ExternalChangeDetectorEngine.Instance;
101
- // await cd.Config(false, UserCache.Users[0]);
102
-
103
- // // don't wait for this, just run it and show in console whenever done.
104
- // cd.DetectChangesForAllEligibleEntities().then(result => {
105
- // console.log(result)
106
- // cd.ReplayChanges(result.Changes).then(replayResult => {
107
- // console.log(replayResult)
108
- // });
109
- // });
110
- /******TEST HARNESS FOR CHANGE DETECTION */
111
- /******TEST HARNESS FOR CHANGE DETECTION */
112
-
113
- const dynamicModules = await Promise.all(paths.map((modulePath) => import(isWindows ? `file://${modulePath}` : modulePath)));
114
- const resolvers = dynamicModules.flatMap((module) =>
115
- Object.values(module).filter((value) => typeof value === 'function')
116
- ) as BuildSchemaOptions['resolvers'];
117
-
118
- const schema = publicDirective.transformer(
119
- mergeSchemas({
120
- schemas: [
121
- buildSchemaSync({
122
- resolvers,
123
- validate: false,
124
- scalarsMap: [{ type: Date, scalar: GraphQLTimestamp }],
125
- emitSchemaFile: websiteRunFromPackage !== 1,
126
- }),
127
- ],
128
- typeDefs: [publicDirective.typeDefs],
129
- })
130
- );
131
-
132
- const app = express();
133
- const httpServer = createServer(app);
134
-
135
- const webSocketServer = new WebSocketServer({ server: httpServer, path: graphqlRootPath });
136
- const serverCleanup = useServer(
137
- {
138
- schema,
139
- context: async ({ connectionParams }) => {
140
- const userPayload = await getUserPayload(String(connectionParams?.Authorization), undefined, dataSource);
141
- return { userPayload };
142
- },
143
- },
144
- webSocketServer
145
- );
146
-
147
- const apolloServer = buildApolloServer({ schema }, { httpServer, serverCleanup });
148
- await apolloServer.start();
149
-
150
- app.use(
151
- graphqlRootPath,
152
- cors<cors.CorsRequest>(),
153
- BodyParser.json({ limit: '50mb' }),
154
- expressMiddleware(apolloServer, {
155
- context: contextFunction({ setupComplete$, dataSource }),
156
- })
157
- );
158
-
159
- await new Promise<void>((resolve) => httpServer.listen({ port: graphqlPort }, resolve));
160
- console.log(`🚀 Server ready at http://localhost:${graphqlPort}/`);
161
- };
package/src/orm.ts DELETED
@@ -1,36 +0,0 @@
1
- import { DataSourceOptions } from 'typeorm';
2
- import { configInfo, dbDatabase, dbHost, dbPassword, dbPort, dbUsername, dbInstanceName, dbTrustServerCertificate } from './config';
3
-
4
- const orm = (entities: Array<string>): DataSourceOptions => {
5
- const ormConfig = {
6
- type: 'mssql' as const,
7
- entities,
8
- logging: false,
9
- host: dbHost,
10
- port: dbPort,
11
- username: dbUsername,
12
- password: dbPassword,
13
- database: dbDatabase,
14
- synchronize: false,
15
- requestTimeout: configInfo.databaseSettings.requestTimeout,
16
- connectionTimeout: configInfo.databaseSettings.connectionTimeout,
17
- options: {}
18
- };
19
- if (dbInstanceName !== null && dbInstanceName !== undefined && dbInstanceName.trim().length > 0) {
20
- ormConfig.options = {
21
- ...ormConfig.options,
22
- instanceName: dbInstanceName
23
- };
24
- }
25
- if (dbTrustServerCertificate !== null && dbTrustServerCertificate !== undefined) {
26
- ormConfig.options = {
27
- ...ormConfig.options,
28
- trustServerCertificate: dbTrustServerCertificate
29
- };
30
- }
31
-
32
- //console.log({ ormConfig: { ...ormConfig, password: '***' } });
33
- return ormConfig;
34
- };
35
-
36
- export default orm;