@memberjunction/server 1.8.0 → 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.
- package/CHANGELOG.json +160 -1
- package/CHANGELOG.md +34 -2
- package/package.json +30 -39
- package/src/apolloServer/index.ts +0 -1
- package/src/auth/newUsers.ts +4 -3
- package/src/context.ts +19 -27
- package/src/entitySubclasses/entityPermissions.server.ts +3 -3
- package/src/generated/generated.ts +13440 -12226
- package/src/generic/ResolverBase.ts +297 -172
- package/src/generic/RunViewResolver.ts +204 -14
- package/src/index.ts +18 -19
- package/src/resolvers/AskSkipResolver.ts +44 -44
- package/src/resolvers/ColorResolver.ts +3 -14
- package/src/resolvers/DatasetResolver.ts +4 -4
- package/src/resolvers/EntityCommunicationsResolver.ts +42 -20
- package/src/resolvers/FileCategoryResolver.ts +2 -2
- package/src/resolvers/FileResolver.ts +6 -4
- package/src/resolvers/MergeRecordsResolver.ts +3 -2
- package/src/resolvers/PotentialDuplicateRecordResolver.ts +48 -40
- package/src/resolvers/QueryResolver.ts +2 -2
- package/src/resolvers/ReportResolver.ts +6 -6
- package/src/resolvers/UserFavoriteResolver.ts +8 -8
- package/src/resolvers/UserResolver.ts +3 -1
- package/src/resolvers/UserViewResolver.ts +1 -1
- package/src/types.ts +21 -0
- package/tsconfig.json +3 -4
- package/dist/apolloServer/TransactionPlugin.d.ts +0 -4
- package/dist/apolloServer/TransactionPlugin.d.ts.map +0 -1
- package/dist/apolloServer/TransactionPlugin.js +0 -49
- package/dist/apolloServer/TransactionPlugin.js.map +0 -1
- package/dist/apolloServer/index.d.ts +0 -11
- package/dist/apolloServer/index.d.ts.map +0 -1
- package/dist/apolloServer/index.js +0 -27
- package/dist/apolloServer/index.js.map +0 -1
- package/dist/auth/exampleNewUserSubClass.d.ts +0 -6
- package/dist/auth/exampleNewUserSubClass.d.ts.map +0 -1
- package/dist/auth/exampleNewUserSubClass.js +0 -54
- package/dist/auth/exampleNewUserSubClass.js.map +0 -1
- package/dist/auth/index.d.ts +0 -30
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -129
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/newUsers.d.ts +0 -5
- package/dist/auth/newUsers.d.ts.map +0 -1
- package/dist/auth/newUsers.js +0 -66
- package/dist/auth/newUsers.js.map +0 -1
- package/dist/auth/tokenExpiredError.d.ts +0 -5
- package/dist/auth/tokenExpiredError.d.ts.map +0 -1
- package/dist/auth/tokenExpiredError.js +0 -16
- package/dist/auth/tokenExpiredError.js.map +0 -1
- package/dist/cache.d.ts +0 -3
- package/dist/cache.d.ts.map +0 -1
- package/dist/cache.js +0 -11
- package/dist/cache.js.map +0 -1
- package/dist/config.d.ts +0 -196
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -72
- package/dist/config.js.map +0 -1
- package/dist/context.d.ts +0 -17
- package/dist/context.d.ts.map +0 -1
- package/dist/context.js +0 -114
- package/dist/context.js.map +0 -1
- package/dist/directives/Public.d.ts +0 -4
- package/dist/directives/Public.d.ts.map +0 -1
- package/dist/directives/Public.js +0 -34
- package/dist/directives/Public.js.map +0 -1
- package/dist/directives/index.d.ts +0 -2
- package/dist/directives/index.d.ts.map +0 -1
- package/dist/directives/index.js +0 -18
- package/dist/directives/index.js.map +0 -1
- package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts +0 -6
- package/dist/entitySubclasses/DuplicateRunEntity.server.d.ts.map +0 -1
- package/dist/entitySubclasses/DuplicateRunEntity.server.js +0 -37
- package/dist/entitySubclasses/DuplicateRunEntity.server.js.map +0 -1
- package/dist/entitySubclasses/EntityBehavior.server.d.ts +0 -29
- package/dist/entitySubclasses/EntityBehavior.server.d.ts.map +0 -1
- package/dist/entitySubclasses/EntityBehavior.server.js +0 -213
- package/dist/entitySubclasses/EntityBehavior.server.js.map +0 -1
- package/dist/entitySubclasses/entityPermissions.server.d.ts +0 -23
- package/dist/entitySubclasses/entityPermissions.server.d.ts.map +0 -1
- package/dist/entitySubclasses/entityPermissions.server.js +0 -99
- package/dist/entitySubclasses/entityPermissions.server.js.map +0 -1
- package/dist/entitySubclasses/userViewEntity.server.d.ts +0 -13
- package/dist/entitySubclasses/userViewEntity.server.d.ts.map +0 -1
- package/dist/entitySubclasses/userViewEntity.server.js +0 -164
- package/dist/entitySubclasses/userViewEntity.server.js.map +0 -1
- package/dist/generated/generated.d.ts +0 -6420
- package/dist/generated/generated.d.ts.map +0 -1
- package/dist/generated/generated.js +0 -34770
- package/dist/generated/generated.js.map +0 -1
- package/dist/generic/DeleteOptionsInput.d.ts +0 -5
- package/dist/generic/DeleteOptionsInput.d.ts.map +0 -1
- package/dist/generic/DeleteOptionsInput.js +0 -28
- package/dist/generic/DeleteOptionsInput.js.map +0 -1
- package/dist/generic/KeyInputOutputTypes.d.ts +0 -16
- package/dist/generic/KeyInputOutputTypes.d.ts.map +0 -1
- package/dist/generic/KeyInputOutputTypes.js +0 -62
- package/dist/generic/KeyInputOutputTypes.js.map +0 -1
- package/dist/generic/KeyValuePairInput.d.ts +0 -5
- package/dist/generic/KeyValuePairInput.d.ts.map +0 -1
- package/dist/generic/KeyValuePairInput.js +0 -28
- package/dist/generic/KeyValuePairInput.js.map +0 -1
- package/dist/generic/PushStatusResolver.d.ts +0 -14
- package/dist/generic/PushStatusResolver.d.ts.map +0 -1
- package/dist/generic/PushStatusResolver.js +0 -58
- package/dist/generic/PushStatusResolver.js.map +0 -1
- package/dist/generic/ResolverBase.d.ts +0 -37
- package/dist/generic/ResolverBase.d.ts.map +0 -1
- package/dist/generic/ResolverBase.js +0 -468
- package/dist/generic/ResolverBase.js.map +0 -1
- package/dist/generic/RunViewResolver.d.ts +0 -88
- package/dist/generic/RunViewResolver.d.ts.map +0 -1
- package/dist/generic/RunViewResolver.js +0 -443
- package/dist/generic/RunViewResolver.js.map +0 -1
- package/dist/index.d.ts +0 -28
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -145
- package/dist/index.js.map +0 -1
- package/dist/orm.d.ts +0 -4
- package/dist/orm.d.ts.map +0 -1
- package/dist/orm.js +0 -34
- package/dist/orm.js.map +0 -1
- package/dist/resolvers/AskSkipResolver.d.ts +0 -54
- package/dist/resolvers/AskSkipResolver.d.ts.map +0 -1
- package/dist/resolvers/AskSkipResolver.js +0 -800
- package/dist/resolvers/AskSkipResolver.js.map +0 -1
- package/dist/resolvers/ColorResolver.d.ts +0 -22
- package/dist/resolvers/ColorResolver.d.ts.map +0 -1
- package/dist/resolvers/ColorResolver.js +0 -94
- package/dist/resolvers/ColorResolver.js.map +0 -1
- package/dist/resolvers/DatasetResolver.d.ts +0 -42
- package/dist/resolvers/DatasetResolver.d.ts.map +0 -1
- package/dist/resolvers/DatasetResolver.js +0 -168
- package/dist/resolvers/DatasetResolver.js.map +0 -1
- package/dist/resolvers/EntityCommunicationsResolver.d.ts +0 -49
- package/dist/resolvers/EntityCommunicationsResolver.d.ts.map +0 -1
- package/dist/resolvers/EntityCommunicationsResolver.js +0 -228
- package/dist/resolvers/EntityCommunicationsResolver.js.map +0 -1
- package/dist/resolvers/EntityRecordNameResolver.d.ts +0 -21
- package/dist/resolvers/EntityRecordNameResolver.d.ts.map +0 -1
- package/dist/resolvers/EntityRecordNameResolver.js +0 -113
- package/dist/resolvers/EntityRecordNameResolver.js.map +0 -1
- package/dist/resolvers/EntityResolver.d.ts +0 -6
- package/dist/resolvers/EntityResolver.d.ts.map +0 -1
- package/dist/resolvers/EntityResolver.js +0 -60
- package/dist/resolvers/EntityResolver.js.map +0 -1
- package/dist/resolvers/FileCategoryResolver.d.ts +0 -6
- package/dist/resolvers/FileCategoryResolver.d.ts.map +0 -1
- package/dist/resolvers/FileCategoryResolver.js +0 -65
- package/dist/resolvers/FileCategoryResolver.js.map +0 -1
- package/dist/resolvers/FileResolver.d.ts +0 -24
- package/dist/resolvers/FileResolver.d.ts.map +0 -1
- package/dist/resolvers/FileResolver.js +0 -162
- package/dist/resolvers/FileResolver.js.map +0 -1
- package/dist/resolvers/MergeRecordsResolver.d.ts +0 -59
- package/dist/resolvers/MergeRecordsResolver.d.ts.map +0 -1
- package/dist/resolvers/MergeRecordsResolver.js +0 -256
- package/dist/resolvers/MergeRecordsResolver.js.map +0 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts +0 -29
- package/dist/resolvers/PotentialDuplicateRecordResolver.d.ts.map +0 -1
- package/dist/resolvers/PotentialDuplicateRecordResolver.js +0 -127
- package/dist/resolvers/PotentialDuplicateRecordResolver.js.map +0 -1
- package/dist/resolvers/QueryResolver.d.ts +0 -13
- package/dist/resolvers/QueryResolver.d.ts.map +0 -1
- package/dist/resolvers/QueryResolver.js +0 -74
- package/dist/resolvers/QueryResolver.js.map +0 -1
- package/dist/resolvers/ReportResolver.d.ts +0 -20
- package/dist/resolvers/ReportResolver.d.ts.map +0 -1
- package/dist/resolvers/ReportResolver.js +0 -175
- package/dist/resolvers/ReportResolver.js.map +0 -1
- package/dist/resolvers/UserFavoriteResolver.d.ts +0 -42
- package/dist/resolvers/UserFavoriteResolver.d.ts.map +0 -1
- package/dist/resolvers/UserFavoriteResolver.js +0 -221
- package/dist/resolvers/UserFavoriteResolver.js.map +0 -1
- package/dist/resolvers/UserResolver.d.ts +0 -10
- package/dist/resolvers/UserResolver.d.ts.map +0 -1
- package/dist/resolvers/UserResolver.js +0 -72
- package/dist/resolvers/UserResolver.js.map +0 -1
- package/dist/resolvers/UserViewResolver.d.ts +0 -13
- package/dist/resolvers/UserViewResolver.d.ts.map +0 -1
- package/dist/resolvers/UserViewResolver.js +0 -102
- package/dist/resolvers/UserViewResolver.js.map +0 -1
- package/dist/types.d.ts +0 -17
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/util.d.ts +0 -4
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -89
- package/dist/util.js.map +0 -1
- package/src/entitySubclasses/EntityBehavior.server.ts +0 -241
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,166 @@
|
|
|
2
2
|
"name": "@memberjunction/server",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 21 Jun 2024 13:15:28 GMT",
|
|
6
|
+
"version": "1.8.1",
|
|
7
|
+
"tag": "@memberjunction/server_v1.8.1",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "97354817+AN-BC@users.noreply.github.com",
|
|
12
|
+
"package": "@memberjunction/server",
|
|
13
|
+
"commit": "5f6958b43fb127be5fcd906d13ee7f5b8c2fbe12",
|
|
14
|
+
"comment": "Applying package updates [skip ci]"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "97354817+AN-BC@users.noreply.github.com",
|
|
18
|
+
"package": "@memberjunction/server",
|
|
19
|
+
"commit": "4531707e9a6d1d1392bdc5220a0ae195b884bd1c",
|
|
20
|
+
"comment": "Applying package updates [skip ci]"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"author": "97354817+AN-BC@users.noreply.github.com",
|
|
24
|
+
"package": "@memberjunction/server",
|
|
25
|
+
"commit": "8491c57f2dadf3e575d0584761adfbe86fc24ee6",
|
|
26
|
+
"comment": "Applying package updates [skip ci]"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"author": "97354817+AN-BC@users.noreply.github.com",
|
|
30
|
+
"package": "@memberjunction/server",
|
|
31
|
+
"commit": "1301fc26a6aa1bfeabee2d641c21e03b472682aa",
|
|
32
|
+
"comment": "Applying package updates [skip ci]"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"author": "97354817+AN-BC@users.noreply.github.com",
|
|
36
|
+
"package": "@memberjunction/server",
|
|
37
|
+
"commit": "1e04a4b44ff138612b4f27f132f9310ed7427778",
|
|
38
|
+
"comment": "Applying package updates [skip ci]"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"author": "beachball",
|
|
42
|
+
"package": "@memberjunction/server",
|
|
43
|
+
"comment": "Bump @memberjunction/actions to v1.8.1",
|
|
44
|
+
"commit": "not available"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"author": "beachball",
|
|
48
|
+
"package": "@memberjunction/server",
|
|
49
|
+
"comment": "Bump @memberjunction/ai to v1.8.1",
|
|
50
|
+
"commit": "not available"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"author": "beachball",
|
|
54
|
+
"package": "@memberjunction/server",
|
|
55
|
+
"comment": "Bump @memberjunction/ai-mistral to v1.8.1",
|
|
56
|
+
"commit": "not available"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"author": "beachball",
|
|
60
|
+
"package": "@memberjunction/server",
|
|
61
|
+
"comment": "Bump @memberjunction/ai-openai to v1.8.1",
|
|
62
|
+
"commit": "not available"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"author": "beachball",
|
|
66
|
+
"package": "@memberjunction/server",
|
|
67
|
+
"comment": "Bump @memberjunction/ai-vectors-pinecone to v1.8.1",
|
|
68
|
+
"commit": "not available"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"author": "beachball",
|
|
72
|
+
"package": "@memberjunction/server",
|
|
73
|
+
"comment": "Bump @memberjunction/aiengine to v1.8.1",
|
|
74
|
+
"commit": "not available"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"author": "beachball",
|
|
78
|
+
"package": "@memberjunction/server",
|
|
79
|
+
"comment": "Bump @memberjunction/core to v1.8.1",
|
|
80
|
+
"commit": "not available"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"author": "beachball",
|
|
84
|
+
"package": "@memberjunction/server",
|
|
85
|
+
"comment": "Bump @memberjunction/core-actions to v1.8.1",
|
|
86
|
+
"commit": "not available"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"author": "beachball",
|
|
90
|
+
"package": "@memberjunction/server",
|
|
91
|
+
"comment": "Bump @memberjunction/core-entities to v1.8.1",
|
|
92
|
+
"commit": "not available"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"author": "beachball",
|
|
96
|
+
"package": "@memberjunction/server",
|
|
97
|
+
"comment": "Bump @memberjunction/data-context to v1.8.1",
|
|
98
|
+
"commit": "not available"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"author": "beachball",
|
|
102
|
+
"package": "@memberjunction/server",
|
|
103
|
+
"comment": "Bump @memberjunction/data-context-server to v1.8.1",
|
|
104
|
+
"commit": "not available"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"author": "beachball",
|
|
108
|
+
"package": "@memberjunction/server",
|
|
109
|
+
"comment": "Bump @memberjunction/doc-utils to v1.8.1",
|
|
110
|
+
"commit": "not available"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"author": "beachball",
|
|
114
|
+
"package": "@memberjunction/server",
|
|
115
|
+
"comment": "Bump @memberjunction/global to v1.8.1",
|
|
116
|
+
"commit": "not available"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"author": "beachball",
|
|
120
|
+
"package": "@memberjunction/server",
|
|
121
|
+
"comment": "Bump @memberjunction/queue to v1.8.1",
|
|
122
|
+
"commit": "not available"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"author": "beachball",
|
|
126
|
+
"package": "@memberjunction/server",
|
|
127
|
+
"comment": "Bump @memberjunction/skip-types to v1.8.1",
|
|
128
|
+
"commit": "not available"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"author": "beachball",
|
|
132
|
+
"package": "@memberjunction/server",
|
|
133
|
+
"comment": "Bump @memberjunction/sqlserver-dataprovider to v1.8.1",
|
|
134
|
+
"commit": "not available"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"author": "beachball",
|
|
138
|
+
"package": "@memberjunction/server",
|
|
139
|
+
"comment": "Bump @memberjunction/storage to v1.8.1",
|
|
140
|
+
"commit": "not available"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"author": "beachball",
|
|
144
|
+
"package": "@memberjunction/server",
|
|
145
|
+
"comment": "Bump @memberjunction/templates to v1.8.1",
|
|
146
|
+
"commit": "not available"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"author": "beachball",
|
|
150
|
+
"package": "@memberjunction/server",
|
|
151
|
+
"comment": "Bump @memberjunction/external-change-detection to v1.8.1",
|
|
152
|
+
"commit": "not available"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"author": "beachball",
|
|
156
|
+
"package": "@memberjunction/server",
|
|
157
|
+
"comment": "Bump @memberjunction/entity-communications-server to v1.8.1",
|
|
158
|
+
"commit": "not available"
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"date": "Wed, 19 Jun 2024 16:32:43 GMT",
|
|
6
165
|
"version": "1.8.0",
|
|
7
166
|
"tag": "@memberjunction/server_v1.8.0",
|
|
8
167
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
# Change Log - @memberjunction/server
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
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
|
+
## 1.8.1
|
|
8
|
+
|
|
9
|
+
Fri, 21 Jun 2024 13:15:28 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Applying package updates [skip ci] (97354817+AN-BC@users.noreply.github.com)
|
|
14
|
+
- Applying package updates [skip ci] (97354817+AN-BC@users.noreply.github.com)
|
|
15
|
+
- Applying package updates [skip ci] (97354817+AN-BC@users.noreply.github.com)
|
|
16
|
+
- Applying package updates [skip ci] (97354817+AN-BC@users.noreply.github.com)
|
|
17
|
+
- Applying package updates [skip ci] (97354817+AN-BC@users.noreply.github.com)
|
|
18
|
+
- Bump @memberjunction/actions to v1.8.1
|
|
19
|
+
- Bump @memberjunction/ai to v1.8.1
|
|
20
|
+
- Bump @memberjunction/ai-mistral to v1.8.1
|
|
21
|
+
- Bump @memberjunction/ai-openai to v1.8.1
|
|
22
|
+
- Bump @memberjunction/ai-vectors-pinecone to v1.8.1
|
|
23
|
+
- Bump @memberjunction/aiengine to v1.8.1
|
|
24
|
+
- Bump @memberjunction/core to v1.8.1
|
|
25
|
+
- Bump @memberjunction/core-actions to v1.8.1
|
|
26
|
+
- Bump @memberjunction/core-entities to v1.8.1
|
|
27
|
+
- Bump @memberjunction/data-context to v1.8.1
|
|
28
|
+
- Bump @memberjunction/data-context-server to v1.8.1
|
|
29
|
+
- Bump @memberjunction/doc-utils to v1.8.1
|
|
30
|
+
- Bump @memberjunction/global to v1.8.1
|
|
31
|
+
- Bump @memberjunction/queue to v1.8.1
|
|
32
|
+
- Bump @memberjunction/skip-types to v1.8.1
|
|
33
|
+
- Bump @memberjunction/sqlserver-dataprovider to v1.8.1
|
|
34
|
+
- Bump @memberjunction/storage to v1.8.1
|
|
35
|
+
- Bump @memberjunction/templates to v1.8.1
|
|
36
|
+
- Bump @memberjunction/external-change-detection to v1.8.1
|
|
37
|
+
- Bump @memberjunction/entity-communications-server to v1.8.1
|
|
38
|
+
|
|
7
39
|
## 1.8.0
|
|
8
40
|
|
|
9
|
-
Wed, 19 Jun 2024 16:
|
|
41
|
+
Wed, 19 Jun 2024 16:32:43 GMT
|
|
10
42
|
|
|
11
43
|
### Minor changes
|
|
12
44
|
|
package/package.json
CHANGED
|
@@ -1,46 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/server",
|
|
3
|
-
"version": "
|
|
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
|
-
"
|
|
13
|
-
"
|
|
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": "
|
|
25
|
-
"@memberjunction/ai": "
|
|
26
|
-
"@memberjunction/ai-mistral": "
|
|
27
|
-
"@memberjunction/ai-openai": "
|
|
28
|
-
"@memberjunction/ai-vectors-pinecone": "
|
|
29
|
-
"@memberjunction/aiengine": "
|
|
30
|
-
"@memberjunction/core": "
|
|
31
|
-
"@memberjunction/core-actions": "
|
|
32
|
-
"@memberjunction/core-entities": "
|
|
33
|
-
"@memberjunction/data-context": "
|
|
34
|
-
"@memberjunction/data-context-server": "
|
|
35
|
-
"@memberjunction/doc-utils": "
|
|
36
|
-
"@memberjunction/
|
|
37
|
-
"@memberjunction/
|
|
38
|
-
"@memberjunction/
|
|
39
|
-
"@memberjunction/
|
|
40
|
-
"@memberjunction/
|
|
41
|
-
"@memberjunction/
|
|
42
|
-
"@memberjunction/
|
|
43
|
-
"@memberjunction/
|
|
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-
|
|
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
|
-
"
|
|
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';
|
package/src/auth/newUsers.ts
CHANGED
|
@@ -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?:
|
|
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 =
|
|
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
|
-
|
|
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 {
|
|
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(
|
|
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(
|
|
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:
|
|
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():
|
|
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:
|
|
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();
|