@digitaldefiance/suite-core-lib 1.0.3 → 1.0.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/README.md +18 -11
- package/dist/defaults.d.ts +1 -1
- package/dist/defaults.d.ts.map +1 -1
- package/dist/defaults.js.map +1 -1
- package/dist/interfaces/bases/email-token.d.ts.map +1 -1
- package/dist/interfaces/bases/token-role.d.ts.map +1 -1
- package/dist/interfaces/has-soft-deleter.d.ts.map +1 -1
- package/dist/interfaces/models/email-token.d.ts.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -182,22 +182,29 @@ const userSchema = new mongoose.Schema<IBackendUser<'en'>>({
|
|
|
182
182
|
|
|
183
183
|
## 🔧 Advanced Configuration
|
|
184
184
|
|
|
185
|
-
### Custom Model Extensions
|
|
185
|
+
### Custom Model Extensions & Dynamic Registration
|
|
186
186
|
|
|
187
|
-
|
|
188
|
-
import { BaseModelName, ExtendedModelName } from '@digitaldefiance/suite-core-lib';
|
|
187
|
+
> **Note:** The static `ModelName` and `BaseModelName` enums are deprecated. For extensibility, use dynamic model registration (see `ModelRegistry` in `node-express-suite`).
|
|
189
188
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
189
|
+
You can now register and extend models dynamically:
|
|
190
|
+
|
|
191
|
+
```typescript
|
|
192
|
+
import { ModelRegistry } from '@digitaldefiance/node-express-suite';
|
|
193
|
+
|
|
194
|
+
// Register a custom model (e.g., Organization)
|
|
195
|
+
ModelRegistry.instance.register({
|
|
196
|
+
modelName: 'Organization',
|
|
197
|
+
schema: organizationSchema,
|
|
198
|
+
model: OrganizationModel,
|
|
199
|
+
collection: 'organizations',
|
|
200
|
+
});
|
|
196
201
|
|
|
197
|
-
|
|
198
|
-
|
|
202
|
+
// Retrieve a model anywhere in your app
|
|
203
|
+
const orgModel = ModelRegistry.instance.get('Organization')?.model;
|
|
199
204
|
```
|
|
200
205
|
|
|
206
|
+
This approach allows other libraries and apps to extend or override models at runtime, supporting advanced use cases like multi-tenancy and plugin architectures.
|
|
207
|
+
|
|
201
208
|
### Email Token Types
|
|
202
209
|
|
|
203
210
|
```typescript
|
package/dist/defaults.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DeepPartial } from './interfaces/deep-partial';
|
|
2
1
|
import { IConstants } from './interfaces/constants';
|
|
2
|
+
import { DeepPartial } from './interfaces/deep-partial';
|
|
3
3
|
export type ConfigurationKey = string | symbol;
|
|
4
4
|
export declare function createSuiteCoreRuntimeConfiguration(siteDomain?: string, overrides?: DeepPartial<IConstants>): IConstants;
|
|
5
5
|
export declare function registerSuiteCoreRuntimeConfiguration(key?: ConfigurationKey, siteDomain?: string, overrides?: DeepPartial<IConstants>): IConstants;
|
package/dist/defaults.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AA2C/C,wBAAgB,mCAAmC,CACjD,UAAU,GAAE,MAAoB,EAChC,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAClC,UAAU,CAGZ;AAED,wBAAgB,qCAAqC,CACnD,GAAG,GAAE,gBAA4C,EACjD,UAAU,GAAE,MAAoB,EAChC,SAAS,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,GAClC,UAAU,CAIZ;AAED,wBAAgB,gCAAgC,CAC9C,GAAG,GAAE,gBAA4C,GAChD,UAAU,CAKZ"}
|
package/dist/defaults.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":";;AA+CA,kFAMC;AAED,sFAQC;AAED,4EAOC;AAxED,2CAA8C;AAM9C,MAAM,yBAAyB,GAAqB,MAAM,CAAC,GAAG,CAC5D,6CAA6C,CAC9C,CAAC;AAEF,MAAM,QAAQ,GAAsC,IAAI,GAAG,EAAE,CAAC;AAE9D,SAAS,SAAS,CAAI,KAAQ;IAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAiB,CAAC;IACtE,IAAI,KAAK,YAAY,MAAM;QACzB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAiB,CAAC;IAC/D,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAiB,CAAC;IAC5E,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAS,UAAU,CAAI,GAAM;IAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/C,MAAM,KAAK,GAAI,GAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,cAAc,CAAI,MAAS,EAAE,SAA0B;IAC9D,IAAI,CAAC,SAAS;QAAE,OAAO,MAAM,CAAC;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACvB,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,mCAAmC,CACjD,aAAqB,WAAW,EAChC,SAAmC;IAEnC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAA,2BAAe,EAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;IACtE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,qCAAqC,CACnD,MAAwB,yBAAyB,EACjD,aAAqB,WAAW,EAChC,SAAmC;IAEnC,MAAM,MAAM,GAAG,mCAAmC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC1E,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,gCAAgC,CAC9C,MAAwB,yBAAyB;IAEjD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../src/interfaces/bases/email-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../src/interfaces/bases/email-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,EACD,CAAC,SAAS,IAAI,GAAG,MAAM,EACvB,CAAC,SAAS,cAAc,GAAG,MAAM,CACjC,SAAQ,MAAM,CAAC,CAAC,CAAC,EACf,cAAc,CAAC,CAAC,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IACV;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC;CACd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-role.d.ts","sourceRoot":"","sources":["../../../src/interfaces/bases/token-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,UAAU,
|
|
1
|
+
{"version":3,"file":"token-role.d.ts","sourceRoot":"","sources":["../../../src/interfaces/bases/token-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG,MAAM,GAAG,IAAI,CAC3D,SAAQ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;IACvB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-soft-deleter.d.ts","sourceRoot":"","sources":["../../src/interfaces/has-soft-deleter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"has-soft-deleter.d.ts","sourceRoot":"","sources":["../../src/interfaces/has-soft-deleter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../src/interfaces/models/email-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"email-token.d.ts","sourceRoot":"","sources":["../../../src/interfaces/models/email-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digitaldefiance/suite-core-lib",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Generic user system and document system common core for applications",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"publish:public": "npm publish --access public"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@digitaldefiance/ecies-lib": "1.0.
|
|
20
|
-
"@digitaldefiance/i18n-lib": "1.1.
|
|
21
|
-
"@digitaldefiance/node-ecies-lib": "1.0.
|
|
19
|
+
"@digitaldefiance/ecies-lib": "1.0.27",
|
|
20
|
+
"@digitaldefiance/i18n-lib": "1.1.5",
|
|
21
|
+
"@digitaldefiance/node-ecies-lib": "1.0.9"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@babel/core": "^7.28.4",
|