@atproto/pds 0.4.123 → 0.4.125

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 (194) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/account-manager/account-manager.js +17 -7
  3. package/dist/account-manager/account-manager.js.map +1 -1
  4. package/dist/account-manager/db/index.d.ts.map +1 -1
  5. package/dist/account-manager/db/migrations/005-oauth-account-management.d.ts +20 -0
  6. package/dist/account-manager/db/migrations/005-oauth-account-management.d.ts.map +1 -0
  7. package/dist/account-manager/db/migrations/005-oauth-account-management.js +72 -0
  8. package/dist/account-manager/db/migrations/005-oauth-account-management.js.map +1 -0
  9. package/dist/account-manager/db/migrations/index.d.ts +2 -0
  10. package/dist/account-manager/db/migrations/index.d.ts.map +1 -1
  11. package/dist/account-manager/db/migrations/index.js +19 -7
  12. package/dist/account-manager/db/migrations/index.js.map +1 -1
  13. package/dist/account-manager/db/schema/account-device.d.ts +13 -0
  14. package/dist/account-manager/db/schema/account-device.d.ts.map +1 -0
  15. package/dist/account-manager/db/schema/{device-account.js → account-device.js} +2 -2
  16. package/dist/account-manager/db/schema/account-device.js.map +1 -0
  17. package/dist/account-manager/db/schema/authorization-request.d.ts +4 -4
  18. package/dist/account-manager/db/schema/authorization-request.d.ts.map +1 -1
  19. package/dist/account-manager/db/schema/authorization-request.js.map +1 -1
  20. package/dist/account-manager/db/schema/authorized-client.d.ts +16 -0
  21. package/dist/account-manager/db/schema/authorized-client.d.ts.map +1 -0
  22. package/dist/account-manager/db/schema/authorized-client.js +5 -0
  23. package/dist/account-manager/db/schema/authorized-client.js.map +1 -0
  24. package/dist/account-manager/db/schema/index.d.ts +4 -3
  25. package/dist/account-manager/db/schema/index.d.ts.map +1 -1
  26. package/dist/account-manager/db/schema/token.d.ts +5 -5
  27. package/dist/account-manager/db/schema/token.d.ts.map +1 -1
  28. package/dist/account-manager/db/schema/token.js.map +1 -1
  29. package/dist/account-manager/helpers/account-device.d.ts +204 -0
  30. package/dist/account-manager/helpers/account-device.d.ts.map +1 -0
  31. package/dist/account-manager/helpers/account-device.js +54 -0
  32. package/dist/account-manager/helpers/account-device.js.map +1 -0
  33. package/dist/account-manager/helpers/account.d.ts +2 -1
  34. package/dist/account-manager/helpers/account.d.ts.map +1 -1
  35. package/dist/account-manager/helpers/auth.d.ts.map +1 -1
  36. package/dist/account-manager/helpers/auth.js +17 -7
  37. package/dist/account-manager/helpers/auth.js.map +1 -1
  38. package/dist/account-manager/helpers/authorization-request.d.ts.map +1 -1
  39. package/dist/account-manager/helpers/authorization-request.js +4 -4
  40. package/dist/account-manager/helpers/authorization-request.js.map +1 -1
  41. package/dist/account-manager/helpers/authorized-client.d.ts +6 -0
  42. package/dist/account-manager/helpers/authorized-client.d.ts.map +1 -0
  43. package/dist/account-manager/helpers/authorized-client.js +47 -0
  44. package/dist/account-manager/helpers/authorized-client.js.map +1 -0
  45. package/dist/account-manager/helpers/device.d.ts +1 -1
  46. package/dist/account-manager/helpers/device.d.ts.map +1 -1
  47. package/dist/account-manager/helpers/device.js.map +1 -1
  48. package/dist/account-manager/helpers/email-token.d.ts.map +1 -1
  49. package/dist/account-manager/helpers/invite.d.ts.map +1 -1
  50. package/dist/account-manager/helpers/password.d.ts.map +1 -1
  51. package/dist/account-manager/helpers/password.js +17 -7
  52. package/dist/account-manager/helpers/password.js.map +1 -1
  53. package/dist/account-manager/helpers/repo.d.ts.map +1 -1
  54. package/dist/account-manager/helpers/scrypt.d.ts.map +1 -1
  55. package/dist/account-manager/helpers/scrypt.js +17 -7
  56. package/dist/account-manager/helpers/scrypt.js.map +1 -1
  57. package/dist/account-manager/helpers/token.d.ts +566 -59
  58. package/dist/account-manager/helpers/token.d.ts.map +1 -1
  59. package/dist/account-manager/helpers/token.js +17 -32
  60. package/dist/account-manager/helpers/token.js.map +1 -1
  61. package/dist/account-manager/helpers/used-refresh-token.d.ts.map +1 -1
  62. package/dist/account-manager/oauth-store.d.ts +17 -7
  63. package/dist/account-manager/oauth-store.d.ts.map +1 -1
  64. package/dist/account-manager/oauth-store.js +138 -86
  65. package/dist/account-manager/oauth-store.js.map +1 -1
  66. package/dist/actor-store/actor-store.js +17 -7
  67. package/dist/actor-store/actor-store.js.map +1 -1
  68. package/dist/actor-store/blob/transactor.js +17 -7
  69. package/dist/actor-store/blob/transactor.js.map +1 -1
  70. package/dist/actor-store/db/index.d.ts.map +1 -1
  71. package/dist/actor-store/db/migrations/index.js +17 -7
  72. package/dist/actor-store/db/migrations/index.js.map +1 -1
  73. package/dist/actor-store/migrate.d.ts.map +1 -1
  74. package/dist/actor-store/preference/reader.d.ts.map +1 -1
  75. package/dist/actor-store/preference/util.d.ts.map +1 -1
  76. package/dist/actor-store/record/reader.d.ts.map +1 -1
  77. package/dist/actor-store/record/reader.js +17 -7
  78. package/dist/actor-store/record/reader.js.map +1 -1
  79. package/dist/actor-store/repo/sql-repo-reader.d.ts +1 -1
  80. package/dist/api/app/bsky/util/resolver.d.ts.map +1 -1
  81. package/dist/api/com/atproto/identity/signPlcOperation.js +17 -7
  82. package/dist/api/com/atproto/identity/signPlcOperation.js.map +1 -1
  83. package/dist/api/com/atproto/identity/submitPlcOperation.js +17 -7
  84. package/dist/api/com/atproto/identity/submitPlcOperation.js.map +1 -1
  85. package/dist/api/com/atproto/repo/describeRepo.js +17 -7
  86. package/dist/api/com/atproto/repo/describeRepo.js.map +1 -1
  87. package/dist/api/com/atproto/repo/importRepo.d.ts.map +1 -1
  88. package/dist/api/com/atproto/server/createAccount.js +17 -7
  89. package/dist/api/com/atproto/server/createAccount.js.map +1 -1
  90. package/dist/api/com/atproto/server/util.d.ts.map +1 -1
  91. package/dist/api/com/atproto/server/util.js +17 -7
  92. package/dist/api/com/atproto/server/util.js.map +1 -1
  93. package/dist/api/com/atproto/sync/getRecord.js +17 -7
  94. package/dist/api/com/atproto/sync/getRecord.js.map +1 -1
  95. package/dist/api/com/atproto/sync/getRepo.d.ts.map +1 -1
  96. package/dist/api/com/atproto/sync/util.d.ts.map +1 -1
  97. package/dist/api/proxy.d.ts.map +1 -1
  98. package/dist/auth-routes.d.ts.map +1 -1
  99. package/dist/auth-routes.js +2 -3
  100. package/dist/auth-routes.js.map +1 -1
  101. package/dist/auth-verifier.d.ts.map +1 -1
  102. package/dist/auth-verifier.js +19 -13
  103. package/dist/auth-verifier.js.map +1 -1
  104. package/dist/basic-routes.d.ts.map +1 -1
  105. package/dist/config/config.d.ts.map +1 -1
  106. package/dist/config/config.js +1 -1
  107. package/dist/config/config.js.map +1 -1
  108. package/dist/config/env.d.ts +1 -1
  109. package/dist/config/env.d.ts.map +1 -1
  110. package/dist/config/env.js +1 -1
  111. package/dist/config/env.js.map +1 -1
  112. package/dist/config/secrets.d.ts.map +1 -1
  113. package/dist/context.js +18 -8
  114. package/dist/context.js.map +1 -1
  115. package/dist/db/cast.d.ts +17 -13
  116. package/dist/db/cast.d.ts.map +1 -1
  117. package/dist/db/cast.js +13 -52
  118. package/dist/db/cast.js.map +1 -1
  119. package/dist/db/pagination.d.ts.map +1 -1
  120. package/dist/db/util.d.ts.map +1 -1
  121. package/dist/did-cache/db/index.d.ts.map +1 -1
  122. package/dist/disk-blobstore.d.ts.map +1 -1
  123. package/dist/handle/explicit-slurs.d.ts.map +1 -1
  124. package/dist/handle/index.d.ts.map +1 -1
  125. package/dist/index.js +17 -7
  126. package/dist/index.js.map +1 -1
  127. package/dist/lexicon/lexicons.d.ts +72 -0
  128. package/dist/lexicon/lexicons.d.ts.map +1 -1
  129. package/dist/lexicon/lexicons.js +37 -0
  130. package/dist/lexicon/lexicons.js.map +1 -1
  131. package/dist/lexicon/types/app/bsky/graph/verification.d.ts +19 -0
  132. package/dist/lexicon/types/app/bsky/graph/verification.d.ts.map +1 -0
  133. package/dist/lexicon/types/app/bsky/graph/verification.js +16 -0
  134. package/dist/lexicon/types/app/bsky/graph/verification.js.map +1 -0
  135. package/dist/lexicon/util.d.ts.map +1 -1
  136. package/dist/mailer/index.js +17 -7
  137. package/dist/mailer/index.js.map +1 -1
  138. package/dist/pipethrough.d.ts.map +1 -1
  139. package/dist/read-after-write/util.d.ts.map +1 -1
  140. package/dist/redis.d.ts.map +1 -1
  141. package/dist/repo/prepare.d.ts.map +1 -1
  142. package/dist/repo/prepare.js +17 -7
  143. package/dist/repo/prepare.js.map +1 -1
  144. package/dist/scripts/publish-identity.d.ts.map +1 -1
  145. package/dist/scripts/rebuild-repo.d.ts.map +1 -1
  146. package/dist/scripts/rotate-keys.d.ts.map +1 -1
  147. package/dist/scripts/sequencer-recovery/index.d.ts.map +1 -1
  148. package/dist/scripts/sequencer-recovery/recoverer.d.ts.map +1 -1
  149. package/dist/scripts/sequencer-recovery/recovery-db.d.ts.map +1 -1
  150. package/dist/scripts/sequencer-recovery/repair-repos.d.ts.map +1 -1
  151. package/dist/scripts/util.d.ts.map +1 -1
  152. package/dist/sequencer/db/index.d.ts.map +1 -1
  153. package/dist/sequencer/db/migrations/index.js +17 -7
  154. package/dist/sequencer/db/migrations/index.js.map +1 -1
  155. package/dist/sequencer/events.d.ts +6 -6
  156. package/dist/sequencer/events.d.ts.map +1 -1
  157. package/dist/sequencer/sequencer.d.ts.map +1 -1
  158. package/dist/util/debug.d.ts.map +1 -1
  159. package/dist/util/params.d.ts.map +1 -1
  160. package/dist/well-known.d.ts.map +1 -1
  161. package/package.json +6 -6
  162. package/src/account-manager/db/migrations/005-oauth-account-management.ts +112 -0
  163. package/src/account-manager/db/migrations/index.ts +2 -0
  164. package/src/account-manager/db/schema/account-device.ts +14 -0
  165. package/src/account-manager/db/schema/authorization-request.ts +5 -3
  166. package/src/account-manager/db/schema/authorized-client.ts +19 -0
  167. package/src/account-manager/db/schema/index.ts +5 -3
  168. package/src/account-manager/db/schema/token.ts +7 -4
  169. package/src/account-manager/helpers/account-device.ts +66 -0
  170. package/src/account-manager/helpers/authorization-request.ts +5 -5
  171. package/src/account-manager/helpers/authorized-client.ts +69 -0
  172. package/src/account-manager/helpers/device.ts +3 -1
  173. package/src/account-manager/helpers/token.ts +19 -57
  174. package/src/account-manager/oauth-store.ts +182 -103
  175. package/src/auth-routes.ts +11 -7
  176. package/src/auth-verifier.ts +2 -7
  177. package/src/config/config.ts +1 -1
  178. package/src/config/env.ts +2 -2
  179. package/src/context.ts +2 -2
  180. package/src/db/cast.ts +43 -50
  181. package/src/lexicon/lexicons.ts +40 -0
  182. package/src/lexicon/types/app/bsky/graph/verification.ts +38 -0
  183. package/tests/db.test.ts +2 -1
  184. package/tsconfig.build.tsbuildinfo +1 -1
  185. package/tsconfig.tests.tsbuildinfo +1 -1
  186. package/dist/account-manager/db/schema/device-account.d.ts +0 -14
  187. package/dist/account-manager/db/schema/device-account.d.ts.map +0 -1
  188. package/dist/account-manager/db/schema/device-account.js.map +0 -1
  189. package/dist/account-manager/helpers/device-account.d.ts +0 -108
  190. package/dist/account-manager/helpers/device-account.d.ts.map +0 -1
  191. package/dist/account-manager/helpers/device-account.js +0 -83
  192. package/dist/account-manager/helpers/device-account.js.map +0 -1
  193. package/src/account-manager/db/schema/device-account.ts +0 -15
  194. package/src/account-manager/helpers/device-account.ts +0 -135
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/account-manager/helpers/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EACL,IAAI,EACJ,YAAY,EAEZ,YAAY,EACZ,SAAS,EACT,OAAO,EACP,SAAS,EACV,MAAM,yBAAyB,CAAA;AAShC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAA;AACzD,OAAO,EACL,uBAAuB,EAGxB,MAAM,kBAAkB,CAAA;AAEzB,KAAK,UAAU,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAA;AAEpD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC,GACtD,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC,GACrC,UAAU,CAAC,uBAAuB,CAAC,CAAA;AAErC,eAAO,MAAM,WAAW,QACjB,iBAAiB,YACZ,MAAM,KACf,SAwBD,CAAA;AA+BF,eAAO,MAAM,QAAQ,OACf,SAAS,WACJ,OAAO,QACV,SAAS,iBACA,YAAY,gHAezB,CAAA;AAEJ,eAAO,MAAM,WAAW,OAAQ,SAAS,MAAM,OAAO,qNAKZ,CAAA;AAE1C,eAAO,MAAM,QAAQ,OACf,SAAS,UACL;IACN,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,YAAY,CAAA;CACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uYA+BF,CAAA;AAED,eAAO,MAAM,aAAa,OAAQ,SAAS,OAAO,MAAM,6KAEN,CAAA;AAElD,eAAO,MAAM,QAAQ,OACf,SAAS,MACT,MAAM,cACE,OAAO,mBACF,YAAY,WACpB,YAAY,sLAaE,CAAA;AAEzB,eAAO,MAAM,QAAQ,OAAQ,SAAS,WAAW,OAAO,6KAEE,CAAA"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/account-manager/helpers/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,OAAO,EACR,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAGxC,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,CAAC,GAAG,SAAS,CAY7D;AAsBD,eAAO,MAAM,QAAQ,GACnB,IAAI,SAAS,EACb,SAAS,OAAO,EAChB,MAAM,SAAS,EACf,eAAe,YAAY,gHAezB,CAAA;AAEJ,eAAO,MAAM,WAAW,GAAI,IAAI,SAAS,EAAE,IAAI,OAAO,qNAKZ,CAAA;AAE1C,eAAO,MAAM,QAAQ,GACnB,IAAI,SAAS,EACb,QAAQ;IACN,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,mBAAmB,CAAC,EAAE,YAAY,CAAA;CACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8RAoCF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,EAAE,KAAK,MAAM,6KAEN,CAAA;AAElD,eAAO,MAAM,QAAQ,GACnB,IAAI,SAAS,EACb,IAAI,MAAM,EACV,YAAY,OAAO,EACnB,iBAAiB,YAAY,EAC7B,SAAS,YAAY,sLAaE,CAAA;AAEzB,eAAO,MAAM,QAAQ,GAAI,IAAI,SAAS,EAAE,SAAS,OAAO,6KAEE,CAAA"}
@@ -1,43 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.removeQB = exports.rotateQB = exports.removeByDidQB = exports.findByQB = exports.forRotateQB = exports.createQB = exports.toTokenInfo = void 0;
3
+ exports.removeQB = exports.rotateQB = exports.removeByDidQB = exports.findByQB = exports.forRotateQB = exports.createQB = void 0;
4
+ exports.toTokenData = toTokenData;
4
5
  const db_1 = require("../../db");
