@brightchain/brightchain-api-lib 0.27.0 → 0.28.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 (62) hide show
  1. package/package.json +4 -4
  2. package/src/lib/controllers/api/user.d.ts +17 -31
  3. package/src/lib/controllers/api/user.d.ts.map +1 -1
  4. package/src/lib/controllers/api/user.js +58 -697
  5. package/src/lib/controllers/api/user.js.map +1 -1
  6. package/src/lib/enumerations/schema-collection.d.ts +1 -29
  7. package/src/lib/enumerations/schema-collection.d.ts.map +1 -1
  8. package/src/lib/enumerations/schema-collection.js +2 -30
  9. package/src/lib/enumerations/schema-collection.js.map +1 -1
  10. package/src/lib/interfaces/auth-credentials.d.ts +1 -5
  11. package/src/lib/interfaces/auth-credentials.d.ts.map +1 -1
  12. package/src/lib/interfaces/auth-token.d.ts +1 -5
  13. package/src/lib/interfaces/auth-token.d.ts.map +1 -1
  14. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +1 -3
  15. package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
  16. package/src/lib/interfaces/responses/api-code-count-response.d.ts +1 -3
  17. package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
  18. package/src/lib/interfaces/responses/api-login-response.d.ts +1 -3
  19. package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
  20. package/src/lib/interfaces/responses/api-password-change-response.d.ts +1 -3
  21. package/src/lib/interfaces/responses/api-password-change-response.d.ts.map +1 -1
  22. package/src/lib/interfaces/responses/api-recovery-response.d.ts +1 -3
  23. package/src/lib/interfaces/responses/api-recovery-response.d.ts.map +1 -1
  24. package/src/lib/interfaces/responses/api-request-user-response.d.ts +1 -3
  25. package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
  26. package/src/lib/interfaces/token-payload.d.ts +1 -8
  27. package/src/lib/interfaces/token-payload.d.ts.map +1 -1
  28. package/src/lib/interfaces/userApiResponse.d.ts +1 -16
  29. package/src/lib/interfaces/userApiResponse.d.ts.map +1 -1
  30. package/src/lib/routers/api.d.ts +18 -4
  31. package/src/lib/routers/api.d.ts.map +1 -1
  32. package/src/lib/routers/api.js +22 -10
  33. package/src/lib/routers/api.js.map +1 -1
  34. package/src/lib/routers/app.d.ts +16 -32
  35. package/src/lib/routers/app.d.ts.map +1 -1
  36. package/src/lib/routers/app.js +22 -120
  37. package/src/lib/routers/app.js.map +1 -1
  38. package/src/lib/secureEnclaveKeyring.js +2 -2
  39. package/src/lib/secureEnclaveKeyring.js.map +1 -1
  40. package/src/lib/services/auth.d.ts +15 -20
  41. package/src/lib/services/auth.d.ts.map +1 -1
  42. package/src/lib/services/auth.js +45 -211
  43. package/src/lib/services/auth.js.map +1 -1
  44. package/src/lib/services/brighthub/messagingService.test-helpers.js +3 -36
  45. package/src/lib/services/brighthub/messagingService.test-helpers.js.map +1 -1
  46. package/src/lib/services/brighthub/notificationService.test-helpers.js +3 -36
  47. package/src/lib/services/brighthub/notificationService.test-helpers.js.map +1 -1
  48. package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -1
  49. package/src/lib/services/emailGateway/emailGatewayService.js +2 -1
  50. package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -1
  51. package/src/lib/services/index.d.ts +1 -0
  52. package/src/lib/services/index.d.ts.map +1 -1
  53. package/src/lib/services/index.js +1 -0
  54. package/src/lib/services/index.js.map +1 -1
  55. package/src/lib/services/mnemonic-hmac.service.d.ts +35 -0
  56. package/src/lib/services/mnemonic-hmac.service.d.ts.map +1 -0
  57. package/src/lib/services/mnemonic-hmac.service.js +47 -0
  58. package/src/lib/services/mnemonic-hmac.service.js.map +1 -0
  59. package/src/lib/stores/diskBlockStore.js +1 -34
  60. package/src/lib/stores/diskBlockStore.js.map +1 -1
  61. package/src/lib/systemKeyring.js +2 -35
  62. package/src/lib/systemKeyring.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/brightchain-api-lib",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "main": "./src/index.js",
5
5
  "types": "./src/index.d.ts",
6
6
  "files": [
@@ -9,9 +9,9 @@
9
9
  ],
