@atproto/ozone 0.1.46 → 0.1.48

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 (95) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +4 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/moderation/getRecord.d.ts.map +1 -1
  6. package/dist/api/moderation/getRecord.js +5 -4
  7. package/dist/api/moderation/getRecord.js.map +1 -1
  8. package/dist/api/moderation/getRecords.d.ts +4 -0
  9. package/dist/api/moderation/getRecords.d.ts.map +1 -0
  10. package/dist/api/moderation/getRecords.js +37 -0
  11. package/dist/api/moderation/getRecords.js.map +1 -0
  12. package/dist/api/moderation/getRepo.d.ts.map +1 -1
  13. package/dist/api/moderation/getRepo.js +5 -4
  14. package/dist/api/moderation/getRepo.js.map +1 -1
  15. package/dist/api/moderation/getRepos.d.ts +4 -0
  16. package/dist/api/moderation/getRepos.d.ts.map +1 -0
  17. package/dist/api/moderation/getRepos.js +36 -0
  18. package/dist/api/moderation/getRepos.js.map +1 -0
  19. package/dist/api/proxied.d.ts.map +1 -1
  20. package/dist/api/proxied.js +39 -0
  21. package/dist/api/proxied.js.map +1 -1
  22. package/dist/api/util.d.ts +1 -1
  23. package/dist/api/util.d.ts.map +1 -1
  24. package/dist/api/util.js +13 -9
  25. package/dist/api/util.js.map +1 -1
  26. package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.d.ts +4 -0
  27. package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.d.ts.map +1 -0
  28. package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.js +18 -0
  29. package/dist/db/migrations/20241001T205730722Z-subject-status-review-state-index.js.map +1 -0
  30. package/dist/db/migrations/index.d.ts +1 -0
  31. package/dist/db/migrations/index.d.ts.map +1 -1
  32. package/dist/db/migrations/index.js +2 -1
  33. package/dist/db/migrations/index.js.map +1 -1
  34. package/dist/lexicon/index.d.ts +15 -0
  35. package/dist/lexicon/index.d.ts.map +1 -1
  36. package/dist/lexicon/index.js +40 -1
  37. package/dist/lexicon/index.js.map +1 -1
  38. package/dist/lexicon/lexicons.d.ts +261 -0
  39. package/dist/lexicon/lexicons.d.ts.map +1 -1
  40. package/dist/lexicon/lexicons.js +269 -0
  41. package/dist/lexicon/lexicons.js.map +1 -1
  42. package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts +1 -0
  43. package/dist/lexicon/types/com/atproto/repo/getRecord.d.ts.map +1 -1
  44. package/dist/lexicon/types/tools/ozone/moderation/getRecords.d.ts +39 -0
  45. package/dist/lexicon/types/tools/ozone/moderation/getRecords.d.ts.map +1 -0
  46. package/dist/lexicon/types/tools/ozone/moderation/getRecords.js +3 -0
  47. package/dist/lexicon/types/tools/ozone/moderation/getRecords.js.map +1 -0
  48. package/dist/lexicon/types/tools/ozone/moderation/getRepos.d.ts +39 -0
  49. package/dist/lexicon/types/tools/ozone/moderation/getRepos.d.ts.map +1 -0
  50. package/dist/lexicon/types/tools/ozone/moderation/getRepos.js +3 -0
  51. package/dist/lexicon/types/tools/ozone/moderation/getRepos.js.map +1 -0
  52. package/dist/lexicon/types/tools/ozone/signature/defs.d.ts +12 -0
  53. package/dist/lexicon/types/tools/ozone/signature/defs.d.ts.map +1 -0
  54. package/dist/lexicon/types/tools/ozone/signature/defs.js +16 -0
  55. package/dist/lexicon/types/tools/ozone/signature/defs.js.map +1 -0
  56. package/dist/lexicon/types/tools/ozone/signature/findCorrelation.d.ts +36 -0
  57. package/dist/lexicon/types/tools/ozone/signature/findCorrelation.d.ts.map +1 -0
  58. package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js +3 -0
  59. package/dist/lexicon/types/tools/ozone/signature/findCorrelation.js.map +1 -0
  60. package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.d.ts +48 -0
  61. package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.d.ts.map +1 -0
  62. package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js +16 -0
  63. package/dist/lexicon/types/tools/ozone/signature/findRelatedAccounts.js.map +1 -0
  64. package/dist/lexicon/types/tools/ozone/signature/searchAccounts.d.ts +39 -0
  65. package/dist/lexicon/types/tools/ozone/signature/searchAccounts.d.ts.map +1 -0
  66. package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js +3 -0
  67. package/dist/lexicon/types/tools/ozone/signature/searchAccounts.js.map +1 -0
  68. package/dist/mod-service/views.d.ts +5 -5
  69. package/dist/mod-service/views.d.ts.map +1 -1
  70. package/dist/mod-service/views.js +75 -48
  71. package/dist/mod-service/views.js.map +1 -1
  72. package/package.json +5 -5
  73. package/src/api/index.ts +4 -0
  74. package/src/api/moderation/getRecord.ts +7 -5
  75. package/src/api/moderation/getRecords.ts +50 -0
  76. package/src/api/moderation/getRepo.ts +7 -5
  77. package/src/api/moderation/getRepos.ts +41 -0
  78. package/src/api/proxied.ts +51 -0
  79. package/src/api/util.ts +16 -9
  80. package/src/db/migrations/20241001T205730722Z-subject-status-review-state-index.ts +15 -0
  81. package/src/db/migrations/index.ts +1 -0
  82. package/src/lexicon/index.ts +70 -0
  83. package/src/lexicon/lexicons.ts +273 -0
  84. package/src/lexicon/types/com/atproto/repo/getRecord.ts +1 -0
  85. package/src/lexicon/types/tools/ozone/moderation/getRecords.ts +50 -0
  86. package/src/lexicon/types/tools/ozone/moderation/getRepos.ts +50 -0
  87. package/src/lexicon/types/tools/ozone/signature/defs.ts +25 -0
  88. package/src/lexicon/types/tools/ozone/signature/findCorrelation.ts +46 -0
  89. package/src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts +71 -0
  90. package/src/lexicon/types/tools/ozone/signature/searchAccounts.ts +49 -0
  91. package/src/mod-service/views.ts +93 -52
  92. package/tests/__snapshots__/get-records.test.ts.snap +153 -0
  93. package/tests/__snapshots__/get-repos.test.ts.snap +108 -0
  94. package/tests/get-records.test.ts +87 -0
  95. package/tests/get-repos.test.ts +87 -0