5
6
  const account_1 = require("./account");
6
- const device_account_1 = require("./device-account");
7
- const toTokenInfo = (row, audience) => ({
8
- id: row.tokenId,
9
- data: {
7
+ function toTokenData(row) {
8
+ return {
10
9
  createdAt: (0, db_1.fromDateISO)(row.createdAt),
11
10
  expiresAt: (0, db_1.fromDateISO)(row.expiresAt),
12
11
  updatedAt: (0, db_1.fromDateISO)(row.updatedAt),
13
12
  clientId: row.clientId,
14
- clientAuth: (0, db_1.fromJsonObject)(row.clientAuth),
13
+ clientAuth: (0, db_1.fromJson)(row.clientAuth),
15
14
  deviceId: row.deviceId,
16
15
  sub: row.did,
17
- parameters: (0, db_1.fromJsonObject)(row.parameters),
18
- details: row.details
19
- ? (0, db_1.fromJsonArray)(row.details)
20
- : null,
16
+ parameters: (0, db_1.fromJson)(row.parameters),
21
17
  code: row.code,
22
- },
23
- account: (0, device_account_1.toAccount)(row, audience),
24
- info: row.authenticatedAt != null &&
25
- row.authorizedClients != null &&
26
- row.remember != null
27
- ? (0, device_account_1.toDeviceAccountInfo)(row)
28
- : undefined,
29
- currentRefreshToken: row.currentRefreshToken,
30
- });
31
- exports.toTokenInfo = toTokenInfo;
18
+ };
19
+ }
32
20
  const selectTokenInfoQB = (db) => (0, account_1.selectAccountQB)(db, { includeDeactivated: true })
