@brightchain/node-express-suite 0.27.1 → 0.29.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.
Files changed (53) hide show
  1. package/README.md +2 -2
  2. package/package.json +7 -6
  3. package/src/index.d.ts +8 -0
  4. package/src/index.d.ts.map +1 -1
  5. package/src/index.js +13 -1
  6. package/src/index.js.map +1 -1
  7. package/src/lib/controllers/user.d.ts +54 -0
  8. package/src/lib/controllers/user.d.ts.map +1 -0
  9. package/src/lib/controllers/user.js +703 -0
  10. package/src/lib/controllers/user.js.map +1 -0
  11. package/src/lib/enumerations/schema-collection.d.ts +12 -0
  12. package/src/lib/enumerations/schema-collection.d.ts.map +1 -0
  13. package/src/lib/enumerations/schema-collection.js +16 -0
  14. package/src/lib/enumerations/schema-collection.js.map +1 -0
  15. package/src/lib/interfaces/auth-credentials.d.ts +6 -0
  16. package/src/lib/interfaces/auth-credentials.d.ts.map +1 -0
  17. package/src/lib/interfaces/auth-credentials.js +3 -0
  18. package/src/lib/interfaces/auth-credentials.js.map +1 -0
  19. package/src/lib/interfaces/auth-token.d.ts +6 -0
  20. package/src/lib/interfaces/auth-token.d.ts.map +1 -0
  21. package/src/lib/interfaces/auth-token.js +3 -0
  22. package/src/lib/interfaces/auth-token.js.map +1 -0
  23. package/src/lib/interfaces/responses/index.d.ts +2 -0
  24. package/src/lib/interfaces/responses/index.d.ts.map +1 -0
  25. package/src/lib/interfaces/responses/index.js +3 -0
  26. package/src/lib/interfaces/responses/index.js.map +1 -0
  27. package/src/lib/interfaces/responses/user-api-responses.d.ts +37 -0
  28. package/src/lib/interfaces/responses/user-api-responses.d.ts.map +1 -0
  29. package/src/lib/interfaces/responses/user-api-responses.js +9 -0
  30. package/src/lib/interfaces/responses/user-api-responses.js.map +1 -0
  31. package/src/lib/interfaces/token-payload.d.ts +9 -0
  32. package/src/lib/interfaces/token-payload.d.ts.map +1 -0
  33. package/src/lib/interfaces/token-payload.js +3 -0
  34. package/src/lib/interfaces/token-payload.js.map +1 -0
  35. package/src/lib/routers/api.d.ts +34 -0
  36. package/src/lib/routers/api.d.ts.map +1 -0
  37. package/src/lib/routers/api.js +42 -0
  38. package/src/lib/routers/api.js.map +1 -0
  39. package/src/lib/services/auth.d.ts +49 -0
  40. package/src/lib/services/auth.d.ts.map +1 -0
  41. package/src/lib/services/auth.js +278 -0
  42. package/src/lib/services/auth.js.map +1 -0
  43. package/src/lib/services/bright-db-authentication-provider.d.ts +13 -1
  44. package/src/lib/services/bright-db-authentication-provider.d.ts.map +1 -1
  45. package/src/lib/services/bright-db-authentication-provider.js +15 -0
  46. package/src/lib/services/bright-db-authentication-provider.js.map +1 -1
  47. package/src/lib/upstream.d.ts +2 -2
  48. package/src/lib/upstream.d.ts.map +1 -1
  49. package/src/lib/upstream.js +3 -1
  50. package/src/lib/upstream.js.map +1 -1
  51. package/src/lib/validation/userValidation.d.ts.map +1 -1
  52. package/src/lib/validation/userValidation.js +21 -0
  53. package/src/lib/validation/userValidation.js.map +1 -1
package/README.md CHANGED
@@ -81,7 +81,7 @@ yarn add @brightchain/node-express-suite
81
81
  {
82
82
  "@digitaldefiance/branded-interface": "^0.0.5",
83
83
  "@digitaldefiance/node-ecies-lib": "^4.20.0",
84
- "@digitaldefiance/node-express-suite": "^4.20.1",
84
+ "@digitaldefiance/node-express-suite": "^4.23.1",
85
85
  "@brightchain/brightchain-lib": "^0.25.0",
86
86
  "@brightchain/db": "^0.25.0"
87
87
  }
@@ -128,7 +128,7 @@ const result = await brightchainDatabaseInit(environment, {
128
128
  });
129
129
 
130
130
  if (result.success) {
131
- const { blockStore, db } = result.backend;
131
+ const { blockStore, db } = result.backend; // db is a BrightDb instance
132
132
  console.log('BrightDB connected');
133
133
  }