10
10
  "dependencies": {
11
11
  "@aws-sdk/client-ses": "^3.859.0",
12
- "@brightchain/brightchain-lib": "^0.27.0",
13
- "@brightchain/db": "^0.27.0",
14
- "@brightchain/node-express-suite": "^0.27.0",
12
+ "@brightchain/brightchain-lib": "^0.28.0",
13
+ "@brightchain/db": "^0.28.0",
14
+ "@brightchain/node-express-suite": "^0.28.0",
15
15
  "@digitaldefiance/branded-enum": "^0.0.7",
16
16
  "@digitaldefiance/ecies-lib": "^4.20.2",
17
17
  "@digitaldefiance/enclave-bridge-client": "^1.1.0",
@@ -1,42 +1,28 @@
1
- import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
2
1
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
3
- import { ApiErrorResponse, DecoratorBaseController, IApiChallengeResponse, IApiMessageResponse, IStatusCodeResponse } from '@digitaldefiance/node-express-suite';
2
+ import { ApiErrorResponse, IApiMessageResponse, IStatusCodeResponse } from '@digitaldefiance/node-express-suite';
3
+ import { BrightDbUserController, IApiLoginResponse } from '@brightchain/node-express-suite';
4
4
  import type { NextFunction, Request, Response } from 'express';
5
5
  import { IBrightChainApplication } from '../../interfaces/application';
6
- import { IApiLoginResponse, IApiRequestUserResponse } from '../../interfaces/responses';
7
6
  import { DefaultBackendIdType } from '../../shared-types';
8
- export declare class UserController<TID extends PlatformID = DefaultBackendIdType> extends DecoratorBaseController<CoreLanguageCode, TID, IBrightChainApplication<TID>> {
7
+ /**
8
+ * BrightChain domain-specific UserController.
9
+ *
10
+ * Extends BrightDbUserController with:
11
+ * - BrightHub social profile creation on registration
12
+ * - Backup code routes (generate, regenerate, get count, recover-with-backup)
13
+ * - Direct challenge verification route (ECIES signature-based login)
14
+ */
15
+ export declare class UserController<TID extends PlatformID = DefaultBackendIdType> extends BrightDbUserController<TID> {
9
16
  constructor(application: IBrightChainApplication<TID>);
10
- register(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
11
- login(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
12
- getProfile(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
13
- updateProfile(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
14
- changePassword(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
17
+ /**
18
+ * Hook called after successful registration.
19
+ * Creates a BrightHub social profile for the new user.
20
+ */
21
+ protected onPostRegister(memberId: string, username: string): Promise<void>;
22
+ directChallenge(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiLoginResponse | ApiErrorResponse>>;
15
23
  generateBackupCodes(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
16
24
  regenerateBackupCodes(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
17
25
  getBackupCodeCount(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
18
26
  recoverWithBackupCode(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
19
- recover(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
20
- logout(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
21
- requestDirectLogin(_req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiChallengeResponse | ApiErrorResponse>>;
22
- directChallenge(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiLoginResponse | ApiErrorResponse>>;
23
- /**
24
- * GET /verify — returns the authenticated user's DTO.
25
- * The auth middleware already populates req.user with a full IRequestUserDTO
26
- * via buildRequestUserDTO, so we just return it.
27
- */
28
- verify(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiRequestUserResponse | ApiErrorResponse>>;
29
- /**
30
- * GET /settings — returns the authenticated user's settings.
31
- */
32
- getSettings(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiMessageResponse | ApiErrorResponse>>;
33
- /**
34
- * POST /settings — updates the authenticated user's settings.
35
- */
36
- updateSettings(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiRequestUserResponse | ApiErrorResponse>>;
37
- /**
38
- * GET /refresh-token — re-signs the JWT and returns a new token + user DTO.
39
- */
40
- refreshToken(req: Request, _res: Response, _next: NextFunction): Promise<IStatusCodeResponse<IApiLoginResponse | ApiErrorResponse>>;
41
27
  }
42
28
  //# sourceMappingURL=user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/controllers/api/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/controllers/api/user.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAGhB,mBAAmB,EACnB,mBAAmB,EAGpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,sBAAsB,EAGtB,iBAAiB,EAClB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAoB1D;;;;;;;GAOG;AACH,qBACa,cAAc,CACzB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,sBAAsB,CAAC,GAAG,CAAC;gBACvB,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAKrD;;;OAGG;cACsB,cAAc,CACrC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAkBV,eAAe,CACnB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;IA+E/D,mBAAmB,CACvB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAmDjE,qBAAqB,CACzB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAmDjE,kBAAkB,CACtB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;IAmDjE,qBAAqB,CACzB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,mBAAmB,CAAC,mBAAmB,GAAG,gBAAgB,CAAC,CAAC;CAmFxE"}