@unchainedshop/core-enrollments 1.1.3 → 1.1.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/core-enrollments",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "main": "lib/enrollments-index.js",
5
5
  "types": "lib/enrollments-index.d.ts",
6
6
  "type": "module",
@@ -27,19 +27,22 @@
27
27
  },
28
28
  "homepage": "https://github.com/unchainedshop/unchained#readme",
29
29
  "dependencies": {
30
- "@unchainedshop/events": "latest",
31
- "@unchainedshop/logger": "latest",
32
- "@unchainedshop/utils": "latest",
30
+ "@unchainedshop/logger": "1.1.3",
31
+ "@unchainedshop/utils": "1.1.3",
33
32
  "later": "1.2.0",
34
33
  "locale": "0.1.0",
35
34
  "moment": "^2.29.3",
36
35
  "simpl-schema": "^1.12.2"
37
36
  },
37
+ "peerDependencies": {
38
+ "@unchainedshop/events": "1.1.3"
39
+ },
38
40
  "devDependencies": {
39
41
  "@types/chai": "^4.3.1",
40
42
  "@types/locale": "^0.1.1",
41
43
  "@types/mocha": "^9.1.1",
42
- "@unchainedshop/types": "latest",
44
+ "@unchainedshop/events": "1.1.3",
45
+ "@unchainedshop/types": "^1.1.2",
43
46
  "chai": "^4.3.6",
44
47
  "cross-env": "^7.0.3",
45
48
  "typescript": "^4.7.4"
@@ -1,7 +1,7 @@
1
1
  import { assert } from 'chai';
2
2
  import { initDb } from 'meteor/unchained:mongodb';
3
- import { configureUsersModule } from 'meteor/unchained:core-users';
4
- import { configureEnrollmentsModule } from 'meteor/unchained:core-enrollments';
3
+ import { configureUsersModule } from '@unchainedshop/core-users';
4
+ import { configureEnrollmentsModule } from '@unchainedshop/core-enrollments';
5
5
  import { EnrollmentsModule } from '@unchainedshop/types/enrollments';
6
6
  import { Context } from '@unchainedshop/types/api';
7
7
  import { User, UsersModule } from '@unchainedshop/types/user';
@@ -1,7 +0,0 @@
1
- This directory and the files immediately inside it are automatically generated
2
- when you change this package's NPM dependencies. Commit the files in this
3
- directory (npm-shrinkwrap.json, .gitignore, and this README) to source control
4
- so that others run the same versions of sub-dependencies.
5
-
6
- You should NOT check in the node_modules directory that Meteor automatically
7
- creates; if you are using git, the .gitignore file tells git to ignore it.
@@ -1,205 +0,0 @@
1
- {
2
- "lockfileVersion": 1,
3
- "dependencies": {
4
- "@colors/colors": {
5
- "version": "1.5.0",
6
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
7
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
8
- },
9
- "@dabh/diagnostics": {
10
- "version": "2.0.3",
11
- "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz",
12
- "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA=="
13
- },
14
- "@unchainedshop/logger": {
15
- "version": "1.1.0",
16
- "resolved": "https://registry.npmjs.org/@unchainedshop/logger/-/logger-1.1.0.tgz",
17
- "integrity": "sha512-PwS2wtlwzRo1RlfRbKQN6cLCz7XEp2dGmVbXCQ1E49O9VvAYNh5mdTg2BNoWYZ1Sl7KWpLkANNYispb+X/Y4jw=="
18
- },
19
- "async": {
20
- "version": "3.2.4",
21
- "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
22
- "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
23
- },
24
- "clone": {
25
- "version": "2.1.2",
26
- "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
27
- "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="
28
- },
29
- "color": {
30
- "version": "3.2.1",
31
- "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
32
- "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA=="
33
- },
34
- "color-convert": {
35
- "version": "1.9.3",
36
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
37
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
38
- },
39
- "color-name": {
40
- "version": "1.1.3",
41
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
42
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
43
- },
44
- "color-string": {
45
- "version": "1.9.1",
46
- "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
47
- "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="
48
- },
49
- "colorspace": {
50
- "version": "1.1.4",
51
- "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
52
- "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w=="
53
- },
54
- "enabled": {
55
- "version": "2.0.0",
56
- "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
57
- "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
58
- },
59
- "fecha": {
60
- "version": "4.2.3",
61
- "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz",
62
- "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw=="
63
- },
64
- "fn.name": {
65
- "version": "1.1.0",
66
- "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
67
- "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
68
- },
69
- "inherits": {
70
- "version": "2.0.4",
71
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
72
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
73
- },
74
- "is-arrayish": {
75
- "version": "0.3.2",
76
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
77
- "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
78
- },
79
- "is-stream": {
80
- "version": "2.0.1",
81
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
82
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
83
- },
84
- "kuler": {
85
- "version": "2.0.0",
86
- "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
87
- "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
88
- },
89
- "later": {
90
- "version": "1.2.0",
91
- "resolved": "https://registry.npmjs.org/later/-/later-1.2.0.tgz",
92
- "integrity": "sha512-Gi4c6JariwTigfAQLFCyWKKtyY5yzMZOdJdUH9Ori4FqQxQYDREvDRTu5N+jBM7hcnyEDMeYjhmRUTwLIjEMqA=="
93
- },
94
- "locale": {
95
- "version": "0.1.0",
96
- "resolved": "https://registry.npmjs.org/locale/-/locale-0.1.0.tgz",
97
- "integrity": "sha512-rY3ZMnUkMfaZEix1fp/pjdwsHJkDQcE0UEcXHuYI77J03K8gddL3iD+UuJCLAmT2Z2oz5A70/0QS4J9OLCCvXw=="
98
- },
99
- "lodash._reinterpolate": {
100
- "version": "3.0.0",
101
- "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
102
- "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA=="
103
- },
104
- "lodash.template": {
105
- "version": "4.5.0",
106
- "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
107
- "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A=="
108
- },
109
- "lodash.templatesettings": {
110
- "version": "4.2.0",
111
- "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
112
- "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ=="
113
- },
114
- "logform": {
115
- "version": "2.4.0",
116
- "resolved": "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz",
117
- "integrity": "sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw=="
118
- },
119
- "message-box": {
120
- "version": "0.2.7",
121
- "resolved": "https://registry.npmjs.org/message-box/-/message-box-0.2.7.tgz",
122
- "integrity": "sha512-C4ccA5nHb58kTS+pLrgF/JWtr7fAIkHxRDceH7tdy5fMA783nUfbYwZ7H2XLvSeYfcnWIYCig5dWW+icK9X/Ag=="
123
- },
124
- "moment": {
125
- "version": "2.29.1",
126
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz",
127
- "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
128
- },
129
- "mongo-object": {
130
- "version": "0.1.4",
131
- "resolved": "https://registry.npmjs.org/mongo-object/-/mongo-object-0.1.4.tgz",
132
- "integrity": "sha512-QtYk0gupWEn2+iB+DDRt1L+WbcNYvJRaHdih/dcqthOa1DbnREUGSs2WGcW478GNYpElflo/yybZXu0sTiRXHg=="
133
- },
134
- "ms": {
135
- "version": "2.1.3",
136
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
137
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
138
- },
139
- "one-time": {
140
- "version": "1.0.0",
141
- "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
142
- "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g=="
143
- },
144
- "readable-stream": {
145
- "version": "3.6.0",
146
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
147
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
148
- },
149
- "safe-buffer": {
150
- "version": "5.2.1",
151
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
152
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
153
- },
154
- "safe-stable-stringify": {
155
- "version": "2.3.1",
156
- "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz",
157
- "integrity": "sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg=="
158
- },
159
- "simpl-schema": {
160
- "version": "1.12.0",
161
- "resolved": "https://registry.npmjs.org/simpl-schema/-/simpl-schema-1.12.0.tgz",
162
- "integrity": "sha512-lzXC3L8jJbPhNXGR3cjlyIauqqrC5WUJS4O34Ym/wLIvb8K3ZieK+1OfTzs4mBpDc3Y8u53gQFAr1X37DmTcEg=="
163
- },
164
- "simple-swizzle": {
165
- "version": "0.2.2",
166
- "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
167
- "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="
168
- },
169
- "stack-trace": {
170
- "version": "0.0.10",
171
- "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
172
- "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg=="
173
- },
174
- "string_decoder": {
175
- "version": "1.3.0",
176
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
177
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="
178
- },
179
- "text-hex": {
180
- "version": "1.0.0",
181
- "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
182
- "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
183
- },
184
- "triple-beam": {
185
- "version": "1.3.0",
186
- "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
187
- "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
188
- },
189
- "util-deprecate": {
190
- "version": "1.0.2",
191
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
192
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
193
- },
194
- "winston": {
195
- "version": "3.7.2",
196
- "resolved": "https://registry.npmjs.org/winston/-/winston-3.7.2.tgz",
197
- "integrity": "sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng=="
198
- },
199
- "winston-transport": {
200
- "version": "4.5.0",
201
- "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz",
202
- "integrity": "sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q=="
203
- }
204
- }
205
- }
package/.versions DELETED
@@ -1,55 +0,0 @@
1
- allow-deny@1.1.1
2
- babel-compiler@7.9.0
3
- babel-runtime@1.5.1
4
- base64@1.0.12
5
- binary-heap@1.0.11
6
- boilerplate-generator@1.7.1
7
- callback-hook@1.4.0
8
- check@1.3.1
9
- ddp@1.4.0
10
- ddp-client@2.5.0
11
- ddp-common@1.4.0
12
- ddp-server@2.5.0
13
- diff-sequence@1.1.1
14
- dynamic-import@0.7.2
15
- ecmascript@0.16.2
16
- ecmascript-runtime@0.8.0
17
- ecmascript-runtime-client@0.12.1
18
- ecmascript-runtime-server@0.11.0
19
- ejson@1.1.2
20
- fetch@0.1.1
21
- geojson-utils@1.0.10
22
- id-map@1.1.1
23
- inter-process-messaging@0.1.1
24
- local-test:unchained:core-enrollments@1.1.1
25
- logging@1.3.1
26
- meteor@1.10.0
27
- meteortesting:browser-tests@0.1.2
28
- meteortesting:mocha@0.4.4
29
- minimongo@1.8.0
30
- modern-browsers@0.1.8
31
- modules@0.18.0
32
- modules-runtime@0.13.0
33
- mongo@1.15.0
34
- mongo-decimal@0.1.3
35
- mongo-dev-server@1.1.0
36
- mongo-id@1.0.8
37
- npm-mongo@4.3.1
38
- ordered-dict@1.1.0
39
- practicalmeteor:mocha-core@1.0.1
40
- promise@0.12.0
41
- random@1.2.0
42
- react-fast-refresh@0.2.3
43
- reload@1.3.1
44
- retry@1.1.0
45
- routepolicy@1.1.1
46
- socket-stream-client@0.5.0
47
- tracker@1.2.0
48
- typescript@4.5.4
49
- unchained:core-enrollments@1.1.1
50
- unchained:core-users@1.0.0-beta16
51
-
52
- unchained:mongodb@1.0.0
53
- underscore@1.0.10
54
- webapp@1.13.1
55
- webapp-hashing@1.1.0
package/package.js DELETED
@@ -1,37 +0,0 @@
1
- Package.describe({
2
- name: 'unchained:core-enrollments',
3
- version: '1.1.3',
4
- summary: 'Unchained Engine Core: Enrollments',
5
- git: 'https://github.com/unchainedshop/unchained',
6
- documentation: 'README.md',
7
- });
8
-
9
- Npm.depends({
10
- later: '1.2.0',
11
- locale: '0.1.0',
12
- moment: '2.29.1',
13
- 'simpl-schema': '1.12.0',
14
- '@unchainedshop/logger': '1.1.3',
15
- '@unchainedshop/utils': '1.1.3',
16
- // '@unchainedshop/events': '1.1.4', // PEER
17
- });
18
-
19
- Package.onUse((api) => {
20
- api.versionsFrom('2.7.3');
21
- api.use('ecmascript');
22
- api.use('typescript');
23
-
24
- api.mainModule('src/enrollments-index.ts', 'server');
25
- });
26
-
27
- Package.onTest((api) => {
28
- api.use('meteortesting:mocha');
29
- api.use('ecmascript');
30
- api.use('typescript');
31
-
32
- api.use('unchained:mongodb');
33
- api.use('unchained:core-users');
34
- api.use('unchained:core-enrollments');
35
-
36
- api.mainModule('tests/enrollments-index.test.ts');
37
- });
@@ -1,49 +0,0 @@
1
- import { IEnrollmentAdapter } from '@unchainedshop/types/enrollments';
2
- import { EnrollmentDirector, EnrollmentAdapter } from 'meteor/unchained:core-enrollments';
3
-
4
- const rangeMatcher = (date = new Date()) => {
5
- const timestamp = date.getTime();
6
- return ({ start, end }) => {
7
- const startTimestamp = new Date(start).getTime();
8
- const endTimestamp = new Date(end).getTime();
9
- return startTimestamp <= timestamp && endTimestamp >= timestamp;
10
- };
11
- };
12
-
13
- const LicensedEnrollments: IEnrollmentAdapter = {
14
- ...EnrollmentAdapter,
15
-
16
- key: 'shop.unchained.enrollments.licensed',
17
- version: '1.0',
18
- label: 'Simple Licensed Enrollments',
19
-
20
- isActivatedFor: (productPlan) => {
21
- return productPlan?.usageCalculationType === 'LICENSED';
22
- },
23
-
24
- actions: (params) => {
25
- return {
26
- ...EnrollmentAdapter.actions(params),
27
-
28
- isValidForActivation: async () => {
29
- const periods = params.enrollment?.periods || [];
30
- return periods.findIndex(rangeMatcher()) !== -1;
31
- },
32
-
33
- isOverdue: async () => {
34
- return false;
35
- },
36
-
37
- configurationForOrder: async (context) => {
38
- const { period } = context;
39
- const beginningOfPeriod = period.start.getTime() <= new Date().getTime();
40
- if (beginningOfPeriod) {
41
- return context;
42
- }
43
- return null;
44
- },
45
- };
46
- },
47
- };
48
-
49
- EnrollmentDirector.registerAdapter(LicensedEnrollments);