@atproto/ozone 0.1.91 → 0.1.93

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 (47) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/index.d.ts.map +1 -1
  3. package/dist/api/index.js +2 -0
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/moderation/getSubjects.d.ts +4 -0
  6. package/dist/api/moderation/getSubjects.d.ts.map +1 -0
  7. package/dist/api/moderation/getSubjects.js +81 -0
  8. package/dist/api/moderation/getSubjects.js.map +1 -0
  9. package/dist/api/util.js +1 -1
  10. package/dist/api/util.js.map +1 -1
  11. package/dist/lexicon/index.d.ts +2 -0
  12. package/dist/lexicon/index.d.ts.map +1 -1
  13. package/dist/lexicon/index.js +4 -0
  14. package/dist/lexicon/index.js.map +1 -1
  15. package/dist/lexicon/lexicons.d.ts +144 -10
  16. package/dist/lexicon/lexicons.d.ts.map +1 -1
  17. package/dist/lexicon/lexicons.js +73 -5
  18. package/dist/lexicon/lexicons.js.map +1 -1
  19. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +1 -1
  20. package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -1
  21. package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
  22. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +14 -0
  23. package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  24. package/dist/lexicon/types/tools/ozone/moderation/defs.js +9 -0
  25. package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
  26. package/dist/lexicon/types/tools/ozone/moderation/getSubjects.d.ts +36 -0
  27. package/dist/lexicon/types/tools/ozone/moderation/getSubjects.d.ts.map +1 -0
  28. package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js +7 -0
  29. package/dist/lexicon/types/tools/ozone/moderation/getSubjects.js.map +1 -0
  30. package/dist/mod-service/views.d.ts +2 -1
  31. package/dist/mod-service/views.d.ts.map +1 -1
  32. package/dist/mod-service/views.js +23 -4
  33. package/dist/mod-service/views.js.map +1 -1
  34. package/package.json +3 -3
  35. package/src/api/index.ts +2 -0
  36. package/src/api/moderation/getSubjects.ts +101 -0
  37. package/src/api/util.ts +1 -1
  38. package/src/lexicon/index.ts +12 -0
  39. package/src/lexicon/lexicons.ts +75 -5
  40. package/src/lexicon/types/chat/bsky/convo/defs.ts +1 -1
  41. package/src/lexicon/types/tools/ozone/moderation/defs.ts +21 -0
  42. package/src/lexicon/types/tools/ozone/moderation/getSubjects.ts +54 -0
  43. package/src/mod-service/views.ts +31 -7
  44. package/tests/__snapshots__/get-subjects.test.ts.snap +517 -0
  45. package/tests/get-subjects.test.ts +81 -0
  46. package/tsconfig.build.tsbuildinfo +1 -1
  47. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -0,0 +1,517 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`admin get multiple subjects with all relevant details gets multiple subjects with records 1`] = `
4
+ Array [
5
+ Object {
6
+ "profile": Object {
7
+ "$type": "app.bsky.actor.defs#profileViewDetailed",
8
+ "associated": Object {
9
+ "feedgens": 0,
10
+ "labeler": false,
11
+ "lists": 0,
12
+ "starterPacks": 0,
13
+ },
14
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(3)/cids(0)@jpeg",
15
+ "createdAt": "1970-01-01T00:00:00.000Z",
16
+ "description": "its me!",
17
+ "did": "user(0)",
18
+ "displayName": "ali",
19
+ "followersCount": 2,
20
+ "followsCount": 3,
21
+ "handle": "alice.test",
22
+ "indexedAt": "1970-01-01T00:00:00.000Z",
23
+ "labels": Array [
24
+ Object {
25
+ "cid": "cids(1)",
26
+ "cts": "1970-01-01T00:00:00.000Z",
27
+ "src": "user(0)",
28
+ "uri": "record(0)",
29
+ "val": "self-label-a",
30
+ },
31
+ Object {
32
+ "cid": "cids(1)",
33
+ "cts": "1970-01-01T00:00:00.000Z",
34
+ "src": "user(0)",
35
+ "uri": "record(0)",
36
+ "val": "self-label-b",
37
+ },
38
+ ],
39
+ "postsCount": 4,
40
+ "viewer": Object {
41
+ "blockedBy": false,
42
+ "muted": false,
43
+ },
44
+ },
45
+ "repo": Object {
46
+ "did": "user(0)",
47
+ "email": "alice@test.com",
48
+ "handle": "alice.test",
49
+ "indexedAt": "1970-01-01T00:00:00.000Z",
50
+ "invites": Array [],
51
+ "invitesDisabled": false,
52
+ "labels": Array [
53
+ Object {
54
+ "cts": "1970-01-01T00:00:00.000Z",
55
+ "sig": Object {
56
+ "$bytes": "sig(0)",
57
+ },
58
+ "src": "user(2)",
59
+ "uri": "user(0)",
60
+ "val": "!takedown",
61
+ "ver": 1,
62
+ },
63
+ ],
64
+ "moderation": Object {
65
+ "subjectStatus": Object {
66
+ "accountStats": Object {
67
+ "$type": "tools.ozone.moderation.defs#accountStats",
68
+ "appealCount": 0,
69
+ "escalateCount": 0,
70
+ "reportCount": 1,
71
+ "suspendCount": 0,
72
+ "takedownCount": 1,
73
+ },
74
+ "createdAt": "1970-01-01T00:00:00.000Z",
75
+ "hosting": Object {
76
+ "$type": "tools.ozone.moderation.defs#accountHosting",
77
+ "status": "unknown",
78
+ },
79
+ "id": 3,
80
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
81
+ "lastReviewedAt": "1970-01-01T00:00:00.000Z",
82
+ "lastReviewedBy": "user(1)",
83
+ "priorityScore": 0,
84
+ "recordsStats": Object {
85
+ "$type": "tools.ozone.moderation.defs#recordsStats",
86
+ "appealedCount": 0,
87
+ "escalatedCount": 0,
88
+ "pendingCount": 1,
89
+ "processedCount": 0,
90
+ "reportedCount": 1,
91
+ "subjectCount": 1,
92
+ "takendownCount": 0,
93
+ "totalReports": 1,
94
+ },
95
+ "reviewState": "tools.ozone.moderation.defs#reviewClosed",
96
+ "subject": Object {
97
+ "$type": "com.atproto.admin.defs#repoRef",
98
+ "did": "user(0)",
99
+ },
100
+ "subjectBlobCids": Array [],
101
+ "subjectRepoHandle": "alice.test",
102
+ "tags": Array [
103
+ "report:other",
104
+ "lang:und",
105
+ ],
106
+ "takendown": true,
107
+ "updatedAt": "1970-01-01T00:00:00.000Z",
108
+ },
109
+ },
110
+ "relatedRecords": Array [
111
+ Object {
112
+ "$type": "app.bsky.actor.profile",
113
+ "avatar": Object {
114
+ "$type": "blob",
115
+ "mimeType": "image/jpeg",
116
+ "ref": Object {
117
+ "$link": "cids(0)",
118
+ },
119
+ "size": 3976,
120
+ },
121
+ "createdAt": "1970-01-01T00:00:00.000Z",
122
+ "description": "its me!",
123
+ "displayName": "ali",
124
+ "labels": Object {
125
+ "$type": "com.atproto.label.defs#selfLabels",
126
+ "values": Array [
127
+ Object {
128
+ "val": "self-label-a",
129
+ },
130
+ Object {
131
+ "val": "self-label-b",
132
+ },
133
+ ],
134
+ },
135
+ },
136
+ ],
137
+ },
138
+ "status": Object {
139
+ "accountStats": Object {
140
+ "$type": "tools.ozone.moderation.defs#accountStats",
141
+ "appealCount": 0,
142
+ "escalateCount": 0,
143
+ "reportCount": 1,
144
+ "suspendCount": 0,
145
+ "takedownCount": 1,
146
+ },
147
+ "createdAt": "1970-01-01T00:00:00.000Z",
148
+ "hosting": Object {
149
+ "$type": "tools.ozone.moderation.defs#accountHosting",
150
+ "status": "unknown",
151
+ },
152
+ "id": 3,
153
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
154
+ "lastReviewedAt": "1970-01-01T00:00:00.000Z",
155
+ "lastReviewedBy": "user(1)",
156
+ "priorityScore": 0,
157
+ "recordsStats": Object {
158
+ "$type": "tools.ozone.moderation.defs#recordsStats",
159
+ "appealedCount": 0,
160
+ "escalatedCount": 0,
161
+ "pendingCount": 1,
162
+ "processedCount": 0,
163
+ "reportedCount": 1,
164
+ "subjectCount": 1,
165
+ "takendownCount": 0,
166
+ "totalReports": 1,
167
+ },
168
+ "reviewState": "tools.ozone.moderation.defs#reviewClosed",
169
+ "subject": Object {
170
+ "$type": "com.atproto.admin.defs#repoRef",
171
+ "did": "user(0)",
172
+ },
173
+ "subjectBlobCids": Array [],
174
+ "subjectRepoHandle": "alice.test",
175
+ "tags": Array [
176
+ "report:other",
177
+ "lang:und",
178
+ ],
179
+ "takendown": true,
180
+ "updatedAt": "1970-01-01T00:00:00.000Z",
181
+ },
182
+ "subject": "user(0)",
183
+ "type": "account",
184
+ },
185
+ Object {
186
+ "profile": Object {
187
+ "$type": "app.bsky.actor.defs#profileViewDetailed",
188
+ "associated": Object {
189
+ "feedgens": 0,
190
+ "labeler": false,
191
+ "lists": 0,
192
+ "starterPacks": 0,
193
+ },
194
+ "avatar": "https://bsky.public.url/img/avatar/plain/user(3)/cids(0)@jpeg",
195
+ "createdAt": "1970-01-01T00:00:00.000Z",
196
+ "description": "its me!",
197
+ "did": "user(0)",
198
+ "displayName": "ali",
199
+ "followersCount": 2,
200
+ "followsCount": 3,
201
+ "handle": "alice.test",
202
+ "indexedAt": "1970-01-01T00:00:00.000Z",
203
+ "labels": Array [
204
+ Object {
205
+ "cid": "cids(1)",
206
+ "cts": "1970-01-01T00:00:00.000Z",
207
+ "src": "user(0)",
208
+ "uri": "record(0)",
209
+ "val": "self-label-a",
210
+ },
211
+ Object {
212
+ "cid": "cids(1)",
213
+ "cts": "1970-01-01T00:00:00.000Z",
214
+ "src": "user(0)",
215
+ "uri": "record(0)",
216
+ "val": "self-label-b",
217
+ },
218
+ ],
219
+ "postsCount": 4,
220
+ "viewer": Object {
221
+ "blockedBy": false,
222
+ "muted": false,
223
+ },
224
+ },
225
+ "record": Object {
226
+ "blobCids": Array [],
227
+ "blobs": Array [],
228
+ "cid": "cids(2)",
229
+ "indexedAt": "1970-01-01T00:00:00.000Z",
230
+ "labels": Array [
231
+ Object {
232
+ "cid": "cids(2)",
233
+ "cts": "1970-01-01T00:00:00.000Z",
234
+ "src": "user(0)",
235
+ "uri": "record(1)",
236
+ "val": "self-label",
237
+ },
238
+ ],
239
+ "moderation": Object {
240
+ "subjectStatus": Object {
241
+ "accountStats": Object {
242
+ "$type": "tools.ozone.moderation.defs#accountStats",
243
+ "appealCount": 0,
244
+ "escalateCount": 0,
245
+ "reportCount": 1,
246
+ "suspendCount": 0,
247
+ "takedownCount": 1,
248
+ },
249
+ "createdAt": "1970-01-01T00:00:00.000Z",
250
+ "hosting": Object {
251
+ "$type": "tools.ozone.moderation.defs#recordHosting",
252
+ "status": "unknown",
253
+ },
254
+ "id": 1,
255
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
256
+ "priorityScore": 0,
257
+ "recordsStats": Object {
258
+ "$type": "tools.ozone.moderation.defs#recordsStats",
259
+ "appealedCount": 0,
260
+ "escalatedCount": 0,
261
+ "pendingCount": 1,
262
+ "processedCount": 0,
263
+ "reportedCount": 1,
264
+ "subjectCount": 1,
265
+ "takendownCount": 0,
266
+ "totalReports": 1,
267
+ },
268
+ "reviewState": "tools.ozone.moderation.defs#reviewOpen",
269
+ "subject": Object {
270
+ "$type": "com.atproto.repo.strongRef",
271
+ "cid": "cids(2)",
272
+ "uri": "record(1)",
273
+ },
274
+ "subjectBlobCids": Array [],
275
+ "subjectRepoHandle": "alice.test",
276
+ "tags": Array [
277
+ "report:spam",
278
+ "lang:en",
279
+ ],
280
+ "takendown": false,
281
+ "updatedAt": "1970-01-01T00:00:00.000Z",
282
+ },
283
+ },
284
+ "repo": Object {
285
+ "did": "user(0)",
286
+ "handle": "alice.test",
287
+ "indexedAt": "1970-01-01T00:00:00.000Z",
288
+ "moderation": Object {
289
+ "subjectStatus": Object {
290
+ "accountStats": Object {
291
+ "$type": "tools.ozone.moderation.defs#accountStats",
292
+ "appealCount": 0,
293
+ "escalateCount": 0,
294
+ "reportCount": 1,
295
+ "suspendCount": 0,
296
+ "takedownCount": 1,
297
+ },
298
+ "createdAt": "1970-01-01T00:00:00.000Z",
299
+ "hosting": Object {
300
+ "$type": "tools.ozone.moderation.defs#accountHosting",
301
+ "status": "unknown",
302
+ },
303
+ "id": 3,
304
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
305
+ "lastReviewedAt": "1970-01-01T00:00:00.000Z",
306
+ "lastReviewedBy": "user(1)",
307
+ "priorityScore": 0,
308
+ "recordsStats": Object {
309
+ "$type": "tools.ozone.moderation.defs#recordsStats",
310
+ "appealedCount": 0,
311
+ "escalatedCount": 0,
312
+ "pendingCount": 1,
313
+ "processedCount": 0,
314
+ "reportedCount": 1,
315
+ "subjectCount": 1,
316
+ "takendownCount": 0,
317
+ "totalReports": 1,
318
+ },
319
+ "reviewState": "tools.ozone.moderation.defs#reviewClosed",
320
+ "subject": Object {
321
+ "$type": "com.atproto.admin.defs#repoRef",
322
+ "did": "user(0)",
323
+ },
324
+ "subjectBlobCids": Array [],
325
+ "subjectRepoHandle": "alice.test",
326
+ "tags": Array [
327
+ "report:other",
328
+ "lang:und",
329
+ ],
330
+ "takendown": true,
331
+ "updatedAt": "1970-01-01T00:00:00.000Z",
332
+ },
333
+ },
334
+ "relatedRecords": Array [
335
+ Object {
336
+ "$type": "app.bsky.actor.profile",
337
+ "avatar": Object {
338
+ "$type": "blob",
339
+ "mimeType": "image/jpeg",
340
+ "ref": Object {
341
+ "$link": "cids(0)",
342
+ },
343
+ "size": 3976,
344
+ },
345
+ "createdAt": "1970-01-01T00:00:00.000Z",
346
+ "description": "its me!",
347
+ "displayName": "ali",
348
+ "labels": Object {
349
+ "$type": "com.atproto.label.defs#selfLabels",
350
+ "values": Array [
351
+ Object {
352
+ "val": "self-label-a",
353
+ },
354
+ Object {
355
+ "val": "self-label-b",
356
+ },
357
+ ],
358
+ },
359
+ },
360
+ ],
361
+ },
362
+ "uri": "record(1)",
363
+ "value": Object {
364
+ "$type": "app.bsky.feed.post",
365
+ "createdAt": "1970-01-01T00:00:00.000Z",
366
+ "labels": Object {
367
+ "$type": "com.atproto.label.defs#selfLabels",
368
+ "values": Array [
369
+ Object {
370
+ "val": "self-label",
371
+ },
372
+ ],
373
+ },
374
+ "text": "hey there",
375
+ },
376
+ },
377
+ "repo": Object {
378
+ "did": "user(0)",
379
+ "email": "alice@test.com",
380
+ "handle": "alice.test",
381
+ "indexedAt": "1970-01-01T00:00:00.000Z",
382
+ "invites": Array [],
383
+ "invitesDisabled": false,
384
+ "labels": Array [
385
+ Object {
386
+ "cts": "1970-01-01T00:00:00.000Z",
387
+ "sig": Object {
388
+ "$bytes": "sig(0)",
389
+ },
390
+ "src": "user(2)",
391
+ "uri": "user(0)",
392
+ "val": "!takedown",
393
+ "ver": 1,
394
+ },
395
+ ],
396
+ "moderation": Object {
397
+ "subjectStatus": Object {
398
+ "accountStats": Object {
399
+ "$type": "tools.ozone.moderation.defs#accountStats",
400
+ "appealCount": 0,
401
+ "escalateCount": 0,
402
+ "reportCount": 1,
403
+ "suspendCount": 0,
404
+ "takedownCount": 1,
405
+ },
406
+ "createdAt": "1970-01-01T00:00:00.000Z",
407
+ "hosting": Object {
408
+ "$type": "tools.ozone.moderation.defs#accountHosting",
409
+ "status": "unknown",
410
+ },
411
+ "id": 3,
412
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
413
+ "lastReviewedAt": "1970-01-01T00:00:00.000Z",
414
+ "lastReviewedBy": "user(1)",
415
+ "priorityScore": 0,
416
+ "recordsStats": Object {
417
+ "$type": "tools.ozone.moderation.defs#recordsStats",
418
+ "appealedCount": 0,
419
+ "escalatedCount": 0,
420
+ "pendingCount": 1,
421
+ "processedCount": 0,
422
+ "reportedCount": 1,
423
+ "subjectCount": 1,
424
+ "takendownCount": 0,
425
+ "totalReports": 1,
426
+ },
427
+ "reviewState": "tools.ozone.moderation.defs#reviewClosed",
428
+ "subject": Object {
429
+ "$type": "com.atproto.admin.defs#repoRef",
430
+ "did": "user(0)",
431
+ },
432
+ "subjectBlobCids": Array [],
433
+ "subjectRepoHandle": "alice.test",
434
+ "tags": Array [
435
+ "report:other",
436
+ "lang:und",
437
+ ],
438
+ "takendown": true,
439
+ "updatedAt": "1970-01-01T00:00:00.000Z",
440
+ },
441
+ },
442
+ "relatedRecords": Array [
443
+ Object {
444
+ "$type": "app.bsky.actor.profile",
445
+ "avatar": Object {
446
+ "$type": "blob",
447
+ "mimeType": "image/jpeg",
448
+ "ref": Object {
449
+ "$link": "cids(0)",
450
+ },
451
+ "size": 3976,
452
+ },
453
+ "createdAt": "1970-01-01T00:00:00.000Z",
454
+ "description": "its me!",
455
+ "displayName": "ali",
456
+ "labels": Object {
457
+ "$type": "com.atproto.label.defs#selfLabels",
458
+ "values": Array [
459
+ Object {
460
+ "val": "self-label-a",
461
+ },
462
+ Object {
463
+ "val": "self-label-b",
464
+ },
465
+ ],
466
+ },
467
+ },
468
+ ],
469
+ },
470
+ "status": Object {
471
+ "accountStats": Object {
472
+ "$type": "tools.ozone.moderation.defs#accountStats",
473
+ "appealCount": 0,
474
+ "escalateCount": 0,
475
+ "reportCount": 1,
476
+ "suspendCount": 0,
477
+ "takedownCount": 1,
478
+ },
479
+ "createdAt": "1970-01-01T00:00:00.000Z",
480
+ "hosting": Object {
481
+ "$type": "tools.ozone.moderation.defs#recordHosting",
482
+ "status": "unknown",
483
+ },
484
+ "id": 1,
485
+ "lastReportedAt": "1970-01-01T00:00:00.000Z",
486
+ "priorityScore": 0,
487
+ "recordsStats": Object {
488
+ "$type": "tools.ozone.moderation.defs#recordsStats",
489
+ "appealedCount": 0,
490
+ "escalatedCount": 0,
491
+ "pendingCount": 1,
492
+ "processedCount": 0,
493
+ "reportedCount": 1,
494
+ "subjectCount": 1,
495
+ "takendownCount": 0,
496
+ "totalReports": 1,
497
+ },
498
+ "reviewState": "tools.ozone.moderation.defs#reviewOpen",
499
+ "subject": Object {
500
+ "$type": "com.atproto.repo.strongRef",
501
+ "cid": "cids(2)",
502
+ "uri": "record(1)",
503
+ },
504
+ "subjectBlobCids": Array [],
505
+ "subjectRepoHandle": "alice.test",
506
+ "tags": Array [
507
+ "report:spam",
508
+ "lang:en",
509
+ ],
510
+ "takendown": false,
511
+ "updatedAt": "1970-01-01T00:00:00.000Z",
512
+ },
513
+ "subject": "record(1)",
514
+ "type": "record",
515
+ },
516
+ ]
517
+ `;
@@ -0,0 +1,81 @@
1
+ import { AtpAgent } from '@atproto/api'
2
+ import {
3
+ ModeratorClient,
4
+ SeedClient,
5
+ TestNetwork,
6
+ TestOzone,
7
+ basicSeed,
8
+ } from '@atproto/dev-env'
9
+ import { ids } from '../src/lexicon/lexicons'
10
+ import {
11
+ REASONOTHER,
12
+ REASONSPAM,
13
+ } from '../src/lexicon/types/com/atproto/moderation/defs'
14
+ import { forSnapshot } from './_util'
15
+
16
+ describe('admin get multiple subjects with all relevant details', () => {
17
+ let network: TestNetwork
18
+ let ozone: TestOzone
19
+ let agent: AtpAgent
20
+ let sc: SeedClient
21
+ let modClient: ModeratorClient
22
+
23
+ beforeAll(async () => {
24
+ network = await TestNetwork.create({
25
+ dbPostgresSchema: 'ozone_admin_get_subjects',
26
+ })
27
+ ozone = network.ozone
28
+ agent = ozone.getClient()
29
+ sc = network.getSeedClient()
30
+ modClient = ozone.getModClient()
31
+ await basicSeed(sc)
32
+ await network.processAll()
33
+ })
34
+
35
+ beforeEach(async () => {
36
+ await network.processAll()
37
+ })
38
+
39
+ afterAll(async () => {
40
+ await network.close()
41
+ })
42
+
43
+ beforeAll(async () => {
44
+ await sc.createReport({
45
+ reportedBy: sc.dids.bob,
46
+ reasonType: REASONSPAM,
47
+ subject: {
48
+ $type: 'com.atproto.repo.strongRef',
49
+ uri: sc.posts[sc.dids.alice][0].ref.uriStr,
50
+ cid: sc.posts[sc.dids.alice][0].ref.cidStr,
51
+ },
52
+ })
53
+ await sc.createReport({
54
+ reportedBy: sc.dids.carol,
55
+ reasonType: REASONOTHER,
56
+ reason: 'defamation',
57
+ subject: {
58
+ $type: 'com.atproto.admin.defs#repoRef',
59
+ did: sc.dids.alice,
60
+ },
61
+ })
62
+ await modClient.emitEvent({
63
+ event: { $type: 'tools.ozone.moderation.defs#modEventTakedown' },
64
+ subject: {
65
+ $type: 'com.atproto.admin.defs#repoRef',
66
+ did: sc.dids.alice,
67
+ },
68
+ })
69
+ })
70
+
71
+ it('gets multiple subjects with records', async () => {
72
+ const {
73
+ data: { subjects },
74
+ } = await agent.tools.ozone.moderation.getSubjects(
75
+ { subjects: [sc.dids.alice, sc.posts[sc.dids.alice][0].ref.uriStr] },
76
+ { headers: await ozone.modHeaders(ids.ToolsOzoneModerationGetSubjects) },
77
+ )
78
+
79
+ expect(forSnapshot(subjects)).toMatchSnapshot()
80
+ })
81
+ })