@@ -31,6 +31,7 @@ export interface HandlerSuccess {
31
31
  export interface HandlerError {
32
32
  status: number;
33
33
  message?: string;
34
+ error?: 'RecordNotFound';
34
35
  }
35
36
  export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
36
37
  export type HandlerReqCtx<HA extends HandlerAuth = never> = {
@@ -1 +1 @@
1
- {"version":3,"file":"getRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/repo/getRecord.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,EAAE,CAAA;IACT,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
1
+ {"version":3,"file":"getRecord.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/repo/getRecord.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEtE,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,mGAAmG;IACnG,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,EAAE,CAAA;IACT,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneModerationDefs from './defs';
7
+ export interface QueryParams {
8
+ uris: string[];
9
+ }
10
+ export type InputSchema = undefined;
11
+ export interface OutputSchema {
12
+ records: (ToolsOzoneModerationDefs.RecordViewDetail | ToolsOzoneModerationDefs.RecordViewNotFound | {
13
+ $type: string;
14
+ [k: string]: unknown;
15
+ })[];
16
+ [k: string]: unknown;
17
+ }
18
+ export type HandlerInput = undefined;
19
+ export interface HandlerSuccess {
20
+ encoding: 'application/json';
21
+ body: OutputSchema;
22
+ headers?: {
23
+ [key: string]: string;
24
+ };
25
+ }
26
+ export interface HandlerError {
27
+ status: number;
28
+ message?: string;
29
+ }
30
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
31
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
32
+ auth: HA;
33
+ params: QueryParams;
34
+ input: HandlerInput;
35
+ req: express.Request;
36
+ res: express.Response;
37
+ };
38
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
39
+ //# sourceMappingURL=getRecords.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRecords.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/getRecords.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,wBAAwB,MAAM,QAAQ,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,CACL,wBAAwB,CAAC,gBAAgB,GACzC,wBAAwB,CAAC,kBAAkB,GAC3C;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAC1C,EAAE,CAAA;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=getRecords.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRecords.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/getRecords.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneModerationDefs from './defs';
7
+ export interface QueryParams {
8
+ dids: string[];
9
+ }
10
+ export type InputSchema = undefined;
11
+ export interface OutputSchema {
12
+ repos: (ToolsOzoneModerationDefs.RepoViewDetail | ToolsOzoneModerationDefs.RepoViewNotFound | {
13
+ $type: string;
14
+ [k: string]: unknown;
15
+ })[];
16
+ [k: string]: unknown;
17
+ }
18
+ export type HandlerInput = undefined;
19
+ export interface HandlerSuccess {
20
+ encoding: 'application/json';
21
+ body: OutputSchema;
22
+ headers?: {
23
+ [key: string]: string;
24
+ };
25
+ }
26
+ export interface HandlerError {
27
+ status: number;
28
+ message?: string;
29
+ }
30
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
31
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
32
+ auth: HA;
33
+ params: QueryParams;
34
+ input: HandlerInput;
35
+ req: express.Request;
36
+ res: express.Response;
37
+ };
38
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
39
+ //# sourceMappingURL=getRepos.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRepos.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/getRepos.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,wBAAwB,MAAM,QAAQ,CAAA;AAElD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,CACH,wBAAwB,CAAC,cAAc,GACvC,wBAAwB,CAAC,gBAAgB,GACzC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAC1C,EAAE,CAAA;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=getRepos.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRepos.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/getRepos.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { ValidationResult } from '@atproto/lexicon';
5
+ export interface SigDetail {
6
+ property: string;
7
+ value: string;
8
+ [k: string]: unknown;
9
+ }
10
+ export declare function isSigDetail(v: unknown): v is SigDetail;
11
+ export declare function validateSigDetail(v: unknown): ValidationResult;
12
+ //# sourceMappingURL=defs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAK5D,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,SAAS,CAMtD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAE9D"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateSigDetail = exports.isSigDetail = void 0;
4
+ const lexicons_1 = require("../../../../lexicons");
5
+ const util_1 = require("../../../../util");
6
+ function isSigDetail(v) {
7
+ return ((0, util_1.isObj)(v) &&
8
+ (0, util_1.hasProp)(v, '$type') &&
9
+ v.$type === 'tools.ozone.signature.defs#sigDetail');
10
+ }
11
+ exports.isSigDetail = isSigDetail;
12
+ function validateSigDetail(v) {
13
+ return lexicons_1.lexicons.validate('tools.ozone.signature.defs#sigDetail', v);
14
+ }
15
+ exports.validateSigDetail = validateSigDetail;
16
+ //# sourceMappingURL=defs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/defs.ts"],"names":[],"mappings":";;;AAIA,mDAA+C;AAC/C,2CAAiD;AASjD,SAAgB,WAAW,CAAC,CAAU;IACpC,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC;QACR,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,sCAAsC,CACnD,CAAA;AACH,CAAC;AAND,kCAMC;AAED,SAAgB,iBAAiB,CAAC,CAAU;IAC1C,OAAO,mBAAQ,CAAC,QAAQ,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;AACrE,CAAC;AAFD,8CAEC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ToolsOzoneSignatureDefs from './defs';
7
+ export interface QueryParams {
8
+ dids: string[];
9
+ }
10
+ export type InputSchema = undefined;
11
+ export interface OutputSchema {
12
+ details: ToolsOzoneSignatureDefs.SigDetail[];
13
+ [k: string]: unknown;
14
+ }
15
+ export type HandlerInput = undefined;
16
+ export interface HandlerSuccess {
17
+ encoding: 'application/json';
18
+ body: OutputSchema;
19
+ headers?: {
20
+ [key: string]: string;
21
+ };
22
+ }
23
+ export interface HandlerError {
24
+ status: number;
25
+ message?: string;
26
+ }
27
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
28
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
29
+ auth: HA;
30
+ params: QueryParams;
31
+ input: HandlerInput;
32
+ req: express.Request;
33
+ res: express.Response;
34
+ };
35
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
36
+ //# sourceMappingURL=findCorrelation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findCorrelation.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/findCorrelation.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,uBAAuB,MAAM,QAAQ,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,uBAAuB,CAAC,SAAS,EAAE,CAAA;IAC5C,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=findCorrelation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findCorrelation.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/findCorrelation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { ValidationResult } from '@atproto/lexicon';
6
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
7
+ import * as ComAtprotoAdminDefs from '../../../com/atproto/admin/defs';
8
+ import * as ToolsOzoneSignatureDefs from './defs';
9
+ export interface QueryParams {
10
+ did: string;
11
+ cursor?: string;
12
+ limit: number;
13
+ }
14
+ export type InputSchema = undefined;
15
+ export interface OutputSchema {
16
+ cursor?: string;
17
+ accounts: RelatedAccount[];
18
+ [k: string]: unknown;
19
+ }
20
+ export type HandlerInput = undefined;
21
+ export interface HandlerSuccess {
22
+ encoding: 'application/json';
23
+ body: OutputSchema;
24
+ headers?: {
25
+ [key: string]: string;
26
+ };
27
+ }
28
+ export interface HandlerError {
29
+ status: number;
30
+ message?: string;
31
+ }
32
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
33
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
34
+ auth: HA;
35
+ params: QueryParams;
36
+ input: HandlerInput;
37
+ req: express.Request;
38
+ res: express.Response;
39
+ };
40
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
41
+ export interface RelatedAccount {
42
+ account: ComAtprotoAdminDefs.AccountView;
43
+ similarities?: ToolsOzoneSignatureDefs.SigDetail[];
44
+ [k: string]: unknown;
45
+ }
46
+ export declare function isRelatedAccount(v: unknown): v is RelatedAccount;
47
+ export declare function validateRelatedAccount(v: unknown): ValidationResult;
48
+ //# sourceMappingURL=findRelatedAccounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findRelatedAccounts.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAI5D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,iCAAiC,CAAA;AACtE,OAAO,KAAK,uBAAuB,MAAM,QAAQ,CAAA;AAEjD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA;AAE3C,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,mBAAmB,CAAC,WAAW,CAAA;IACxC,YAAY,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,CAAA;IAClD,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,cAAc,CAMhE;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAKnE"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateRelatedAccount = exports.isRelatedAccount = void 0;
4
+ const lexicons_1 = require("../../../../lexicons");
5
+ const util_1 = require("../../../../util");
6
+ function isRelatedAccount(v) {
7
+ return ((0, util_1.isObj)(v) &&
8
+ (0, util_1.hasProp)(v, '$type') &&
9
+ v.$type === 'tools.ozone.signature.findRelatedAccounts#relatedAccount');
10
+ }
11
+ exports.isRelatedAccount = isRelatedAccount;
12
+ function validateRelatedAccount(v) {
13
+ return lexicons_1.lexicons.validate('tools.ozone.signature.findRelatedAccounts#relatedAccount', v);
14
+ }
15
+ exports.validateRelatedAccount = validateRelatedAccount;
16
+ //# sourceMappingURL=findRelatedAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findRelatedAccounts.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/findRelatedAccounts.ts"],"names":[],"mappings":";;;AAKA,mDAA+C;AAC/C,2CAAiD;AAmDjD,SAAgB,gBAAgB,CAAC,CAAU;IACzC,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC;QACR,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,0DAA0D,CACvE,CAAA;AACH,CAAC;AAND,4CAMC;AAED,SAAgB,sBAAsB,CAAC,CAAU;IAC/C,OAAO,mBAAQ,CAAC,QAAQ,CACtB,0DAA0D,EAC1D,CAAC,CACF,CAAA;AACH,CAAC;AALD,wDAKC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import express from 'express';
5
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
6
+ import * as ComAtprotoAdminDefs from '../../../com/atproto/admin/defs';
7
+ export interface QueryParams {
8
+ values: string[];
9
+ cursor?: string;
10
+ limit: number;
11
+ }
12
+ export type InputSchema = undefined;
13
+ export interface OutputSchema {
14
+ cursor?: string;
15
+ accounts: ComAtprotoAdminDefs.AccountView[];
16
+ [k: string]: unknown;
17
+ }
18
+ export type HandlerInput = undefined;
19
+ export interface HandlerSuccess {
20
+ encoding: 'application/json';
21
+ body: OutputSchema;
22
+ headers?: {
23
+ [key: string]: string;
24
+ };
25
+ }
26
+ export interface HandlerError {
27
+ status: number;
28
+ message?: string;
29
+ }
30
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
31
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
32
+ auth: HA;
33
+ params: QueryParams;
34
+ input: HandlerInput;
35
+ req: express.Request;
36
+ res: express.Response;
37
+ };
38
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
39
+ //# sourceMappingURL=searchAccounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchAccounts.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/searchAccounts.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAK7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,mBAAmB,MAAM,iCAAiC,CAAA;AAEtE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,mBAAmB,CAAC,WAAW,EAAE,CAAA;IAC3C,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAA;AAEpC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=searchAccounts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchAccounts.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/signature/searchAccounts.ts"],"names":[],"mappings":""}
@@ -2,7 +2,7 @@ import { AtpAgent, AppBskyFeedDefs } from '@atproto/api';
2
2
  import { BlobRef } from '@atproto/lexicon';