134
134
  ```
package/package.json CHANGED
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/node-express-suite",
3
- "version": "0.27.1",
4
- "private": false,
3
+ "version": "0.29.0",
5
4
  "type": "commonjs",
6
5
  "main": "./src/index.js",
7
6
  "types": "./src/index.d.ts",
@@ -9,10 +8,12 @@
9
8
  "tslib": "^2.3.0"
10
9
  },
11
10
  "peerDependencies": {
11
+ "@brightchain/brightchain-lib": "^0.29.0",
12
+ "@brightchain/db": "^0.29.0",
12
13
  "@digitaldefiance/branded-interface": "^0.0.5",
13
- "@digitaldefiance/node-ecies-lib": "^4.20.0",
14
- "@digitaldefiance/node-express-suite": "^4.20.1",
15
- "@brightchain/brightchain-lib": "^0.27.0",
16
- "@brightchain/db": "^0.27.0"
14
+ "@digitaldefiance/node-ecies-lib": "^4.23.0",
15
+ "@digitaldefiance/node-express-suite": "^4.23.2",
16
+ "bcrypt": "^5.0.0",
17
+ "jsonwebtoken": "^9.0.0"
17
18
  }
18
19
  }
package/src/index.d.ts CHANGED
@@ -45,4 +45,12 @@ export type { BrightDbModelRegistration } from './lib/bright-db-model-registry';
45
45
  export { BrightDbTransactionManager } from './lib/transactions/bright-db-transaction-manager';
46
46
  export type { BrightDbTransactionOptions } from './lib/transactions/bright-db-transaction-manager';
47
47
  export type { IBrightDbDocumentStore } from './lib/datastore/document-store';
48
+ export type { IAuthCredentials } from './lib/interfaces/auth-credentials';
49
+ export type { IAuthToken } from './lib/interfaces/auth-token';
50
+ export type { ITokenPayload } from './lib/interfaces/token-payload';
51
+ export type { IApiLoginResponse, IApiRequestUserResponse, IApiBackupCodesResponse, IApiCodeCountResponse, IApiPasswordChangeResponse, IApiRecoveryResponse, IUserProfileApiResponse, IAuthApiResponse, } from './lib/interfaces/responses';
52
+ export { SchemaCollection } from './lib/enumerations/schema-collection';
53
+ export { BrightDbAuthService } from './lib/services/auth';
54
+ export { BrightDbUserController } from './lib/controllers/user';
55
+ export { BrightDbApiRouter } from './lib/routers/api';
48
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,YAAY,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAClG,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,YAAY,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAG9F,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,YAAY,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAGnG,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"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"}
package/src/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * @brightchain/brightchain-api-lib (domain-specific).
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BrightDbTransactionManager = exports.BrightDbModelRegistry = exports.BrightDbBaseService = exports.BrightDbCollection = exports.createTestApp = exports.BrightDbMiddlewares = exports.BrightDbConstants = exports.BrightDbAuthenticationProvider = exports.configureBrightDbApp = exports.BrightDbApplication = exports.printDevStoreResults = exports.seedDevStore = exports.BrightDbDatabasePlugin = exports.BrightDbEnvironment = exports.BlockStoreFactory = exports.brightchainDatabaseInit = exports.BrightChainSessionAdapter = exports.validateBody = exports.validateRecovery = exports.validatePasswordChange = exports.validateLogin = exports.validateRegistration = exports.MemoryDocumentStore = exports.CollectionHeadRegistry = exports.BlockDocumentStore = void 0;
10
+ exports.BrightDbApiRouter = exports.BrightDbUserController = exports.BrightDbAuthService = exports.SchemaCollection = exports.BrightDbTransactionManager = exports.BrightDbModelRegistry = exports.BrightDbBaseService = exports.BrightDbCollection = exports.createTestApp = exports.BrightDbMiddlewares = exports.BrightDbConstants = exports.BrightDbAuthenticationProvider = exports.configureBrightDbApp = exports.BrightDbApplication = exports.printDevStoreResults = exports.seedDevStore = exports.BrightDbDatabasePlugin = exports.BrightDbEnvironment = exports.BlockStoreFactory = exports.brightchainDatabaseInit = exports.BrightChainSessionAdapter = exports.validateBody = exports.validateRecovery = exports.validatePasswordChange = exports.validateLogin = exports.validateRegistration = exports.MemoryDocumentStore = exports.CollectionHeadRegistry = exports.BlockDocumentStore = void 0;
11
11
  const tslib_1 = require("tslib");
12
12
  var block_document_store_1 = require("./lib/datastore/block-document-store");
13
13
  Object.defineProperty(exports, "BlockDocumentStore", { enumerable: true, get: function () { return block_document_store_1.BlockDocumentStore; } });
@@ -74,4 +74,16 @@ var bright_db_model_registry_1 = require("./lib/bright-db-model-registry");
74
74
  Object.defineProperty(exports, "BrightDbModelRegistry", { enumerable: true, get: function () { return bright_db_model_registry_1.BrightDbModelRegistry; } });
75
75
  var bright_db_transaction_manager_1 = require("./lib/transactions/bright-db-transaction-manager");
76
76
  Object.defineProperty(exports, "BrightDbTransactionManager", { enumerable: true, get: function () { return bright_db_transaction_manager_1.BrightDbTransactionManager; } });
77
+ // Enumerations
78
+ var schema_collection_1 = require("./lib/enumerations/schema-collection");
79
+ Object.defineProperty(exports, "SchemaCollection", { enumerable: true, get: function () { return schema_collection_1.SchemaCollection; } });
80
+ // Auth Service
81
+ var auth_1 = require("./lib/services/auth");
82
+ Object.defineProperty(exports, "BrightDbAuthService", { enumerable: true, get: function () { return auth_1.BrightDbAuthService; } });
83
+ // User Controller
84
+ var user_1 = require("./lib/controllers/user");
85
+ Object.defineProperty(exports, "BrightDbUserController", { enumerable: true, get: function () { return user_1.BrightDbUserController; } });
86
+ // API Router
87
+ var api_1 = require("./lib/routers/api");
88
+ Object.defineProperty(exports, "BrightDbApiRouter", { enumerable: true, get: function () { return api_1.BrightDbApiRouter; } });
77
89
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAsBH,6EAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACnD,uFAA6D;AAC7D,yEAA+C;AAC/C,+EAA4E;AAAnE,4HAAA,mBAAmB,OAAA;AAI5B,kEAKyC;AAJvC,sHAAA,oBAAoB,OAAA;AACpB,+GAAA,aAAa,OAAA;AACb,wHAAA,sBAAsB,OAAA;AACtB,kHAAA,gBAAgB,OAAA;AAGlB,aAAa;AACb,8DAA6D;AAApD,4GAAA,YAAY,OAAA;AAIrB,gEAA0E;AAAjE,2HAAA,yBAAyB,OAAA;AAIlC,mDAA6D;AAApD,uHAAA,uBAAuB,OAAA;AAEhC,YAAY;AACZ,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,UAAU;AACV,qFAAiF;AAAxE,mIAAA,sBAAsB,OAAA;AAG/B,mBAAmB;AACnB,oEAGyC;AAFvC,gHAAA,YAAY,OAAA;AACZ,wHAAA,oBAAoB,OAAA;AAOtB,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,uBAAuB;AACvB,iFAA6E;AAApE,+HAAA,oBAAoB,OAAA;AAG7B,0BAA0B;AAC1B,sGAAkG;AAAzF,mJAAA,8BAA8B,OAAA;AAEvC,YAAY;AACZ,6CAAoD;AAA3C,8GAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAE5B,sBAAsB;AACtB,yDAA+B;AAE/B,sBAAsB;AACtB,yDAA+B;AAE/B,6BAA6B;AAC7B,gEAAsC;AAEtC,iBAAiB;AACjB,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AAGtB,2BAA2B;AAC3B,4EAAyE;AAAhE,0HAAA,kBAAkB,OAAA;AAC3B,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,2EAAuE;AAA9D,iIAAA,qBAAqB,OAAA;AAE9B,kGAA8F;AAArF,2IAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAsBH,6EAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACnD,uFAA6D;AAC7D,yEAA+C;AAC/C,+EAA4E;AAAnE,4HAAA,mBAAmB,OAAA;AAI5B,kEAKyC;AAJvC,sHAAA,oBAAoB,OAAA;AACpB,+GAAA,aAAa,OAAA;AACb,wHAAA,sBAAsB,OAAA;AACtB,kHAAA,gBAAgB,OAAA;AAGlB,aAAa;AACb,8DAA6D;AAApD,4GAAA,YAAY,OAAA;AAIrB,gEAA0E;AAAjE,2HAAA,yBAAyB,OAAA;AAIlC,mDAA6D;AAApD,uHAAA,uBAAuB,OAAA;AAEhC,YAAY;AACZ,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,UAAU;AACV,qFAAiF;AAAxE,mIAAA,sBAAsB,OAAA;AAG/B,mBAAmB;AACnB,oEAGyC;AAFvC,gHAAA,YAAY,OAAA;AACZ,wHAAA,oBAAoB,OAAA;AAOtB,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,uBAAuB;AACvB,iFAA6E;AAApE,+HAAA,oBAAoB,OAAA;AAG7B,0BAA0B;AAC1B,sGAAkG;AAAzF,mJAAA,8BAA8B,OAAA;AAEvC,YAAY;AACZ,6CAAoD;AAA3C,8GAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAE5B,sBAAsB;AACtB,yDAA+B;AAE/B,sBAAsB;AACtB,yDAA+B;AAE/B,6BAA6B;AAC7B,gEAAsC;AAEtC,iBAAiB;AACjB,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AAGtB,2BAA2B;AAC3B,4EAAyE;AAAhE,0HAAA,kBAAkB,OAAA;AAC3B,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,2EAAuE;AAA9D,iIAAA,qBAAqB,OAAA;AAE9B,kGAA8F;AAArF,2IAAA,0BAA0B,OAAA;AAqBnC,eAAe;AACf,0EAAwE;AAA/D,qHAAA,gBAAgB,OAAA;AAEzB,eAAe;AACf,4CAA0D;AAAjD,2GAAA,mBAAmB,OAAA;AAE5B,kBAAkB;AAClB,+CAAgE;AAAvD,8GAAA,sBAAsB,OAAA;AAE/B,aAAa;AACb,yCAAsD;AAA7C,wGAAA,iBAAiB,OAAA"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @fileoverview Base UserController for BrightDB-backed applications.
3
+ *
4
+ * Provides core user authentication routes: register, login, verify,
5
+ * request-direct-login, profile, settings, logout, change-password,
6
+ * recover, and refresh-token.
7
+ *
8
+ * Domain-specific extensions (e.g. BrightHub profile creation, backup codes,
9
+ * direct-challenge verification, energy account in profile) are added by
10
+ * subclasses in consuming libraries like brightchain-api-lib.
11
+ *
12
+ * @module controllers/user
13
+ */
14
+ import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
15
+ import { PlatformID } from '@digitaldefiance/node-ecies-lib';
16
+ import { ApiErrorResponse, DecoratorBaseController, IApiChallengeResponse, IApiMessageResponse, IStatusCodeResponse } from '@digitaldefiance/node-express-suite';
17
+ import type { NextFunction, Request, Response } from 'express';
18
+ import type { IBrightDbApplication } from '../interfaces/bright-db-application';
19
+ import { IApiLoginResponse, IApiRequestUserResponse } from '../interfaces/responses';
20
+ export declare class BrightDbUserController<TID extends PlatformID = Buffer> extends DecoratorBaseController<CoreLanguageCode, TID, IBrightDbApplication<TID>> {
21
+ constructor(application: IBrightDbApplication<TID>);
22
+ register(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
23
+ /**
24
+ * Hook called after successful registration.
25
+ * Override in subclasses to create social profiles, etc.
26
+ */
27
+ protected onPostRegister(_memberId: string, _username: string): Promise<void>;
28
+ login(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
29
+ getProfile(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
30
+ updateProfile(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
31
+ changePassword(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
32
+ recover(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
33
+ logout(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
34
+ requestDirectLogin(_req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiChallengeResponse | ApiErrorResponse>>;
35
+ /**
36
+ * GET /verify — returns the authenticated user's DTO.
37
+ * The auth middleware already populates req.user with a full IRequestUserDTO
38
+ * via buildRequestUserDTO, so we just return it.
39
+ */
40
+ verify(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiRequestUserResponse | ApiErrorResponse>>;
41
+ /**
42
+ * GET /settings — returns the authenticated user's settings.
43
+ */
44
+ getSettings(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
45
+ /**
46
+ * POST /settings — updates the authenticated user's settings.
47
+ */
48
+ updateSettings(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiRequestUserResponse | ApiErrorResponse>>;
49
+ /**
50
+ * GET /refresh-token — re-signs the JWT and returns a new token + user DTO.
51
+ */
52
+ refreshToken(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiLoginResponse | ApiErrorResponse>>;
53
+ }
54
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/controllers/user.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAeH,OAAO,EAAE,gBAAgB,EAAmB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAEhB,uBAAuB,EAEvB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EAIpB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EACL,iBAAiB,EAGjB,uBAAuB,EAGxB,MAAM,yBAAyB,CAAC;AAqCjC,qBACa,sBAAsB,CACjC,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,uBAAuB,CAC/B,gBAAgB,EAChB,GAAG,EACH,oBAAoB,CAAC,GAAG,CAAC,CAC1B;gBACa,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAK5C,QAAQ,CACZ,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IA6DvE;;;OAGG;cACa,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAKV,KAAK,CACT,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAqDjE,UAAU,CACd,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IA6FjE,aAAa,CACjB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IA4GjE,cAAc,CAClB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAkFjE,OAAO,CACX,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAuEjE,MAAM,CACV,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAiEjE,kBAAkB,CACtB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC;IA6BzE;;;;OAIG;IAEG,MAAM,CACV,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IAmC3E;;OAEG;IAEG,WAAW,CACf,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IA6BvE;;OAEG;IAEG,cAAc,CAClB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,CAAC;IAoG3E;;OAEG;IAEG,YAAY,CAChB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;CA0EtE"}