33
21
  // uses "token_did_idx" index (though unlikely in practice)
34
22
  .innerJoin('token', 'token.did', 'actor.did')
35
- .leftJoin('device_account', (join) => join
36
- // uses "device_account_pk" index
37
- .on('device_account.did', '=', 'token.did')
38
- // @ts-expect-error "deviceId" is nullable in token
39
- .on('device_account.deviceId', '=', 'token.deviceId'))
40
23
  .select([
24
+ 'token.id',
41
25
  'token.tokenId',
42
26
  'token.createdAt',
43
27
  'token.updatedAt',
@@ -50,9 +34,6 @@ const selectTokenInfoQB = (db) => (0, account_1.selectAccountQB)(db, { includeDe
50
34
  'token.details',
51
35
  'token.code',
52
36
  'token.currentRefreshToken',
53
- 'device_account.authenticatedAt',
54
- 'device_account.authorizedClients',
55
- 'device_account.remember',
56
37
  ]);
57
38
  const createQB = (db, tokenId, data, refreshToken) => db.db.insertInto('token').values({
58
39
  tokenId,
@@ -60,11 +41,11 @@ const createQB = (db, tokenId, data, refreshToken) => db.db.insertInto('token').
60
41
  expiresAt: (0, db_1.toDateISO)(data.expiresAt),
61
42
  updatedAt: (0, db_1.toDateISO)(data.updatedAt),
62
43
  clientId: data.clientId,
63
- clientAuth: (0, db_1.toJsonObject)(data.clientAuth),
44
+ clientAuth: (0, db_1.toJson)(data.clientAuth),
64
45
  deviceId: data.deviceId,
65
46
  did: data.sub,
66
- parameters: (0, db_1.toJsonObject)(data.parameters),
67
- details: data.details ? (0, db_1.toJsonArray)(data.details) : null,
47
+ parameters: (0, db_1.toJson)(data.parameters),
48
+ details: data.details ? (0, db_1.toJson)(data.details) : null,
68
49
  code: data.code,
69
50
  currentRefreshToken: refreshToken || null,
70
51
  });
@@ -77,6 +58,7 @@ const forRotateQB = (db, id) => db.db
77
58
  exports.forRotateQB = forRotateQB;
78
59
  const findByQB = (db, search) => {
79
60
  if (search.id === undefined &&
61
+ search.did === undefined &&
80
62
  search.code === undefined &&
81
63
  search.tokenId === undefined &&
82
64
  search.currentRefreshToken === undefined) {
@@ -87,6 +69,9 @@ const findByQB = (db, search) => {
87
69
  .if(search.id !== undefined, (qb) =>
88
70
  // uses primary key index
89
71
  qb.where('token.id', '=', search.id))
72
+ .if(search.did !== undefined, (qb) =>
73
+ // uses "token_did_idx" index
74
+ qb.where('token.did', '=', search.did))
90
75
  .if(search.code !== undefined, (qb) =>
91
76
  // uses "token_code_idx" partial index (hence the null check)
92
77
  qb
@@ -111,7 +96,7 @@ const rotateQB = (db, id, newTokenId, newRefreshToken, newData) => db.db
111
96
  currentRefreshToken: newRefreshToken,
112
97
  expiresAt: (0, db_1.toDateISO)(newData.expiresAt),
113
98
  updatedAt: (0, db_1.toDateISO)(newData.updatedAt),
114
- clientAuth: (0, db_1.toJsonObject)(newData.clientAuth),
99
+ clientAuth: (0, db_1.toJson)(newData.clientAuth),
115
100
  })
116
101
  // uses primary key index
117
102
  .where('id', '=', id);
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/account-manager/helpers/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/account-manager/helpers/token.ts"],"names":[],"mappings":";;;AAYA,kCAYC;AAhBD,iCAAmE;AAEnE,uCAA2C;AAE3C,SAAgB,WAAW,CAAC,GAAsB;IAChD,OAAO;QACL,SAAS,EAAE,IAAA,gBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;QACrC,SAAS,EAAE,IAAA,gBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;QACrC,SAAS,EAAE,IAAA,gBAAW,EAAC,GAAG,CAAC,SAAS,CAAC;QACrC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,UAAU,EAAE,IAAA,aAAQ,EAAC,GAAG,CAAC,UAAU,CAAC;QACpC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,UAAU,EAAE,IAAA,aAAQ,EAAC,GAAG,CAAC,UAAU,CAAC;QACpC,IAAI,EAAE,GAAG,CAAC,IAAI;KACf,CAAA;AACH,CAAC;AAED,MAAM,iBAAiB,GAAG,CAAC,EAAa,EAAE,EAAE,CAC1C,IAAA,yBAAe,EAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC/C,2DAA2D;KAC1D,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC;KAC5C,MAAM,CAAC;IACN,UAAU;IACV,eAAe;IACf,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,kBAAkB;IAClB,gBAAgB;IAChB,WAAW;IACX,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,2BAA2B;CAC5B,CAAC,CAAA;AAEC,MAAM,QAAQ,GAAG,CACtB,EAAa,EACb,OAAgB,EAChB,IAAe,EACf,YAA2B,EAC3B,EAAE,CACF,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAC/B,OAAO;IACP,SAAS,EAAE,IAAA,cAAS,EAAC,IAAI,CAAC,SAAS,CAAC;IACpC,SAAS,EAAE,IAAA,cAAS,EAAC,IAAI,CAAC,SAAS,CAAC;IACpC,SAAS,EAAE,IAAA,cAAS,EAAC,IAAI,CAAC,SAAS,CAAC;IACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,UAAU,EAAE,IAAA,WAAM,EAAC,IAAI,CAAC,UAAU,CAAC;IACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,GAAG,EAAE,IAAI,CAAC,GAAG;IACb,UAAU,EAAE,IAAA,WAAM,EAAC,IAAI,CAAC,UAAU,CAAC;IACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,WAAM,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;IACnD,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,mBAAmB,EAAE,YAAY,IAAI,IAAI;CAC1C,CAAC,CAAA;AAnBS,QAAA,QAAQ,YAmBjB;AAEG,MAAM,WAAW,GAAG,CAAC,EAAa,EAAE,EAAW,EAAE,EAAE,CACxD,EAAE,CAAC,EAAE;KACF,UAAU,CAAC,OAAO,CAAC;KACnB,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC;KACzB,KAAK,CAAC,qBAAqB,EAAE,QAAQ,EAAE,IAAI,CAAC;KAC5C,MAAM,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAA;AAL7B,QAAA,WAAW,eAKkB;AAEnC,MAAM,QAAQ,GAAG,CACtB,EAAa,EACb,MAMC,EACD,EAAE;IACF,IACE,MAAM,CAAC,EAAE,KAAK,SAAS;QACvB,MAAM,CAAC,GAAG,KAAK,SAAS;QACxB,MAAM,CAAC,IAAI,KAAK,SAAS;QACzB,MAAM,CAAC,OAAO,KAAK,SAAS;QAC5B,MAAM,CAAC,mBAAmB,KAAK,SAAS,EACxC,CAAC;QACD,0BAA0B;QAC1B,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;IAClE,CAAC;IAED,OAAO,iBAAiB,CAAC,EAAE,CAAC;SACzB,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;IAClC,yBAAyB;IACzB,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,EAAG,CAAC,CACtC;SACA,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;IACnC,6BAA6B;IAC7B,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,GAAI,CAAC,CACxC;SACA,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;IACpC,6DAA6D;IAC7D,EAAE;SACC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,IAAK,CAAC;SACtC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,CACvC;SACA,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;IACvC,4BAA4B;IAC5B,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,OAAQ,CAAC,CAChD;SACA,EAAE,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;IACnD,wCAAwC;IACxC,EAAE,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,EAAE,MAAM,CAAC,mBAAoB,CAAC,CACxE,CAAA;AACL,CAAC,CAAA;AA5CY,QAAA,QAAQ,YA4CpB;AAEM,MAAM,aAAa,GAAG,CAAC,EAAa,EAAE,GAAW,EAAE,EAAE;AAC1D,6BAA6B;AAC7B,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAFrC,QAAA,aAAa,iBAEwB;AAE3C,MAAM,QAAQ,GAAG,CACtB,EAAa,EACb,EAAU,EACV,UAAmB,EACnB,eAA6B,EAC7B,OAAqB,EACrB,EAAE,CACF,EAAE,CAAC,EAAE;KACF,WAAW,CAAC,OAAO,CAAC;KACpB,GAAG,CAAC;IACH,OAAO,EAAE,UAAU;IACnB,mBAAmB,EAAE,eAAe;IAEpC,SAAS,EAAE,IAAA,cAAS,EAAC,OAAO,CAAC,SAAS,CAAC;IACvC,SAAS,EAAE,IAAA,cAAS,EAAC,OAAO,CAAC,SAAS,CAAC;IACvC,UAAU,EAAE,IAAA,WAAM,EAAC,OAAO,CAAC,UAAU,CAAC;CACvC,CAAC;IACF,yBAAyB;KACxB,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;AAlBZ,QAAA,QAAQ,YAkBI;AAElB,MAAM,QAAQ,GAAG,CAAC,EAAa,EAAE,OAAgB,EAAE,EAAE;AAC1D,iDAAiD;AACjD,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;AAF7C,QAAA,QAAQ,YAEqC"}
@@ -1 +1 @@
1
- {"version":3,"file":"used-refresh-token.d.ts","sourceRoot":"","sources":["../../../src/account-manager/helpers/used-refresh-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC;;;GAGG;AACH,eAAO,MAAM,QAAQ,OACf,SAAS,WACJ,MAAM,gBACD,YAAY,6HAKW,CAAA;AAEvC,eAAO,MAAM,aAAa,OAAQ,SAAS,gBAAgB,YAAY,4NAKjD,CAAA;AAEtB,eAAO,MAAM,OAAO,OAAQ,SAAS,gBAAgB,YAAY,gkBAKG,CAAA"}
1
+ {"version":3,"file":"used-refresh-token.d.ts","sourceRoot":"","sources":["../../../src/account-manager/helpers/used-refresh-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC;;;GAGG;AACH,eAAO,MAAM,QAAQ,GACnB,IAAI,SAAS,EACb,SAAS,MAAM,EACf,cAAc,YAAY,6HAKW,CAAA;AAEvC,eAAO,MAAM,aAAa,GAAI,IAAI,SAAS,EAAE,cAAc,YAAY,4NAKjD,CAAA;AAEtB,eAAO,MAAM,OAAO,GAAI,IAAI,SAAS,EAAE,cAAc,YAAY,gkBAKG,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import { Client } from '@did-plc/lib';
2
2
  import { Keypair } from '@atproto/crypto';
3
- import { Account, AccountInfo, AccountStore, AuthenticateAccountData, Code, DeviceAccountInfo, DeviceData, DeviceId, DeviceStore, FoundRequestResult, NewTokenData, RefreshToken, RequestData, RequestId, RequestStore, ResetPasswordConfirmData, ResetPasswordRequestData, SignUpData, TokenData, TokenId, TokenInfo, TokenStore, UpdateRequestData } from '@atproto/oauth-provider';
3
+ import { Account, AccountStore, AuthenticateAccountData, AuthorizedClientData, AuthorizedClients, ClientId, Code, DeviceAccount, DeviceData, DeviceId, DeviceStore, FoundRequestResult, NewTokenData, RefreshToken, RequestData, RequestId, RequestStore, ResetPasswordConfirmData, ResetPasswordRequestData, SignUpData, Sub, TokenData, TokenId, TokenInfo, TokenStore, UpdateRequestData } from '@atproto/oauth-provider';
4
4
  import { ActorStore } from '../actor-store/actor-store';
5
5
  import { BackgroundQueue } from '../background';
6
6
  import { ImageUrlBuilder } from '../image/image-url-builder';
@@ -27,16 +27,23 @@ export declare class OAuthStore implements AccountStore, RequestStore, DeviceSto
27
27
  constructor(accountManager: AccountManager, actorStore: ActorStore, imageUrlBuilder: ImageUrlBuilder, backgroundQueue: BackgroundQueue, mailer: ServerMailer, sequencer: Sequencer, plcClient: Client, plcRotationKey: Keypair, publicUrl: string, recoveryDidKey: string | null);
28
28
  private get db();
29
29
  private get serviceDid();
30
- private buildAccount;
31
30
  private verifyEmailAvailability;
32
31
  private verifyInviteCode;
33
32
  createAccount({ locale: _locale, inviteCode, handle, email, password, }: SignUpData): Promise<Account>;
34
33
  authenticateAccount({ locale: _locale, username: identifier, password, emailOtp, }: AuthenticateAccountData): Promise<Account>;
35
- addDeviceAccount(deviceId: DeviceId, sub: string, remember: boolean): Promise<DeviceAccountInfo>;
36
- addAuthorizedClient(deviceId: DeviceId, sub: string, clientId: string): Promise<void>;
37
- getDeviceAccount(deviceId: DeviceId, sub: string): Promise<AccountInfo | null>;
38
- listDeviceAccounts(deviceId: DeviceId): Promise<AccountInfo[]>;
39
- removeDeviceAccount(deviceId: DeviceId, sub: string): Promise<void>;
34
+ setAuthorizedClient(sub: Sub, clientId: ClientId, data: AuthorizedClientData): Promise<void>;
35
+ getAccount(sub: Sub): Promise<{
36
+ account: Account;
37
+ authorizedClients: AuthorizedClients;
38
+ }>;
39
+ upsertDeviceAccount(deviceId: DeviceId, sub: string): Promise<void>;
40
+ getDeviceAccount(deviceId: DeviceId, sub: string): Promise<DeviceAccount | null>;
41
+ removeDeviceAccount(deviceId: DeviceId, sub: Sub): Promise<void>;
42
+ listDeviceAccounts(filter: {
43
+ sub: Sub;
44
+ } | {
45
+ deviceId: DeviceId;
46
+ }): Promise<DeviceAccount[]>;
40
47
  resetPasswordRequest({ locale: _locale, email, }: ResetPasswordRequestData): Promise<void>;
41
48
  resetPasswordConfirm(data: ResetPasswordConfirmData): Promise<void>;
42
49
  verifyHandleAvailability(handle: string): Promise<void>;
@@ -50,10 +57,13 @@ export declare class OAuthStore implements AccountStore, RequestStore, DeviceSto
50
57
  updateDevice(deviceId: DeviceId, data: Partial<DeviceData>): Promise<void>;
51
58
  deleteDevice(deviceId: DeviceId): Promise<void>;
52
59
  createToken(id: TokenId, data: TokenData, refreshToken?: RefreshToken): Promise<void>;
60
+ listAccountTokens(sub: Sub): Promise<TokenInfo[]>;
53
61
  readToken(tokenId: TokenId): Promise<TokenInfo | null>;
54
62
  deleteToken(tokenId: TokenId): Promise<void>;
55
63
  rotateToken(tokenId: TokenId, newTokenId: TokenId, newRefreshToken: RefreshToken, newData: NewTokenData): Promise<void>;
56
64
  findTokenByRefreshToken(refreshToken: RefreshToken): Promise<TokenInfo | null>;
57
65
  findTokenByCode(code: Code): Promise<TokenInfo | null>;
66
+ private toTokenInfo;
67
+ private buildAccount;
58
68
  }
59
69
  //# sourceMappingURL=oauth-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-store.d.ts","sourceRoot":"","sources":["../../src/account-manager/oauth-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-store.d.ts","sourceRoot":"","sources":["../../src/account-manager/oauth-store.ts"],"names":[],"mappings":"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"}
@@ -15,26 +15,44 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
37
  };
25
38
  Object.defineProperty(exports, "__esModule", { value: true });
26
39
  exports.OAuthStore = void 0;
40
+ const node_assert_1 = __importDefault(require("node:assert"));
27
41
  const lib_1 = require("@did-plc/lib");
28
42
  const crypto_1 = require("@atproto/crypto");
29
43
  const oauth_provider_1 = require("@atproto/oauth-provider");
30
44
  const xrpc_server_1 = require("@atproto/xrpc-server");
45
+ const db_1 = require("../db");
46
+ const logger_1 = require("../logger");
31
47
  const sequencer_1 = require("../sequencer");
48
+ const accountHelper = __importStar(require("./helpers/account"));
32
49
  const account_1 = require("./helpers/account");
33
- const authRequest = __importStar(require("./helpers/authorization-request"));
34
- const device = __importStar(require("./helpers/device"));
35
- const deviceAccount = __importStar(require("./helpers/device-account"));
36
- const token = __importStar(require("./helpers/token"));
37
- const usedRefreshToken = __importStar(require("./helpers/used-refresh-token"));
50
+ const accountDeviceHelper = __importStar(require("./helpers/account-device"));
51
+ const authRequestHelper = __importStar(require("./helpers/authorization-request"));
52
+ const authorizedClientHelper = __importStar(require("./helpers/authorized-client"));
53
+ const deviceHelper = __importStar(require("./helpers/device"));
54
+ const tokenHelper = __importStar(require("./helpers/token"));
55
+ const usedRefreshTokenHelper = __importStar(require("./helpers/used-refresh-token"));
38
56
  /**
39
57
  * This class' purpose is to implement the interface needed by the OAuthProvider
40
58
  * to interact with the account database (through the {@link AccountManager}).
@@ -113,23 +131,6 @@ class OAuthStore {
113
131
  get serviceDid() {
114
132
  return this.accountManager.serviceDid;
115
133
  }
116
- async buildAccount(row) {
117
- const account = deviceAccount.toAccount(row, this.serviceDid);
118
- if (!account.name || !account.picture) {
119
- const did = account.sub;
120
- const profile = await this.actorStore.read(did, async (store) => {
121
- return store.record.getProfileRecord();
122
- });
123
- if (profile) {
124
- const { avatar, displayName } = profile;
125
- account.name || (account.name = displayName);
126
- account.picture || (account.picture = avatar
127
- ? this.imageUrlBuilder.build('avatar', did, avatar.ref.toString())
128
- : undefined);
129
- }
130
- }
131
- return account;
132
- }
133
134
  async verifyEmailAvailability(email) {
134
135
  // @NOTE Email validity & disposability check performed by the OAuthProvider
135
136
  const account = await this.accountManager.getAccountByEmail(email, {
@@ -241,49 +242,56 @@ class OAuthStore {
241
242
  throw err;
242
243
  }
243
244
  }
244
- async addDeviceAccount(deviceId, sub, remember) {
245
- const [row] = await this.db.executeWithRetry(deviceAccount.createOrUpdateQB(this.db, deviceId, sub, remember));
246
- if (!row)
247
- throw new Error('Failed to create device account');
248
- return deviceAccount.toDeviceAccountInfo(row);
245
+ async setAuthorizedClient(sub, clientId, data) {
246
+ await authorizedClientHelper.upsert(this.db, sub, clientId, data);
249
247
  }
250
- async addAuthorizedClient(deviceId, sub, clientId) {
251
- await this.db.transaction(async (dbTxn) => {
252
- const row = await deviceAccount
253
- .readQB(dbTxn, deviceId, sub)
254
- .executeTakeFirstOrThrow();
255
- const { authorizedClients } = deviceAccount.toDeviceAccountInfo(row);
256
- if (!authorizedClients.includes(clientId)) {
257
- await deviceAccount
258
- .updateQB(dbTxn, deviceId, sub, {
259
- authorizedClients: [...authorizedClients, clientId],
260
- })
261
- .execute();
262
- }
248
+ async getAccount(sub) {
249
+ const accountRow = await accountHelper.getAccount(this.db, sub, {
250
+ includeDeactivated: true,
263
251
  });
252
+ (0, node_assert_1.default)(accountRow, 'Account not found');
253
+ const account = await this.buildAccount(accountRow);
254
+ const authorizedClients = await authorizedClientHelper.getAuthorizedClients(this.db, sub);
255
+ return { account, authorizedClients };
256
+ }
257
+ async upsertDeviceAccount(deviceId, sub) {
258
+ await this.db.executeWithRetry(accountDeviceHelper.upsertQB(this.db, deviceId, sub));
264
259
  }
265
260
  async getDeviceAccount(deviceId, sub) {
266
- const row = await deviceAccount
267
- .getAccountInfoQB(this.db, deviceId, sub)
261
+ const row = await accountDeviceHelper
262
+ .selectQB(this.db, { deviceId, sub })
268
263
  .executeTakeFirst();
269
264
  if (!row)
270
265
  return null;
271
266
  return {
267
+ deviceId,
268
+ deviceData: deviceHelper.rowToDeviceData(row),
272
269
  account: await this.buildAccount(row),
273
- info: deviceAccount.toDeviceAccountInfo(row),
270
+ authorizedClients: await authorizedClientHelper.getAuthorizedClients(this.db, sub),
271
+ createdAt: (0, db_1.fromDateISO)(row.adCreatedAt),
272
+ updatedAt: (0, db_1.fromDateISO)(row.adUpdatedAt),
274
273
  };
275
274
  }
276
- async listDeviceAccounts(deviceId) {
277
- const rows = await deviceAccount
278
- .listRememberedQB(this.db, deviceId)
279
- .execute();
280
- return Promise.all(rows.map(async (row) => ({
281
- account: await this.buildAccount(row),
282
- info: deviceAccount.toDeviceAccountInfo(row),
283
- })));
284
- }
285
275
  async removeDeviceAccount(deviceId, sub) {
286
- await this.db.executeWithRetry(deviceAccount.removeQB(this.db, deviceId, sub));
276
+ await this.db.executeWithRetry(accountDeviceHelper.removeQB(this.db, deviceId, sub));
277
+ }
278
+ async listDeviceAccounts(filter) {
279
+ const rows = await accountDeviceHelper.selectQB(this.db, filter).execute();
280
+ const uniqueDids = [...new Set(rows.map((row) => row.did))];
281
+ // Enrich all distinct account with their profile data
282
+ const accounts = new Map(await Promise.all(Array.from(uniqueDids, async (did) => {
283
+ const row = rows.find((r) => r.did === did);
284
+ return [did, await this.buildAccount(row)];
285
+ })));
286
+ const authorizedClientsMap = await authorizedClientHelper.getAuthorizedClientsMulti(this.db, uniqueDids);
287
+ return rows.map((row) => ({
288
+ deviceId: row.deviceId,
289
+ deviceData: deviceHelper.rowToDeviceData(row),
290
+ account: accounts.get(row.did),
291
+ authorizedClients: authorizedClientsMap.get(row.did),
292
+ createdAt: (0, db_1.fromDateISO)(row.adCreatedAt),
293
+ updatedAt: (0, db_1.fromDateISO)(row.adUpdatedAt),
294
+ }));
287
295
  }
288
296
  async resetPasswordRequest({ locale: _locale, email, }) {
289
297
  const account = await this.accountManager.getAccountByEmail(email, {
@@ -337,89 +345,97 @@ class OAuthStore {
337
345
  }
338
346
  // RequestStore
339
347
  async createRequest(id, data) {
340
- await this.db.executeWithRetry(authRequest.createQB(this.db, id, data));
348
+ await this.db.executeWithRetry(authRequestHelper.createQB(this.db, id, data));
341
349
  }
342
350
  async readRequest(id) {
343
351
  try {
344
- const row = await authRequest.readQB(this.db, id).executeTakeFirst();
352
+ const row = await authRequestHelper.readQB(this.db, id).executeTakeFirst();
345
353
  if (!row)
346
354
  return null;
347
- return authRequest.rowToRequestData(row);
355
+ return authRequestHelper.rowToRequestData(row);
348
356
  }
349
357
  finally {
350
358
  // Take the opportunity to clean up expired requests. Do this after we got
351
359
  // the current (potentially expired) request data to allow the provider to
352
360
  // handle expired requests.
353
361
  this.backgroundQueue.add(async () => {
354
- await this.db.executeWithRetry(authRequest.removeOldExpiredQB(this.db));
362
+ await this.db.executeWithRetry(authRequestHelper.removeOldExpiredQB(this.db));
355
363
  });
356
364
  }
357
365
  }
358
366
  async updateRequest(id, data) {
359
- await this.db.executeWithRetry(authRequest.updateQB(this.db, id, data));
367
+ await this.db.executeWithRetry(authRequestHelper.updateQB(this.db, id, data));
360
368
  }
361
369
  async deleteRequest(id) {
362
- await this.db.executeWithRetry(authRequest.removeByIdQB(this.db, id));
370
+ await this.db.executeWithRetry(authRequestHelper.removeByIdQB(this.db, id));
363
371
  }
364
372
  async findRequestByCode(code) {
365
- const row = await authRequest.findByCodeQB(this.db, code).executeTakeFirst();
366
- return row ? authRequest.rowToFoundRequestResult(row) : null;
373
+ const row = await authRequestHelper
374
+ .findByCodeQB(this.db, code)
375
+ .executeTakeFirst();
376
+ return row ? authRequestHelper.rowToFoundRequestResult(row) : null;
367
377
  }
368
378
  // DeviceStore
369
379
  async createDevice(deviceId, data) {
370
- await this.db.executeWithRetry(device.createQB(this.db, deviceId, data));
380
+ await this.db.executeWithRetry(deviceHelper.createQB(this.db, deviceId, data));
371
381
  }
372
382
  async readDevice(deviceId) {
373
- const row = await device.readQB(this.db, deviceId).executeTakeFirst();
374
- return row ? device.rowToDeviceData(row) : null;
383
+ const row = await deviceHelper.readQB(this.db, deviceId).executeTakeFirst();
384
+ return row ? deviceHelper.rowToDeviceData(row) : null;
375
385
  }
376
386
  async updateDevice(deviceId, data) {
377
- await this.db.executeWithRetry(device.updateQB(this.db, deviceId, data));
387
+ await this.db.executeWithRetry(deviceHelper.updateQB(this.db, deviceId, data));
378
388
  }
379
389
  async deleteDevice(deviceId) {
380
390
  // Will cascade to device_account (device_account_device_id_fk)
381
- await this.db.executeWithRetry(device.removeQB(this.db, deviceId));
391
+ await this.db.executeWithRetry(deviceHelper.removeQB(this.db, deviceId));
382
392
  }
383
393
  // TokenStore
384
394
  async createToken(id, data, refreshToken) {
385
395
  await this.db.transaction(async (dbTxn) => {
386
396
  if (refreshToken) {
387
- const { count } = await usedRefreshToken
397
+ const { count } = await usedRefreshTokenHelper
388
398
  .countQB(dbTxn, refreshToken)
389
399
  .executeTakeFirstOrThrow();
390
400
  if (count > 0) {
391
401
  throw new Error('Refresh token already in use');
392
402
  }
393
403
  }
394
- return token.createQB(dbTxn, id, data, refreshToken).execute();
404
+ return tokenHelper.createQB(dbTxn, id, data, refreshToken).execute();
395
405
  });
396
406
  }
407
+ async listAccountTokens(sub) {
408
+ const rows = await tokenHelper.findByQB(this.db, { did: sub }).execute();
409
+ return Promise.all(rows.map((row) => this.toTokenInfo(row)));
410
+ }
397
411
  async readToken(tokenId) {
398
- const row = await token.findByQB(this.db, { tokenId }).executeTakeFirst();
399
- return row ? token.toTokenInfo(row, this.serviceDid) : null;
412
+ const row = await tokenHelper
413
+ .findByQB(this.db, { tokenId })
414
+ .executeTakeFirst();
415
+ return row ? this.toTokenInfo(row) : null;
400
416
  }
401
417
  async deleteToken(tokenId) {
402
418
  // Will cascade to used_refresh_token (used_refresh_token_fk)
403
- await this.db.executeWithRetry(token.removeQB(this.db, tokenId));
419
+ await this.db.executeWithRetry(tokenHelper.removeQB(this.db, tokenId));
404
420
  }
405
421
  async rotateToken(tokenId, newTokenId, newRefreshToken, newData) {
406
422
  const err = await this.db.transaction(async (dbTxn) => {
407
- const { id, currentRefreshToken } = await token
423
+ const { id, currentRefreshToken } = await tokenHelper
408
424
  .forRotateQB(dbTxn, tokenId)
409
425
  .executeTakeFirstOrThrow();
410
426
  if (currentRefreshToken) {
411
- await usedRefreshToken
427
+ await usedRefreshTokenHelper
412
428
  .insertQB(dbTxn, id, currentRefreshToken)
413
429
  .execute();
414
430
  }
415
- const { count } = await usedRefreshToken
431
+ const { count } = await usedRefreshTokenHelper
416
432
  .countQB(dbTxn, newRefreshToken)
417
433
  .executeTakeFirstOrThrow();
418
434
  if (count > 0) {
419
435
  // Do NOT throw (we don't want the transaction to be rolled back)
420
436
  return new Error('New refresh token already in use');
421
437
  }
422
- await token
438
+ await tokenHelper
423
439
  .rotateQB(dbTxn, id, newTokenId, newRefreshToken, newData)
424
440
  .execute();
425
441
  });
@@ -427,18 +443,54 @@ class OAuthStore {
427
443
  throw err;
428
444
  }
429
445
  async findTokenByRefreshToken(refreshToken) {
430
- const used = await usedRefreshToken
446
+ const used = await usedRefreshTokenHelper
431
447
  .findByTokenQB(this.db, refreshToken)
432
448
  .executeTakeFirst();
433
449
  const search = used
434
450
  ? { id: used.tokenId }
435
451
  : { currentRefreshToken: refreshToken };
436
- const row = await token.findByQB(this.db, search).executeTakeFirst();
437
- return row ? token.toTokenInfo(row, this.serviceDid) : null;
452
+ const row = await tokenHelper.findByQB(this.db, search).executeTakeFirst();
453
+ return row ? this.toTokenInfo(row) : null;
438
454
  }
439
455
  async findTokenByCode(code) {
440
- const row = await token.findByQB(this.db, { code }).executeTakeFirst();
441
- return row ? token.toTokenInfo(row, this.serviceDid) : null;
456
+ const row = await tokenHelper.findByQB(this.db, { code }).executeTakeFirst();
457
+ return row ? this.toTokenInfo(row) : null;
458
+ }
459
+ async toTokenInfo(row) {
460
+ return {
461
+ id: row.tokenId,
462
+ data: tokenHelper.toTokenData(row),
463
+ account: await this.buildAccount(row),
464
+ currentRefreshToken: row.currentRefreshToken,
465
+ };
466
+ }
467
+ async buildAccount(row) {
468
+ const account = {
469
+ sub: row.did,
470
+ aud: this.serviceDid,
471
+ email: row.email || undefined,
472
+ email_verified: row.email ? row.emailConfirmedAt != null : undefined,
473
+ preferred_username: row.handle || undefined,
474
+ };
475
+ if (!account.name || !account.picture) {
476
+ const did = account.sub;
477
+ const profile = await this.actorStore
478
+ .read(did, async (store) => {
479
+ return store.record.getProfileRecord();
480
+ })
481
+ .catch((err) => {
482
+ logger_1.dbLogger.error({ err }, 'Failed to get profile record');
483
+ return null; // No need to propagate
484
+ });
485
+ if (profile) {
486
+ const { avatar, displayName } = profile;
487
+ account.name || (account.name = displayName);
488
+ account.picture || (account.picture = avatar
489
+ ? this.imageUrlBuilder.build('avatar', did, avatar.ref.toString())
490
+ : undefined);
491
+ }
492
+ }
493
+ return account;
442
494
  }
443
495
  }
444
496
  exports.OAuthStore = OAuthStore;
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-store.js","sourceRoot":"","sources":["../../src/account-manager/oauth-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-store.js","sourceRoot":"","sources":["../../src/account-manager/oauth-store.ts"],"names":[],"mappings":"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"}