3
3
  import { Keypair } from '@atproto/crypto';
4
4
  import { Database } from '../db';
5
- import { ModEventView, RepoView, RepoViewDetail, RecordView, RecordViewDetail, BlobView, SubjectStatusView, ModEventViewDetail } from '../lexicon/types/tools/ozone/moderation/defs';
5
+ import { ModEventView, RepoView, RecordView, RecordViewDetail, BlobView, SubjectStatusView, ModEventViewDetail } from '../lexicon/types/tools/ozone/moderation/defs';
6
6
  import { AccountView } from '../lexicon/types/com/atproto/admin/defs';
7
7
  import { OutputSchema as ReportOutput } from '../lexicon/types/com/atproto/moderation/createReport';
8
8
  import { Label } from '../lexicon/types/com/atproto/label/defs';
@@ -26,15 +26,15 @@ export declare class ModerationViews {
26
26
  repos(dids: string[]): Promise<Map<string, RepoView>>;
27
27
  formatEvent(event: ModerationEventRowWithHandle): ModEventView;
28
28
  eventDetail(result: ModerationEventRowWithHandle): Promise<ModEventViewDetail>;
29
- repoDetail(did: string, labelers?: ParsedLabelers): Promise<RepoViewDetail | undefined>;
29
+ repoDetails(dids: string[], labelers?: ParsedLabelers): Promise<Map<string, RepoView>>;
30
30
  fetchRecords(subjects: RecordSubject[]): Promise<Map<string, RecordInfo>>;
31
31
  records(subjects: RecordSubject[]): Promise<Map<string, RecordView>>;
32
- recordDetail(subject: RecordSubject, labelers?: ParsedLabelers): Promise<RecordViewDetail | undefined>;
33
- getExternalLabels(subjects: string[], labelers?: ParsedLabelers): Promise<Label[]>;
32
+ recordDetails(subjects: RecordSubject[], labelers?: ParsedLabelers): Promise<Map<string, RecordViewDetail>>;
33
+ getExternalLabels(subjects: string[], labelers?: ParsedLabelers): Promise<Map<string, Label[]>>;
34
34
  formatReport(report: ModerationEventRowWithHandle): ReportOutput;
35
35
  subject(subject: string): Promise<SubjectView>;
36
36
  blob(blobs: BlobRef[]): Promise<BlobView[]>;
37
- labels(subject: string, includeNeg?: boolean): Promise<Label[]>;
37
+ labels(subjects: string[], includeNeg?: boolean): Promise<Map<string, Label[]>>;
38
38
  formatLabelAndEnsureSig(row: LabelRow): Promise<Label>;
39
39
  getSubjectStatus(subjects: string[]): Promise<Map<string, ModerationSubjectStatusRowWithHandle>>;
40
40
  formatSubjectStatus(status: ModerationSubjectStatusRowWithHandle): SubjectStatusView;
@@ -1 +1 @@
1
- {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/mod-service/views.ts"],"names":[],"mappings":"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"}
@@ -190,22 +190,28 @@ class ModerationViews {
190
190
  subjectBlobs,
191
191
  };
192
192
  }
193
- async repoDetail(did, labelers) {
193
+ async repoDetails(dids, labelers) {
194
+ const results = new Map();
194
195
  const [repos, localLabels, externalLabels] = await Promise.all([
195
- this.repos([did]),
196
- this.labels(did),
197
- this.getExternalLabels([did], labelers),
196
+ this.repos(dids),
197
+ this.labels(dids),
198
+ this.getExternalLabels(dids, labelers),
198
199
  ]);
199
- const repo = repos.get(did);
200
- if (!repo)
201
- return;
202
- return {
203
- ...repo,
204
- moderation: {
205
- ...repo.moderation,
206
- },
207
- labels: [...localLabels, ...externalLabels],
208
- };
200
+ repos.forEach((repo, did) => {
201
+ const labels = [
202
+ ...(localLabels.get(did) || []),
203
+ ...(externalLabels.get(did) || []),
204
+ ];
205
+ const repoView = {
206
+ ...repo,
207
+ labels,
208
+ moderation: {
209
+ ...repo.moderation,
210
+ },
211
+ };
212
+ results.set(did, repoView);
213
+ });
214
+ return results;
209
215
  }
210
216
  async fetchRecords(subjects) {
211
217
  const auth = await this.appviewAuth(lexicons_1.ids.ComAtprotoRepoGetRecord);
@@ -265,49 +271,62 @@ class ModerationViews {
265
271
  });
266
272
  }, new Map());
