@brightchain/brightchain-api-lib 0.17.2 → 0.18.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/package.json +4 -4
- package/src/index.d.ts +2 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +7 -7
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +21 -43
- package/src/lib/application.js.map +1 -1
- package/src/lib/controllers/api/channels.d.ts +1 -3
- package/src/lib/controllers/api/channels.d.ts.map +1 -1
- package/src/lib/controllers/api/channels.js +13 -13
- package/src/lib/controllers/api/channels.js.map +1 -1
- package/src/lib/controllers/api/conversations.d.ts +1 -2
- package/src/lib/controllers/api/conversations.d.ts.map +1 -1
- package/src/lib/controllers/api/conversations.js +7 -7
- package/src/lib/controllers/api/conversations.js.map +1 -1
- package/src/lib/controllers/api/emails.d.ts.map +1 -1
- package/src/lib/controllers/api/emails.js +12 -14
- package/src/lib/controllers/api/emails.js.map +1 -1
- package/src/lib/controllers/api/explodingMessages.d.ts +1 -2
- package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -1
- package/src/lib/controllers/api/explodingMessages.js +11 -11
- package/src/lib/controllers/api/explodingMessages.js.map +1 -1
- package/src/lib/controllers/api/groups.d.ts +1 -3
- package/src/lib/controllers/api/groups.d.ts.map +1 -1
- package/src/lib/controllers/api/groups.js +9 -9
- package/src/lib/controllers/api/groups.js.map +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts.map +1 -1
- package/src/lib/controllers/crypto/gitController.js +8 -8
- package/src/lib/controllers/crypto/gitController.js.map +1 -1
- package/src/lib/controllers/crypto/walletController.d.ts +1 -1
- package/src/lib/controllers/crypto/walletController.d.ts.map +1 -1
- package/src/lib/controllers/crypto/walletController.js +5 -5
- package/src/lib/controllers/crypto/walletController.js.map +1 -1
- package/src/lib/controllers/identity/deviceController.d.ts +1 -2
- package/src/lib/controllers/identity/deviceController.d.ts.map +1 -1
- package/src/lib/controllers/identity/deviceController.js +7 -8
- package/src/lib/controllers/identity/deviceController.js.map +1 -1
- package/src/lib/controllers/identity/directoryController.d.ts +1 -2
- package/src/lib/controllers/identity/directoryController.d.ts.map +1 -1
- package/src/lib/controllers/identity/directoryController.js +6 -7
- package/src/lib/controllers/identity/directoryController.js.map +1 -1
- package/src/lib/controllers/identity/identityProofController.d.ts +1 -1
- package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -1
- package/src/lib/controllers/identity/identityProofController.js +15 -17
- package/src/lib/controllers/identity/identityProofController.js.map +1 -1
- package/src/lib/enumerations/brightChainApiStrings.d.ts +1 -1
- package/src/lib/enumerations/brightChainApiStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainApiStrings.js +1 -1
- package/src/lib/enumerations/brightChainApiStrings.js.map +1 -1
- package/src/lib/environment.d.ts +4 -4
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +5 -4
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/index.d.ts +1 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/member-init-config.d.ts +20 -0
- package/src/lib/interfaces/member-init-config.d.ts.map +1 -0
- package/src/lib/{documents/base.js → interfaces/member-init-config.js} +1 -1
- package/src/lib/interfaces/member-init-config.js.map +1 -0
- package/src/lib/interfaces/schema.d.ts +5 -3
- package/src/lib/interfaces/schema.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +4 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +14 -2
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/mnemonicSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js +22 -0
- package/src/lib/interfaces/storage/mnemonicSchema.js.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/roleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/roleSchema.js +45 -0
- package/src/lib/interfaces/storage/roleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts +10 -0
- package/src/lib/interfaces/storage/userRoleSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userRoleSchema.js +35 -0
- package/src/lib/interfaces/storage/userRoleSchema.js.map +1 -0
- package/src/lib/interfaces/storage/userSchema.d.ts +12 -0
- package/src/lib/interfaces/storage/userSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/userSchema.js +62 -0
- package/src/lib/interfaces/storage/userSchema.js.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts +150 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.js +252 -0
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -0
- package/src/lib/plugins/configure-brightchain-app.d.ts +41 -0
- package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -0
- package/src/lib/plugins/configure-brightchain-app.js +70 -0
- package/src/lib/plugins/configure-brightchain-app.js.map +1 -0
- package/src/lib/routers/api.d.ts +1 -5
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/services/blockStore.d.ts +1 -2
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +4 -6
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.d.ts +35 -0
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -0
- package/src/lib/services/brightchain-authentication-provider.js +196 -0
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -0
- package/src/lib/services/brightchain-member-init.service.d.ts +103 -20
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +407 -1
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/expirationScheduler.d.ts +1 -2
- package/src/lib/services/expirationScheduler.d.ts.map +1 -1
- package/src/lib/services/expirationScheduler.js +3 -3
- package/src/lib/services/expirationScheduler.js.map +1 -1
- package/src/lib/services/quorum.d.ts.map +1 -1
- package/src/lib/services/quorum.js +2 -2
- package/src/lib/services/quorum.js.map +1 -1
- package/src/lib/services/wireConversationPromotion.d.ts +1 -2
- package/src/lib/services/wireConversationPromotion.d.ts.map +1 -1
- package/src/lib/services/wireConversationPromotion.js.map +1 -1
- package/src/lib/shared-types.d.ts +0 -17
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +4 -1
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/utils/type-converters.d.ts +5 -8
- package/src/lib/utils/type-converters.d.ts.map +1 -1
- package/src/lib/utils/type-converters.js.map +1 -1
- package/src/lib/application-base.d.ts +0 -11
- package/src/lib/application-base.d.ts.map +0 -1
- package/src/lib/application-base.js +0 -12
- package/src/lib/application-base.js.map +0 -1
- package/src/lib/documents/base.d.ts +0 -6
- package/src/lib/documents/base.d.ts.map +0 -1
- package/src/lib/documents/base.js.map +0 -1
- package/src/lib/documents/email-token.d.ts +0 -8
- package/src/lib/documents/email-token.d.ts.map +0 -1
- package/src/lib/documents/email-token.js +0 -3
- package/src/lib/documents/email-token.js.map +0 -1
- package/src/lib/documents/index.d.ts +0 -7
- package/src/lib/documents/index.d.ts.map +0 -1
- package/src/lib/documents/index.js +0 -3
- package/src/lib/documents/index.js.map +0 -1
- package/src/lib/documents/mnemonic.d.ts +0 -8
- package/src/lib/documents/mnemonic.d.ts.map +0 -1
- package/src/lib/documents/mnemonic.js +0 -3
- package/src/lib/documents/mnemonic.js.map +0 -1
- package/src/lib/documents/role.d.ts +0 -8
- package/src/lib/documents/role.d.ts.map +0 -1
- package/src/lib/documents/role.js +0 -3
- package/src/lib/documents/role.js.map +0 -1
- package/src/lib/documents/used-direct-login-token.d.ts +0 -5
- package/src/lib/documents/used-direct-login-token.d.ts.map +0 -1
- package/src/lib/documents/used-direct-login-token.js +0 -3
- package/src/lib/documents/used-direct-login-token.js.map +0 -1
- package/src/lib/documents/user-role.d.ts +0 -8
- package/src/lib/documents/user-role.d.ts.map +0 -1
- package/src/lib/documents/user-role.js +0 -3
- package/src/lib/documents/user-role.js.map +0 -1
- package/src/lib/documents/user.d.ts +0 -13
- package/src/lib/documents/user.d.ts.map +0 -1
- package/src/lib/documents/user.js +0 -3
- package/src/lib/documents/user.js.map +0 -1
- package/src/lib/upstream-stubs.d.ts +0 -36
- package/src/lib/upstream-stubs.d.ts.map +0 -1
- package/src/lib/upstream-stubs.js +0 -43
- package/src/lib/upstream-stubs.js.map +0 -1
- /package/{README.md → brightchain-api-lib/README.md} +0 -0
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MEMBER_INDEX_SCHEMA = void 0;
|
|
4
|
-
//
|
|
3
|
+
exports.USER_SCHEMA = exports.USERS_COLLECTION = exports.USER_ROLE_SCHEMA = exports.USER_ROLES_COLLECTION = exports.ROLE_SCHEMA = exports.ROLES_COLLECTION = exports.MNEMONIC_SCHEMA = exports.MNEMONICS_COLLECTION = exports.MEMBER_INDEX_SCHEMA = void 0;
|
|
4
|
+
// Collection schemas (runtime values)
|
|
5
5
|
var memberIndexSchema_1 = require("./memberIndexSchema");
|
|
6
6
|
Object.defineProperty(exports, "MEMBER_INDEX_SCHEMA", { enumerable: true, get: function () { return memberIndexSchema_1.MEMBER_INDEX_SCHEMA; } });
|
|
7
|
+
var mnemonicSchema_1 = require("./mnemonicSchema");
|
|
8
|
+
Object.defineProperty(exports, "MNEMONICS_COLLECTION", { enumerable: true, get: function () { return mnemonicSchema_1.MNEMONICS_COLLECTION; } });
|
|
9
|
+
Object.defineProperty(exports, "MNEMONIC_SCHEMA", { enumerable: true, get: function () { return mnemonicSchema_1.MNEMONIC_SCHEMA; } });
|
|
10
|
+
var roleSchema_1 = require("./roleSchema");
|
|
11
|
+
Object.defineProperty(exports, "ROLES_COLLECTION", { enumerable: true, get: function () { return roleSchema_1.ROLES_COLLECTION; } });
|
|
12
|
+
Object.defineProperty(exports, "ROLE_SCHEMA", { enumerable: true, get: function () { return roleSchema_1.ROLE_SCHEMA; } });
|
|
13
|
+
var userRoleSchema_1 = require("./userRoleSchema");
|
|
14
|
+
Object.defineProperty(exports, "USER_ROLES_COLLECTION", { enumerable: true, get: function () { return userRoleSchema_1.USER_ROLES_COLLECTION; } });
|
|
15
|
+
Object.defineProperty(exports, "USER_ROLE_SCHEMA", { enumerable: true, get: function () { return userRoleSchema_1.USER_ROLE_SCHEMA; } });
|
|
16
|
+
var userSchema_1 = require("./userSchema");
|
|
17
|
+
Object.defineProperty(exports, "USERS_COLLECTION", { enumerable: true, get: function () { return userSchema_1.USERS_COLLECTION; } });
|
|
18
|
+
Object.defineProperty(exports, "USER_SCHEMA", { enumerable: true, get: function () { return userSchema_1.USER_SCHEMA; } });
|
|
7
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/index.ts"],"names":[],"mappings":";;;AAMA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/index.ts"],"names":[],"mappings":";;;AAMA,sCAAsC;AACtC,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,mDAAyE;AAAhE,sHAAA,oBAAoB,OAAA;AAAE,iHAAA,eAAe,OAAA;AAC9C,2CAA6D;AAApD,8GAAA,gBAAgB,OAAA;AAAE,yGAAA,WAAW,OAAA;AACtC,mDAA2E;AAAlE,uHAAA,qBAAqB,OAAA;AAAE,kHAAA,gBAAgB,OAAA;AAChD,2CAA6D;AAApD,8GAAA,gBAAgB,OAAA;AAAE,yGAAA,WAAW,OAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CollectionSchema } from './document-types';
|
|
2
|
+
/** Well-known collection name for mnemonic hash documents. */
|
|
3
|
+
export declare const MNEMONICS_COLLECTION = "mnemonics";
|
|
4
|
+
/**
|
|
5
|
+
* Schema for the mnemonics collection.
|
|
6
|
+
* Mirrors the Mongoose mnemonic document structure:
|
|
7
|
+
* hmac (non-reversible HMAC of the mnemonic for uniqueness checks)
|
|
8
|
+
*/
|
|
9
|
+
export declare const MNEMONIC_SCHEMA: CollectionSchema;
|
|
10
|
+
//# sourceMappingURL=mnemonicSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonicSchema.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/mnemonicSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAEhD;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,gBAU7B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MNEMONIC_SCHEMA = exports.MNEMONICS_COLLECTION = void 0;
|
|
4
|
+
/** Well-known collection name for mnemonic hash documents. */
|
|
5
|
+
exports.MNEMONICS_COLLECTION = 'mnemonics';
|
|
6
|
+
/**
|
|
7
|
+
* Schema for the mnemonics collection.
|
|
8
|
+
* Mirrors the Mongoose mnemonic document structure:
|
|
9
|
+
* hmac (non-reversible HMAC of the mnemonic for uniqueness checks)
|
|
10
|
+
*/
|
|
11
|
+
exports.MNEMONIC_SCHEMA = {
|
|
12
|
+
name: 'mnemonic',
|
|
13
|
+
properties: {
|
|
14
|
+
_id: { type: 'string', required: true },
|
|
15
|
+
hmac: { type: 'string', required: true },
|
|
16
|
+
},
|
|
17
|
+
required: ['_id', 'hmac'],
|
|
18
|
+
additionalProperties: true,
|
|
19
|
+
validationLevel: 'strict',
|
|
20
|
+
validationAction: 'error',
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=mnemonicSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mnemonicSchema.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/mnemonicSchema.ts"],"names":[],"mappings":";;;AAEA,8DAA8D;AACjD,QAAA,oBAAoB,GAAG,WAAW,CAAC;AAEhD;;;;GAIG;AACU,QAAA,eAAe,GAAqB;IAC/C,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KACzC;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,OAAO;CAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CollectionSchema } from './document-types';
|
|
2
|
+
/** Well-known collection name for roles. */
|
|
3
|
+
export declare const ROLES_COLLECTION = "roles";
|
|
4
|
+
/**
|
|
5
|
+
* Schema for the roles collection.
|
|
6
|
+
* Mirrors the Mongoose role document structure:
|
|
7
|
+
* name, admin, member, child, system, createdBy, updatedBy, timestamps
|
|
8
|
+
*/
|
|
9
|
+
export declare const ROLE_SCHEMA: CollectionSchema;
|
|
10
|
+
//# sourceMappingURL=roleSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roleSchema.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/roleSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,gBAiCzB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ROLE_SCHEMA = exports.ROLES_COLLECTION = void 0;
|
|
4
|
+
/** Well-known collection name for roles. */
|
|
5
|
+
exports.ROLES_COLLECTION = 'roles';
|
|
6
|
+
/**
|
|
7
|
+
* Schema for the roles collection.
|
|
8
|
+
* Mirrors the Mongoose role document structure:
|
|
9
|
+
* name, admin, member, child, system, createdBy, updatedBy, timestamps
|
|
10
|
+
*/
|
|
11
|
+
exports.ROLE_SCHEMA = {
|
|
12
|
+
name: 'role',
|
|
13
|
+
properties: {
|
|
14
|
+
_id: { type: 'string', required: true },
|
|
15
|
+
name: {
|
|
16
|
+
type: 'string',
|
|
17
|
+
required: true,
|
|
18
|
+
enum: ['System', 'Admin', 'Member'],
|
|
19
|
+
},
|
|
20
|
+
admin: { type: 'boolean', required: true },
|
|
21
|
+
member: { type: 'boolean', required: true },
|
|
22
|
+
child: { type: 'boolean', required: true },
|
|
23
|
+
system: { type: 'boolean', required: true },
|
|
24
|
+
createdBy: { type: 'string', required: true },
|
|
25
|
+
updatedBy: { type: 'string', required: true },
|
|
26
|
+
createdAt: { type: 'string', required: true },
|
|
27
|
+
updatedAt: { type: 'string', required: true },
|
|
28
|
+
},
|
|
29
|
+
required: [
|
|
30
|
+
'_id',
|
|
31
|
+
'name',
|
|
32
|
+
'admin',
|
|
33
|
+
'member',
|
|
34
|
+
'child',
|
|
35
|
+
'system',
|
|
36
|
+
'createdBy',
|
|
37
|
+
'updatedBy',
|
|
38
|
+
'createdAt',
|
|
39
|
+
'updatedAt',
|
|
40
|
+
],
|
|
41
|
+
additionalProperties: true,
|
|
42
|
+
validationLevel: 'strict',
|
|
43
|
+
validationAction: 'error',
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=roleSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roleSchema.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/roleSchema.ts"],"names":[],"mappings":";;;AAEA,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAExC;;;;GAIG;AACU,QAAA,WAAW,GAAqB;IAC3C,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SACpC;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9C;IACD,QAAQ,EAAE;QACR,KAAK;QACL,MAAM;QACN,OAAO;QACP,QAAQ;QACR,OAAO;QACP,QAAQ;QACR,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;KACZ;IACD,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,OAAO;CAC1B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CollectionSchema } from './document-types';
|
|
2
|
+
/** Well-known collection name for user-role junction documents. */
|
|
3
|
+
export declare const USER_ROLES_COLLECTION = "user-roles";
|
|
4
|
+
/**
|
|
5
|
+
* Schema for the user-roles collection.
|
|
6
|
+
* Mirrors the Mongoose user-role junction document structure:
|
|
7
|
+
* userId, roleId, createdBy, updatedBy, timestamps
|
|
8
|
+
*/
|
|
9
|
+
export declare const USER_ROLE_SCHEMA: CollectionSchema;
|
|
10
|
+
//# sourceMappingURL=userRoleSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userRoleSchema.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/userRoleSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAuB9B,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_ROLE_SCHEMA = exports.USER_ROLES_COLLECTION = void 0;
|
|
4
|
+
/** Well-known collection name for user-role junction documents. */
|
|
5
|
+
exports.USER_ROLES_COLLECTION = 'user-roles';
|
|
6
|
+
/**
|
|
7
|
+
* Schema for the user-roles collection.
|
|
8
|
+
* Mirrors the Mongoose user-role junction document structure:
|
|
9
|
+
* userId, roleId, createdBy, updatedBy, timestamps
|
|
10
|
+
*/
|
|
11
|
+
exports.USER_ROLE_SCHEMA = {
|
|
12
|
+
name: 'userRole',
|
|
13
|
+
properties: {
|
|
14
|
+
_id: { type: 'string', required: true },
|
|
15
|
+
userId: { type: 'string', required: true },
|
|
16
|
+
roleId: { type: 'string', required: true },
|
|
17
|
+
createdBy: { type: 'string', required: true },
|
|
18
|
+
updatedBy: { type: 'string', required: true },
|
|
19
|
+
createdAt: { type: 'string', required: true },
|
|
20
|
+
updatedAt: { type: 'string', required: true },
|
|
21
|
+
},
|
|
22
|
+
required: [
|
|
23
|
+
'_id',
|
|
24
|
+
'userId',
|
|
25
|
+
'roleId',
|
|
26
|
+
'createdBy',
|
|
27
|
+
'updatedBy',
|
|
28
|
+
'createdAt',
|
|
29
|
+
'updatedAt',
|
|
30
|
+
],
|
|
31
|
+
additionalProperties: true,
|
|
32
|
+
validationLevel: 'strict',
|
|
33
|
+
validationAction: 'error',
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=userRoleSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userRoleSchema.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/userRoleSchema.ts"],"names":[],"mappings":";;;AAEA,mEAAmE;AACtD,QAAA,qBAAqB,GAAG,YAAY,CAAC;AAElD;;;;GAIG;AACU,QAAA,gBAAgB,GAAqB;IAChD,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9C;IACD,QAAQ,EAAE;QACR,KAAK;QACL,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;KACZ;IACD,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,OAAO;CAC1B,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CollectionSchema } from './document-types';
|
|
2
|
+
/** Well-known collection name for users. */
|
|
3
|
+
export declare const USERS_COLLECTION = "users";
|
|
4
|
+
/**
|
|
5
|
+
* Schema for the users collection.
|
|
6
|
+
* Mirrors the Mongoose user document structure:
|
|
7
|
+
* username, email, publicKey, passwordWrappedPrivateKey, mnemonicRecovery,
|
|
8
|
+
* mnemonicId, backupCodes, accountStatus, emailVerified, directChallenge,
|
|
9
|
+
* timezone, siteLanguage, currency, darkMode, timestamps, owners
|
|
10
|
+
*/
|
|
11
|
+
export declare const USER_SCHEMA: CollectionSchema;
|
|
12
|
+
//# sourceMappingURL=userSchema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userSchema.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/userSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,EAAE,gBAgDzB,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.USER_SCHEMA = exports.USERS_COLLECTION = void 0;
|
|
4
|
+
/** Well-known collection name for users. */
|
|
5
|
+
exports.USERS_COLLECTION = 'users';
|
|
6
|
+
/**
|
|
7
|
+
* Schema for the users collection.
|
|
8
|
+
* Mirrors the Mongoose user document structure:
|
|
9
|
+
* username, email, publicKey, passwordWrappedPrivateKey, mnemonicRecovery,
|
|
10
|
+
* mnemonicId, backupCodes, accountStatus, emailVerified, directChallenge,
|
|
11
|
+
* timezone, siteLanguage, currency, darkMode, timestamps, owners
|
|
12
|
+
*/
|
|
13
|
+
exports.USER_SCHEMA = {
|
|
14
|
+
name: 'user',
|
|
15
|
+
properties: {
|
|
16
|
+
_id: { type: 'string', required: true },
|
|
17
|
+
username: { type: 'string', required: true },
|
|
18
|
+
email: { type: 'string', required: true },
|
|
19
|
+
publicKey: { type: 'string', required: true },
|
|
20
|
+
passwordWrappedPrivateKey: { type: 'object' },
|
|
21
|
+
mnemonicRecovery: { type: 'string', required: true },
|
|
22
|
+
mnemonicId: { type: 'string' },
|
|
23
|
+
backupCodes: { type: 'array', required: true },
|
|
24
|
+
accountStatus: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
required: true,
|
|
27
|
+
enum: ['PendingEmailVerification', 'Active', 'AdminLock'],
|
|
28
|
+
},
|
|
29
|
+
emailVerified: { type: 'boolean', required: true },
|
|
30
|
+
directChallenge: { type: 'boolean', required: true },
|
|
31
|
+
timezone: { type: 'string', required: true },
|
|
32
|
+
siteLanguage: { type: 'string', required: true },
|
|
33
|
+
currency: { type: 'string' },
|
|
34
|
+
darkMode: { type: 'boolean', required: true },
|
|
35
|
+
createdBy: { type: 'string', required: true },
|
|
36
|
+
updatedBy: { type: 'string', required: true },
|
|
37
|
+
createdAt: { type: 'string', required: true },
|
|
38
|
+
updatedAt: { type: 'string', required: true },
|
|
39
|
+
},
|
|
40
|
+
required: [
|
|
41
|
+
'_id',
|
|
42
|
+
'username',
|
|
43
|
+
'email',
|
|
44
|
+
'publicKey',
|
|
45
|
+
'mnemonicRecovery',
|
|
46
|
+
'backupCodes',
|
|
47
|
+
'accountStatus',
|
|
48
|
+
'emailVerified',
|
|
49
|
+
'directChallenge',
|
|
50
|
+
'timezone',
|
|
51
|
+
'siteLanguage',
|
|
52
|
+
'darkMode',
|
|
53
|
+
'createdBy',
|
|
54
|
+
'updatedBy',
|
|
55
|
+
'createdAt',
|
|
56
|
+
'updatedAt',
|
|
57
|
+
],
|
|
58
|
+
additionalProperties: true,
|
|
59
|
+
validationLevel: 'strict',
|
|
60
|
+
validationAction: 'error',
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=userSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userSchema.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/storage/userSchema.ts"],"names":[],"mappings":";;;AAEA,4CAA4C;AAC/B,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAExC;;;;;;GAMG;AACU,QAAA,WAAW,GAAqB;IAC3C,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,yBAAyB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7C,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9C,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,CAAC,0BAA0B,EAAE,QAAQ,EAAE,WAAW,CAAC;SAC1D;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAClD,eAAe,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QACpD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAChD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC9C;IACD,QAAQ,EAAE;QACR,KAAK;QACL,UAAU;QACV,OAAO;QACP,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,eAAe;QACf,eAAe;QACf,iBAAiB;QACjB,UAAU;QACV,cAAc;QACd,UAAU;QACV,WAAW;QACX,WAAW;QACX,WAAW;QACX,WAAW;KACZ;IACD,oBAAoB,EAAE,IAAI;IAC1B,eAAe,EAAE,QAAQ;IACzB,gBAAgB,EAAE,OAAO;CAC1B,CAAC"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview BrightChain database plugin for the express-suite plugin architecture.
|
|
3
|
+
*
|
|
4
|
+
* Implements IDatabasePlugin<TID> to encapsulate the BrightChain database stack
|
|
5
|
+
* lifecycle: block stores, BrightChainDb, member/energy stores, and the
|
|
6
|
+
* authentication provider. The plugin is registered via Application.useDatabasePlugin()
|
|
7
|
+
* and participates in the standard plugin lifecycle (connect → init → stop).
|
|
8
|
+
*
|
|
9
|
+
* BrightChainDb already implements IDatabase from express-suite, so the plugin's
|
|
10
|
+
* `database` property returns the BrightChainDb instance directly — no adapter needed.
|
|
11
|
+
*
|
|
12
|
+
* @module plugins/brightchain-database-plugin
|
|
13
|
+
*/
|
|
14
|
+
import type { IBlockStore, IDocumentStore } from '@brightchain/brightchain-lib';
|
|
15
|
+
import { EnergyAccountStore, MemberStore } from '@brightchain/brightchain-lib';
|
|
16
|
+
import type { BrightChainDb } from '@brightchain/db';
|
|
17
|
+
import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
18
|
+
import type { IApplication, IAuthenticationProvider, IDatabase, IDatabasePlugin } from '@digitaldefiance/node-express-suite';
|
|
19
|
+
import type { Environment } from '../environment';
|
|
20
|
+
/**
|
|
21
|
+
* BrightChain database plugin implementing IDatabasePlugin<TID>.
|
|
22
|
+
*
|
|
23
|
+
* Owns the full database lifecycle:
|
|
24
|
+
* - connect() → calls brightchainDatabaseInit() and stores backend references
|
|
25
|
+
* - init(app) → creates BrightChainAuthenticationProvider
|
|
26
|
+
* - stop() → delegates to disconnect()
|
|
27
|
+
* - disconnect() → releases all references (idempotent)
|
|
28
|
+
*
|
|
29
|
+
* Typed accessors (blockStore, memberStore, energyStore, brightChainDb, documentStore)
|
|
30
|
+
* throw descriptive errors when the plugin is not connected.
|
|
31
|
+
*/
|
|
32
|
+
export declare class BrightChainDatabasePlugin<TID extends PlatformID> implements IDatabasePlugin<TID> {
|
|
33
|
+
readonly name = "brightchain-database";
|
|
34
|
+
readonly version = "1.0.0";
|
|
35
|
+
private readonly _environment;
|
|
36
|
+
private _connected;
|
|
37
|
+
private _blockStore;
|
|
38
|
+
private _brightChainDb;
|
|
39
|
+
private _documentStore;
|
|
40
|
+
private _memberStore;
|
|
41
|
+
private _energyStore;
|
|
42
|
+
private _authProvider;
|
|
43
|
+
constructor(environment: Environment<TID>);
|
|
44
|
+
/**
|
|
45
|
+
* The IDatabase instance this plugin manages.
|
|
46
|
+
* BrightChainDb implements IDatabase directly, so no adapter is needed.
|
|
47
|
+
* @throws Error if the plugin is not connected.
|
|
48
|
+
*/
|
|
49
|
+
get database(): IDatabase;
|
|
50
|
+
/**
|
|
51
|
+
* Authentication provider created during init().
|
|
52
|
+
* Returns undefined before init() is called.
|
|
53
|
+
*/
|
|
54
|
+
get authenticationProvider(): IAuthenticationProvider<TID> | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Connect the BrightChain database stack.
|
|
57
|
+
*
|
|
58
|
+
* Calls brightchainDatabaseInit(environment) and stores the resulting
|
|
59
|
+
* backend references (blockStore, db/BrightChainDb, documentStore,
|
|
60
|
+
* memberStore, energyStore).
|
|
61
|
+
*
|
|
62
|
+
* @param _uri - Ignored; BrightChain uses environment-based configuration.
|
|
63
|
+
* @throws Error if brightchainDatabaseInit() returns a failure result.
|
|
64
|
+
*/
|
|
65
|
+
connect(_uri?: string): Promise<void>;
|
|
66
|
+
/**
|
|
67
|
+
* Disconnect and release all backend references.
|
|
68
|
+
* Idempotent — calling when already disconnected completes without error.
|
|
69
|
+
*/
|
|
70
|
+
disconnect(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Whether the database is currently connected.
|
|
73
|
+
*/
|
|
74
|
+
isConnected(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Initialize the plugin after connection.
|
|
77
|
+
* Creates the BrightChainAuthenticationProvider and stores it
|
|
78
|
+
* as the authenticationProvider property.
|
|
79
|
+
*
|
|
80
|
+
* @param app - The application instance (must implement IBrightChainApplication).
|
|
81
|
+
*/
|
|
82
|
+
init(app: IApplication<TID>): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Stop the plugin. Delegates to disconnect() for cleanup.
|
|
85
|
+
*/
|
|
86
|
+
stop(): Promise<void>;
|
|
87
|
+
/**
|
|
88
|
+
* Provision an ephemeral dev/test block store.
|
|
89
|
+
*
|
|
90
|
+
* Called by Application.start() before connect() when
|
|
91
|
+
* environment.devDatabase is truthy. BrightChain doesn't use
|
|
92
|
+
* connection URIs — the memory vs disk decision is driven by
|
|
93
|
+
* environment.blockStorePath (absent → memory). This hook
|
|
94
|
+
* signals that we're in dev mode and returns an empty string
|
|
95
|
+
* (no URI concept for block stores).
|
|
96
|
+
*/
|
|
97
|
+
setupDevStore(): Promise<string>;
|
|
98
|
+
/**
|
|
99
|
+
* Tear down the ephemeral dev/test block store.
|
|
100
|
+
*
|
|
101
|
+
* Called during stop() flow. Our disconnect() already releases
|
|
102
|
+
* all in-memory references, so this is a no-op beyond logging.
|
|
103
|
+
*/
|
|
104
|
+
teardownDevStore(): Promise<void>;
|
|
105
|
+
/**
|
|
106
|
+
* Seed the dev database after connection.
|
|
107
|
+
*
|
|
108
|
+
* Called by Application.start() after connect() and init() when
|
|
109
|
+
* environment.devDatabase is truthy. Currently a no-op — can be
|
|
110
|
+
* extended to seed test users, blocks, etc. for local development.
|
|
111
|
+
*/
|
|
112
|
+
initializeDevStore(): Promise<unknown>;
|
|
113
|
+
/**
|
|
114
|
+
* The block store backing the BrightChain database.
|
|
115
|
+
* @throws Error if the plugin is not connected.
|
|
116
|
+
*/
|
|
117
|
+
get blockStore(): IBlockStore;
|
|
118
|
+
/**
|
|
119
|
+
* The BrightChainDb instance (implements IDatabase).
|
|
120
|
+
* @throws Error if the plugin is not connected.
|
|
121
|
+
*/
|
|
122
|
+
get brightChainDb(): BrightChainDb;
|
|
123
|
+
/**
|
|
124
|
+
* The document store (BrightChainDbDocumentStoreAdapter wrapping BrightChainDb).
|
|
125
|
+
* @throws Error if the plugin is not connected.
|
|
126
|
+
*/
|
|
127
|
+
get documentStore(): IDocumentStore;
|
|
128
|
+
/**
|
|
129
|
+
* The member store for user/member operations.
|
|
130
|
+
* @throws Error if the plugin is not connected.
|
|
131
|
+
*/
|
|
132
|
+
get memberStore(): MemberStore;
|
|
133
|
+
/**
|
|
134
|
+
* The energy account store for energy ledger operations.
|
|
135
|
+
* @throws Error if the plugin is not connected.
|
|
136
|
+
*/
|
|
137
|
+
get energyStore(): EnergyAccountStore;
|
|
138
|
+
/**
|
|
139
|
+
* Extract the underlying BrightChainDb from the IDocumentStore adapter.
|
|
140
|
+
*
|
|
141
|
+
* brightchainDatabaseInit() wraps BrightChainDb in a
|
|
142
|
+
* BrightChainDbDocumentStoreAdapter. We need the raw BrightChainDb
|
|
143
|
+
* for the IDatabasePlugin.database property (IDatabase contract).
|
|
144
|
+
*
|
|
145
|
+
* We verify the adapter type via instanceof, then access the runtime
|
|
146
|
+
* `db` property (TypeScript `private` is compile-time only).
|
|
147
|
+
*/
|
|
148
|
+
private extractBrightChainDb;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=brightchain-database-plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brightchain-database-plugin.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/plugins/brightchain-database-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD;;;;;;;;;;;GAWG;AACH,qBAAa,yBAAyB,CACpC,GAAG,SAAS,UAAU,CACtB,YAAW,eAAe,CAAC,GAAG,CAAC;IAC/B,SAAgB,IAAI,0BAA0B;IAC9C,SAAgB,OAAO,WAAW;IAElC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,aAAa,CAAuD;gBAEhE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC;IAMzC;;;;OAIG;IACH,IAAI,QAAQ,IAAI,SAAS,CAOxB;IAED;;;OAGG;IACH,IAAI,sBAAsB,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,SAAS,CAErE;IAED;;;;;;;;;OASG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;OAMG;IACG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B;;;;;;;;;OASG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAOtC;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;;OAMG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAM5C;;;OAGG;IACH,IAAI,UAAU,IAAI,WAAW,CAO5B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,aAAa,CAOjC;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,cAAc,CAOlC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,WAAW,CAO7B;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,kBAAkB,CAOpC;IAID;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;CAqB7B"}
|