267
273
  }
268
- async recordDetail(subject, labelers) {
269
- const [records, subjectStatusesResult] = await Promise.all([
270
- this.records([subject]),
271
- this.getSubjectStatus([subject.uri]),
272
- ]);
273
- const record = records.get(subject.uri);
274
- if (!record)
275
- return undefined;
276
- const status = subjectStatusesResult.get(subject.uri);
277
- const [blobs, labels, externalLabels, subjectStatus] = await Promise.all([
278
- this.blob(findBlobRefs(record.value)),
279
- this.labels(record.uri),
280
- this.getExternalLabels([record.uri], labelers),
281
- status ? this.formatSubjectStatus(status) : Promise.resolve(undefined),
274
+ async recordDetails(subjects, labelers) {
275
+ const subjectUris = subjects.map((s) => s.uri);
276
+ const [records, subjectStatusesResult, localLabels, externalLabels] = await Promise.all([
277
+ this.records(subjects),
278
+ this.getSubjectStatus(subjectUris),
279
+ this.labels(subjectUris),
280
+ this.getExternalLabels(subjectUris, labelers),
282
281
  ]);
283
- const selfLabels = getSelfLabels({
284
- uri: record.uri,
285
- cid: record.cid,
286
- record: record.value,
287
- });
288
- return {
289
- ...record,
290
- blobs,
291
- moderation: {
292
- ...record.moderation,
293
- subjectStatus,
294
- },
295
- labels: [...labels, ...selfLabels, ...externalLabels],
296
- };
282
+ const results = new Map();
283
+ await Promise.all(Array.from(records.entries()).map(async ([uri, record]) => {
284
+ const selfLabels = getSelfLabels({
285
+ uri: record.uri,
286
+ cid: record.cid,
287
+ record: record.value,
288
+ });
289
+ const status = subjectStatusesResult.get(uri);
290
+ const blobs = await this.blob(findBlobRefs(record.value));
291
+ results.set(uri, {
292
+ ...record,
293
+ blobs,
294
+ moderation: {
295
+ ...record.moderation,
296
+ subjectStatus: status
297
+ ? this.formatSubjectStatus(status)
298
+ : undefined,
299
+ },
300
+ labels: [
301
+ ...(localLabels.get(uri) || []),
302
+ ...selfLabels,
303
+ ...(externalLabels.get(uri) || []),
304
+ ],
305
+ });
306
+ }));
307
+ return results;
297
308
  }
298
309
  async getExternalLabels(subjects, labelers) {
310
+ const results = new Map();
299
311
  if (!labelers?.dids.length && !labelers?.redact.size)
300
- return [];
312
+ return results;
301
313
  try {
302
314
  const { data: { labels }, } = await this.appviewAgent.api.com.atproto.label.queryLabels({
303
315
  uriPatterns: subjects,
304
316
  sources: labelers.dids,
305
317
  });
306
- return labels;
318
+ labels.forEach((label) => {
319
+ if (!results.has(label.uri)) {
320
+ results.set(label.uri, [label]);
321
+ return;
322
+ }
323
+ results.get(label.uri)?.push(label);
324
+ });
325
+ return results;
307
326
  }
308
327
  catch (err) {
309
328
  logger_2.httpLogger.error({ err, subjects, labelers }, 'failed to resolve labels from appview');
310
- return [];
329
+ return results;
311
330
  }
312
331
  }
313
332
  formatReport(report) {
@@ -389,14 +408,22 @@ class ModerationViews {
389
408
  };
390
409
  });
391
410
  }
392
- async labels(subject, includeNeg) {
411
+ async labels(subjects, includeNeg) {
412
+ const labels = new Map();
393
413
  const res = await this.db.db
394
414
  .selectFrom('label')
395
- .where('label.uri', '=', subject)
415
+ .where('label.uri', 'in', subjects)
396
416
  .if(!includeNeg, (qb) => qb.where('neg', '=', false))
397
417
  .selectAll()
398
418
  .execute();
399
- return Promise.all(res.map((l) => this.formatLabelAndEnsureSig(l)));
419
+ await Promise.all(res.map(async (labelRow) => {
420
+ const signedLabel = await this.formatLabelAndEnsureSig(labelRow);
421
+ if (!labels.has(labelRow.uri)) {
422
+ labels.set(labelRow.uri, []);
423
+ }
424
+ labels.get(labelRow.uri)?.push(signedLabel);
425
+ }));
426
+ return labels;
400
427
  }
401
428
  async formatLabelAndEnsureSig(row) {
402
429
  const formatted = (0, util_1.formatLabel)(row);