@atproto/bsky 0.0.37 → 0.0.38
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.
- package/CHANGELOG.md +14 -0
- package/dist/api/app/bsky/feed/getAuthorFeed.d.ts +2 -3
- package/dist/api/app/bsky/feed/getListFeed.d.ts +2 -2
- package/dist/api/app/bsky/feed/getTimeline.d.ts +4 -2
- package/dist/api/app/bsky/labeler/getServices.d.ts +3 -0
- package/dist/api/util.d.ts +9 -2
- package/dist/auth-verifier.d.ts +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/data-plane/server/db/database-schema.d.ts +2 -2
- package/dist/data-plane/server/db/migrations/20240226T225725627Z-labelers.d.ts +3 -0
- package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
- package/dist/data-plane/server/db/tables/labeler.d.ts +13 -0
- package/dist/data-plane/server/indexing/index.d.ts +2 -0
- package/dist/data-plane/server/indexing/plugins/labeler.d.ts +10 -0
- package/dist/data-plane/server/util.d.ts +6 -6
- package/dist/hydration/actor.d.ts +3 -0
- package/dist/hydration/hydrator.d.ts +27 -22
- package/dist/hydration/label.d.ts +23 -9
- package/dist/index.js +4068 -4641
- package/dist/index.js.map +3 -3
- package/dist/lexicon/index.d.ts +7 -27
- package/dist/lexicon/lexicons.d.ts +507 -1467
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +23 -1
- package/dist/lexicon/types/app/bsky/embed/record.d.ts +2 -1
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/defs.d.ts +3 -0
- package/dist/lexicon/types/app/bsky/labeler/defs.d.ts +41 -0
- package/dist/lexicon/types/{com/atproto/admin/searchRepos.d.ts → app/bsky/labeler/getServices.d.ts} +7 -7
- package/dist/lexicon/types/app/bsky/labeler/service.d.ts +14 -0
- package/dist/lexicon/types/com/atproto/admin/defs.d.ts +0 -304
- package/dist/lexicon/types/com/atproto/label/defs.d.ts +23 -0
- package/dist/proto/bsky_connect.d.ts +7 -1
- package/dist/proto/bsky_pb.d.ts +25 -0
- package/dist/util.d.ts +7 -0
- package/dist/views/index.d.ts +3 -0
- package/dist/views/types.d.ts +2 -1
- package/package.json +14 -13
- package/proto/bsky.proto +12 -0
- package/src/api/app/bsky/actor/getProfile.ts +21 -17
- package/src/api/app/bsky/actor/getProfiles.ts +16 -7
- package/src/api/app/bsky/actor/getSuggestions.ts +18 -13
- package/src/api/app/bsky/actor/searchActors.ts +9 -5
- package/src/api/app/bsky/actor/searchActorsTypeahead.ts +12 -5
- package/src/api/app/bsky/feed/getActorFeeds.ts +16 -6
- package/src/api/app/bsky/feed/getActorLikes.ts +18 -8
- package/src/api/app/bsky/feed/getAuthorFeed.ts +18 -19
- package/src/api/app/bsky/feed/getFeed.ts +14 -7
- package/src/api/app/bsky/feed/getFeedGenerator.ts +8 -2
- package/src/api/app/bsky/feed/getFeedGenerators.ts +16 -5
- package/src/api/app/bsky/feed/getLikes.ts +13 -6
- package/src/api/app/bsky/feed/getListFeed.ts +13 -7
- package/src/api/app/bsky/feed/getPostThread.ts +15 -8
- package/src/api/app/bsky/feed/getPosts.ts +14 -5
- package/src/api/app/bsky/feed/getRepostedBy.ts +13 -6
- package/src/api/app/bsky/feed/getSuggestedFeeds.ts +8 -2
- package/src/api/app/bsky/feed/getTimeline.ts +14 -8
- package/src/api/app/bsky/feed/searchPosts.ts +9 -5
- package/src/api/app/bsky/graph/getBlocks.ts +10 -9
- package/src/api/app/bsky/graph/getFollowers.ts +23 -15
- package/src/api/app/bsky/graph/getFollows.ts +23 -15
- package/src/api/app/bsky/graph/getList.ts +14 -8
- package/src/api/app/bsky/graph/getListBlocks.ts +10 -7
- package/src/api/app/bsky/graph/getListMutes.ts +10 -7
- package/src/api/app/bsky/graph/getLists.ts +9 -7
- package/src/api/app/bsky/graph/getMutes.ts +10 -8
- package/src/api/app/bsky/graph/getSuggestedFollowsByActor.ts +10 -7
- package/src/api/app/bsky/graph/muteActor.ts +1 -1
- package/src/api/app/bsky/labeler/getServices.ts +46 -0
- package/src/api/app/bsky/notification/listNotifications.ts +12 -8
- package/src/api/app/bsky/unspecced/getPopularFeedGenerators.ts +6 -3
- package/src/api/com/atproto/admin/getAccountInfos.ts +10 -3
- package/src/api/index.ts +2 -0
- package/src/api/util.ts +19 -4
- package/src/auth-verifier.ts +2 -2
- package/src/context.ts +20 -0
- package/src/data-plane/server/db/database-schema.ts +4 -4
- package/src/data-plane/server/db/migrations/20240226T225725627Z-labelers.ts +27 -0
- package/src/data-plane/server/db/migrations/index.ts +1 -0
- package/src/data-plane/server/db/tables/labeler.ts +16 -0
- package/src/data-plane/server/indexing/index.ts +4 -0
- package/src/data-plane/server/indexing/plugins/labeler.ts +77 -0
- package/src/data-plane/server/routes/interactions.ts +17 -1
- package/src/data-plane/server/routes/profile.ts +15 -1
- package/src/data-plane/server/routes/records.ts +1 -0
- package/src/hydration/actor.ts +6 -0
- package/src/hydration/hydrator.ts +171 -97
- package/src/hydration/label.ts +106 -20
- package/src/index.ts +1 -3
- package/src/lexicon/index.ts +22 -137
- package/src/lexicon/lexicons.ts +502 -1598
- package/src/lexicon/types/app/bsky/actor/defs.ts +57 -1
- package/src/lexicon/types/app/bsky/embed/record.ts +2 -0
- package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/defs.ts +3 -0
- package/src/lexicon/types/app/bsky/labeler/defs.ts +93 -0
- package/src/lexicon/types/{com/atproto/admin/searchRepos.ts → app/bsky/labeler/getServices.ts} +8 -8
- package/src/lexicon/types/app/bsky/labeler/service.ts +31 -0
- package/src/lexicon/types/com/atproto/admin/defs.ts +0 -694
- package/src/lexicon/types/com/atproto/label/defs.ts +78 -0
- package/src/proto/bsky_connect.ts +11 -0
- package/src/proto/bsky_pb.ts +146 -0
- package/src/util.ts +44 -0
- package/src/views/index.ts +76 -7
- package/src/views/types.ts +6 -3
- package/tests/__snapshots__/feed-generation.test.ts.snap +12 -0
- package/tests/_util.ts +21 -0
- package/tests/data-plane/__snapshots__/indexing.test.ts.snap +20 -0
- package/tests/label-hydration.test.ts +162 -0
- package/tests/views/__snapshots__/block-lists.test.ts.snap +7 -0
- package/tests/views/__snapshots__/labeler-service.test.ts.snap +160 -0
- package/tests/views/__snapshots__/mute-lists.test.ts.snap +10 -0
- package/tests/views/__snapshots__/profile.test.ts.snap +40 -0
- package/tests/views/__snapshots__/threadgating.test.ts.snap +2 -0
- package/tests/views/labeler-service.test.ts +156 -0
- package/tests/views/takedown-labels.test.ts +133 -0
- package/tests/views/timeline.test.ts +7 -2
- package/dist/data-plane/server/db/tables/moderation.d.ts +0 -42
- package/dist/lexicon/types/com/atproto/admin/createCommunicationTemplate.d.ts +0 -37
- package/dist/lexicon/types/com/atproto/admin/deleteCommunicationTemplate.d.ts +0 -25
- package/dist/lexicon/types/com/atproto/admin/emitModerationEvent.d.ts +0 -45
- package/dist/lexicon/types/com/atproto/admin/getModerationEvent.d.ts +0 -29
- package/dist/lexicon/types/com/atproto/admin/getRecord.d.ts +0 -31
- package/dist/lexicon/types/com/atproto/admin/getRepo.d.ts +0 -30
- package/dist/lexicon/types/com/atproto/admin/listCommunicationTemplates.d.ts +0 -31
- package/dist/lexicon/types/com/atproto/admin/queryModerationEvents.d.ts +0 -48
- package/dist/lexicon/types/com/atproto/admin/queryModerationStatuses.d.ts +0 -50
- package/dist/lexicon/types/com/atproto/admin/updateCommunicationTemplate.d.ts +0 -39
- package/src/data-plane/server/db/tables/moderation.ts +0 -59
- package/src/lexicon/types/com/atproto/admin/createCommunicationTemplate.ts +0 -54
- package/src/lexicon/types/com/atproto/admin/deleteCommunicationTemplate.ts +0 -38
- package/src/lexicon/types/com/atproto/admin/emitModerationEvent.ts +0 -67
- package/src/lexicon/types/com/atproto/admin/getModerationEvent.ts +0 -41
- package/src/lexicon/types/com/atproto/admin/getRecord.ts +0 -43
- package/src/lexicon/types/com/atproto/admin/getRepo.ts +0 -42
- package/src/lexicon/types/com/atproto/admin/listCommunicationTemplates.ts +0 -44
- package/src/lexicon/types/com/atproto/admin/queryModerationEvents.ts +0 -73
- package/src/lexicon/types/com/atproto/admin/queryModerationStatuses.ts +0 -74
- package/src/lexicon/types/com/atproto/admin/updateCommunicationTemplate.ts +0 -57
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
exports[`indexing indexRepo updates indexes when records change. 1`] = `
|
|
4
4
|
Array [
|
|
5
5
|
Object {
|
|
6
|
+
"associated": Object {
|
|
7
|
+
"feedgens": 0,
|
|
8
|
+
"labeler": false,
|
|
9
|
+
"lists": 0,
|
|
10
|
+
},
|
|
6
11
|
"description": "freshening things up",
|
|
7
12
|
"did": "user(0)",
|
|
8
13
|
"followersCount": 2,
|
|
@@ -620,6 +625,11 @@ Object {
|
|
|
620
625
|
|
|
621
626
|
exports[`indexing indexes profiles. 1`] = `
|
|
622
627
|
Object {
|
|
628
|
+
"associated": Object {
|
|
629
|
+
"feedgens": 0,
|
|
630
|
+
"labeler": false,
|
|
631
|
+
"lists": 0,
|
|
632
|
+
},
|
|
623
633
|
"did": "user(0)",
|
|
624
634
|
"displayName": "dan",
|
|
625
635
|
"followersCount": 0,
|
|
@@ -637,6 +647,11 @@ Object {
|
|
|
637
647
|
|
|
638
648
|
exports[`indexing indexes profiles. 2`] = `
|
|
639
649
|
Object {
|
|
650
|
+
"associated": Object {
|
|
651
|
+
"feedgens": 0,
|
|
652
|
+
"labeler": false,
|
|
653
|
+
"lists": 0,
|
|
654
|
+
},
|
|
640
655
|
"did": "user(0)",
|
|
641
656
|
"displayName": "danny",
|
|
642
657
|
"followersCount": 0,
|
|
@@ -654,6 +669,11 @@ Object {
|
|
|
654
669
|
|
|
655
670
|
exports[`indexing indexes profiles. 3`] = `
|
|
656
671
|
Object {
|
|
672
|
+
"associated": Object {
|
|
673
|
+
"feedgens": 0,
|
|
674
|
+
"labeler": false,
|
|
675
|
+
"lists": 0,
|
|
676
|
+
},
|
|
657
677
|
"did": "user(0)",
|
|
658
678
|
"followersCount": 0,
|
|
659
679
|
"followsCount": 0,
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import { AtpAgent } from '@atproto/api'
|
|
2
|
+
import { TestNetwork, SeedClient, basicSeed } from '@atproto/dev-env'
|
|
3
|
+
import axios from 'axios'
|
|
4
|
+
|
|
5
|
+
describe('label hydration', () => {
|
|
6
|
+
let network: TestNetwork
|
|
7
|
+
let pdsAgent: AtpAgent
|
|
8
|
+
let sc: SeedClient
|
|
9
|
+
|
|
10
|
+
let alice: string
|
|
11
|
+
let bob: string
|
|
12
|
+
let carol: string
|
|
13
|
+
let labelerDid: string
|
|
14
|
+
|
|
15
|
+
beforeAll(async () => {
|
|
16
|
+
network = await TestNetwork.create({
|
|
17
|
+
dbPostgresSchema: 'bsky_label_hydration',
|
|
18
|
+
})
|
|
19
|
+
pdsAgent = network.pds.getClient()
|
|
20
|
+
sc = network.getSeedClient()
|
|
21
|
+
await basicSeed(sc)
|
|
22
|
+
alice = sc.dids.alice
|
|
23
|
+
bob = sc.dids.bob
|
|
24
|
+
carol = sc.dids.carol
|
|
25
|
+
labelerDid = network.bsky.ctx.cfg.labelsFromIssuerDids[0]
|
|
26
|
+
await createLabel({ src: alice, uri: carol, cid: '', val: 'spam' })
|
|
27
|
+
await createLabel({ src: bob, uri: carol, cid: '', val: 'impersonation' })
|
|
28
|
+
await createLabel({
|
|
29
|
+
src: labelerDid,
|
|
30
|
+
uri: carol,
|
|
31
|
+
cid: '',
|
|
32
|
+
val: 'misleading',
|
|
33
|
+
})
|
|
34
|
+
await network.processAll()
|
|
35
|
+
})
|
|
36
|
+
|
|
37
|
+
afterAll(async () => {
|
|
38
|
+
await network.close()
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('hydrates labels based on a supplied labeler header', async () => {
|
|
42
|
+
AtpAgent.configure({ appLabelers: [alice] })
|
|
43
|
+
pdsAgent.configureLabelersHeader([])
|
|
44
|
+
const res = await pdsAgent.api.app.bsky.actor.getProfile(
|
|
45
|
+
{ actor: carol },
|
|
46
|
+
{
|
|
47
|
+
headers: sc.getHeaders(bob),
|
|
48
|
+
},
|
|
49
|
+
)
|
|
50
|
+
expect(res.data.labels?.length).toBe(1)
|
|
51
|
+
expect(res.data.labels?.[0].src).toBe(alice)
|
|
52
|
+
expect(res.data.labels?.[0].val).toBe('spam')
|
|
53
|
+
expect(res.headers['atproto-content-labelers']).toEqual(`${alice};redact`)
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
it('hydrates labels based on multiple a supplied labelers', async () => {
|
|
57
|
+
AtpAgent.configure({ appLabelers: [bob] })
|
|
58
|
+
pdsAgent.configureLabelersHeader([alice, labelerDid])
|
|
59
|
+
|
|
60
|
+
const res = await pdsAgent.api.app.bsky.actor.getProfile(
|
|
61
|
+
{ actor: carol },
|
|
62
|
+
{
|
|
63
|
+
headers: sc.getHeaders(bob),
|
|
64
|
+
},
|
|
65
|
+
)
|
|
66
|
+
expect(res.data.labels?.length).toBe(3)
|
|
67
|
+
expect(res.data.labels?.find((l) => l.src === alice)?.val).toEqual('spam')
|
|
68
|
+
expect(res.data.labels?.find((l) => l.src === bob)?.val).toEqual(
|
|
69
|
+
'impersonation',
|
|
70
|
+
)
|
|
71
|
+
expect(res.data.labels?.find((l) => l.src === labelerDid)?.val).toEqual(
|
|
72
|
+
'misleading',
|
|
73
|
+
)
|
|
74
|
+
const labelerHeaderDids = res.headers['atproto-content-labelers'].split(',')
|
|
75
|
+
expect(labelerHeaderDids.sort()).toEqual(
|
|
76
|
+
[alice, `${bob};redact`, labelerDid].sort(),
|
|
77
|
+
)
|
|
78
|
+
})
|
|
79
|
+
|
|
80
|
+
it('defaults to service labels when no labeler header is provided', async () => {
|
|
81
|
+
const res = await axios.get(
|
|
82
|
+
`${network.pds.url}/xrpc/app.bsky.actor.getProfile?actor=${carol}`,
|
|
83
|
+
{ headers: sc.getHeaders(bob) },
|
|
84
|
+
)
|
|
85
|
+
expect(res.data.labels?.length).toBe(1)
|
|
86
|
+
expect(res.data.labels?.[0].src).toBe(labelerDid)
|
|
87
|
+
expect(res.data.labels?.[0].val).toBe('misleading')
|
|
88
|
+
|
|
89
|
+
expect(res.headers['atproto-content-labelers']).toEqual(
|
|
90
|
+
network.bsky.ctx.cfg.labelsFromIssuerDids
|
|
91
|
+
.map((did) => `${did};redact`)
|
|
92
|
+
.join(','),
|
|
93
|
+
)
|
|
94
|
+
})
|
|
95
|
+
|
|
96
|
+
it('hydrates labels onto list views.', async () => {
|
|
97
|
+
AtpAgent.configure({ appLabelers: [labelerDid] })
|
|
98
|
+
pdsAgent.configureLabelersHeader([])
|
|
99
|
+
|
|
100
|
+
const list = await pdsAgent.api.app.bsky.graph.list.create(
|
|
101
|
+
{ repo: alice },
|
|
102
|
+
{
|
|
103
|
+
name: "alice's modlist",
|
|
104
|
+
purpose: 'app.bsky.graph.defs#modlist',
|
|
105
|
+
createdAt: new Date().toISOString(),
|
|
106
|
+
},
|
|
107
|
+
sc.getHeaders(alice),
|
|
108
|
+
)
|
|
109
|
+
await network.processAll()
|
|
110
|
+
await createLabel({ uri: list.uri, cid: list.cid, val: 'spam' })
|
|
111
|
+
const res = await pdsAgent.api.app.bsky.graph.getList(
|
|
112
|
+
{ list: list.uri },
|
|
113
|
+
{ headers: sc.getHeaders(alice) },
|
|
114
|
+
)
|
|
115
|
+
const [label, ...others] = res.data.list.labels ?? []
|
|
116
|
+
expect(label?.src).toBe(labelerDid)
|
|
117
|
+
expect(label?.val).toBe('spam')
|
|
118
|
+
expect(others.length).toBe(0)
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
it('hydrates labels onto feed generator views.', async () => {
|
|
122
|
+
const feedgen = await pdsAgent.api.app.bsky.feed.generator.create(
|
|
123
|
+
{ repo: alice },
|
|
124
|
+
{
|
|
125
|
+
displayName: "alice's feedgen",
|
|
126
|
+
did: alice,
|
|
127
|
+
createdAt: new Date().toISOString(),
|
|
128
|
+
},
|
|
129
|
+
sc.getHeaders(alice),
|
|
130
|
+
)
|
|
131
|
+
await network.processAll()
|
|
132
|
+
await createLabel({ uri: feedgen.uri, cid: feedgen.cid, val: 'spam' })
|
|
133
|
+
const res = await pdsAgent.api.app.bsky.feed.getFeedGenerators(
|
|
134
|
+
{ feeds: [feedgen.uri] },
|
|
135
|
+
{ headers: sc.getHeaders(alice) },
|
|
136
|
+
)
|
|
137
|
+
expect(res.data.feeds.length).toBe(1)
|
|
138
|
+
const [label, ...others] = res.data.feeds[0].labels ?? []
|
|
139
|
+
expect(label?.src).toBe(labelerDid)
|
|
140
|
+
expect(label?.val).toBe('spam')
|
|
141
|
+
expect(others.length).toBe(0)
|
|
142
|
+
})
|
|
143
|
+
|
|
144
|
+
const createLabel = async (opts: {
|
|
145
|
+
src?: string
|
|
146
|
+
uri: string
|
|
147
|
+
cid: string
|
|
148
|
+
val: string
|
|
149
|
+
}) => {
|
|
150
|
+
await network.bsky.db.db
|
|
151
|
+
.insertInto('label')
|
|
152
|
+
.values({
|
|
153
|
+
uri: opts.uri,
|
|
154
|
+
cid: opts.cid,
|
|
155
|
+
val: opts.val,
|
|
156
|
+
cts: new Date().toISOString(),
|
|
157
|
+
neg: false,
|
|
158
|
+
src: opts.src ?? labelerDid,
|
|
159
|
+
})
|
|
160
|
+
.execute()
|
|
161
|
+
}
|
|
162
|
+
})
|
|
@@ -325,6 +325,7 @@ Object {
|
|
|
325
325
|
},
|
|
326
326
|
"description": "blah blah",
|
|
327
327
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
328
|
+
"labels": Array [],
|
|
328
329
|
"name": "new list",
|
|
329
330
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
330
331
|
"uri": "record(0)",
|
|
@@ -369,6 +370,7 @@ Object {
|
|
|
369
370
|
},
|
|
370
371
|
"description": "big list of blocks",
|
|
371
372
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
373
|
+
"labels": Array [],
|
|
372
374
|
"name": "alice blocks",
|
|
373
375
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
374
376
|
"uri": "record(4)",
|
|
@@ -420,6 +422,7 @@ Object {
|
|
|
420
422
|
},
|
|
421
423
|
"description": "blah blah",
|
|
422
424
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
425
|
+
"labels": Array [],
|
|
423
426
|
"name": "new list",
|
|
424
427
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
425
428
|
"uri": "record(0)",
|
|
@@ -463,6 +466,7 @@ Object {
|
|
|
463
466
|
},
|
|
464
467
|
"description": "big list of blocks",
|
|
465
468
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
469
|
+
"labels": Array [],
|
|
466
470
|
"name": "alice blocks",
|
|
467
471
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
468
472
|
"uri": "record(3)",
|
|
@@ -503,6 +507,7 @@ Object {
|
|
|
503
507
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
|
|
504
508
|
"cid": "cids(0)",
|
|
505
509
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
510
|
+
"labels": Array [],
|
|
506
511
|
"name": "alice blocks",
|
|
507
512
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
508
513
|
"uri": "record(0)",
|
|
@@ -532,6 +537,7 @@ Object {
|
|
|
532
537
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
|
|
533
538
|
"cid": "cids(0)",
|
|
534
539
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
540
|
+
"labels": Array [],
|
|
535
541
|
"name": "alice blocks",
|
|
536
542
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
537
543
|
"uri": "record(0)",
|
|
@@ -582,6 +588,7 @@ Object {
|
|
|
582
588
|
},
|
|
583
589
|
"description": "big list of blocks",
|
|
584
590
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
591
|
+
"labels": Array [],
|
|
585
592
|
"name": "alice blocks",
|
|
586
593
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
587
594
|
"uri": "record(0)",
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`labeler service views fetches labelers 1`] = `
|
|
4
|
+
Object {
|
|
5
|
+
"views": Array [
|
|
6
|
+
Object {
|
|
7
|
+
"$type": "app.bsky.labeler.defs#labelerView",
|
|
8
|
+
"cid": "cids(0)",
|
|
9
|
+
"creator": Object {
|
|
10
|
+
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
|
|
11
|
+
"description": "its me!",
|
|
12
|
+
"did": "user(0)",
|
|
13
|
+
"displayName": "ali",
|
|
14
|
+
"handle": "alice.test",
|
|
15
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
16
|
+
"labels": Array [
|
|
17
|
+
Object {
|
|
18
|
+
"cid": "cids(2)",
|
|
19
|
+
"cts": "1970-01-01T00:00:00.000Z",
|
|
20
|
+
"neg": false,
|
|
21
|
+
"src": "user(0)",
|
|
22
|
+
"uri": "record(3)",
|
|
23
|
+
"val": "self-label-a",
|
|
24
|
+
},
|
|
25
|
+
Object {
|
|
26
|
+
"cid": "cids(2)",
|
|
27
|
+
"cts": "1970-01-01T00:00:00.000Z",
|
|
28
|
+
"neg": false,
|
|
29
|
+
"src": "user(0)",
|
|
30
|
+
"uri": "record(3)",
|
|
31
|
+
"val": "self-label-b",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
"viewer": Object {
|
|
35
|
+
"blockedBy": false,
|
|
36
|
+
"followedBy": "record(2)",
|
|
37
|
+
"following": "record(1)",
|
|
38
|
+
"muted": false,
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
42
|
+
"labels": Array [],
|
|
43
|
+
"likeCount": 1,
|
|
44
|
+
"uri": "record(0)",
|
|
45
|
+
"viewer": Object {
|
|
46
|
+
"like": "record(4)",
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
Object {
|
|
50
|
+
"$type": "app.bsky.labeler.defs#labelerView",
|
|
51
|
+
"cid": "cids(3)",
|
|
52
|
+
"creator": Object {
|
|
53
|
+
"avatar": "https://bsky.public.url/img/avatar/plain/user(3)/cids(1)@jpeg",
|
|
54
|
+
"description": "hi im bob label_me",
|
|
55
|
+
"did": "user(2)",
|
|
56
|
+
"displayName": "bobby",
|
|
57
|
+
"handle": "bob.test",
|
|
58
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
59
|
+
"labels": Array [],
|
|
60
|
+
"viewer": Object {
|
|
61
|
+
"blockedBy": false,
|
|
62
|
+
"muted": false,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
66
|
+
"labels": Array [],
|
|
67
|
+
"likeCount": 0,
|
|
68
|
+
"uri": "record(5)",
|
|
69
|
+
"viewer": Object {},
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
|
|
75
|
+
exports[`labeler service views fetches labelers detailed 1`] = `
|
|
76
|
+
Object {
|
|
77
|
+
"views": Array [
|
|
78
|
+
Object {
|
|
79
|
+
"$type": "app.bsky.labeler.defs#labelerViewDetailed",
|
|
80
|
+
"cid": "cids(0)",
|
|
81
|
+
"creator": Object {
|
|
82
|
+
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
|
|
83
|
+
"description": "its me!",
|
|
84
|
+
"did": "user(0)",
|
|
85
|
+
"displayName": "ali",
|
|
86
|
+
"handle": "alice.test",
|
|
87
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
88
|
+
"labels": Array [
|
|
89
|
+
Object {
|
|
90
|
+
"cid": "cids(2)",
|
|
91
|
+
"cts": "1970-01-01T00:00:00.000Z",
|
|
92
|
+
"neg": false,
|
|
93
|
+
"src": "user(0)",
|
|
94
|
+
"uri": "record(3)",
|
|
95
|
+
"val": "self-label-a",
|
|
96
|
+
},
|
|
97
|
+
Object {
|
|
98
|
+
"cid": "cids(2)",
|
|
99
|
+
"cts": "1970-01-01T00:00:00.000Z",
|
|
100
|
+
"neg": false,
|
|
101
|
+
"src": "user(0)",
|
|
102
|
+
"uri": "record(3)",
|
|
103
|
+
"val": "self-label-b",
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
"viewer": Object {
|
|
107
|
+
"blockedBy": false,
|
|
108
|
+
"followedBy": "record(2)",
|
|
109
|
+
"following": "record(1)",
|
|
110
|
+
"muted": false,
|
|
111
|
+
},
|
|
112
|
+
},
|
|
113
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
114
|
+
"labels": Array [],
|
|
115
|
+
"likeCount": 1,
|
|
116
|
+
"policies": Object {
|
|
117
|
+
"labelValues": Array [
|
|
118
|
+
"spam",
|
|
119
|
+
"!hide",
|
|
120
|
+
"scam",
|
|
121
|
+
"impersonation",
|
|
122
|
+
],
|
|
123
|
+
},
|
|
124
|
+
"uri": "record(0)",
|
|
125
|
+
"viewer": Object {
|
|
126
|
+
"like": "record(4)",
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
Object {
|
|
130
|
+
"$type": "app.bsky.labeler.defs#labelerViewDetailed",
|
|
131
|
+
"cid": "cids(3)",
|
|
132
|
+
"creator": Object {
|
|
133
|
+
"avatar": "https://bsky.public.url/img/avatar/plain/user(3)/cids(1)@jpeg",
|
|
134
|
+
"description": "hi im bob label_me",
|
|
135
|
+
"did": "user(2)",
|
|
136
|
+
"displayName": "bobby",
|
|
137
|
+
"handle": "bob.test",
|
|
138
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
139
|
+
"labels": Array [],
|
|
140
|
+
"viewer": Object {
|
|
141
|
+
"blockedBy": false,
|
|
142
|
+
"muted": false,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
146
|
+
"labels": Array [],
|
|
147
|
+
"likeCount": 0,
|
|
148
|
+
"policies": Object {
|
|
149
|
+
"labelValues": Array [
|
|
150
|
+
"nudity",
|
|
151
|
+
"sexual",
|
|
152
|
+
"porn",
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
"uri": "record(5)",
|
|
156
|
+
"viewer": Object {},
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
}
|
|
160
|
+
`;
|
|
@@ -68,6 +68,7 @@ Object {
|
|
|
68
68
|
},
|
|
69
69
|
"description": "new descript",
|
|
70
70
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
71
|
+
"labels": Array [],
|
|
71
72
|
"name": "updated alice mutes",
|
|
72
73
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
73
74
|
"uri": "record(2)",
|
|
@@ -165,6 +166,7 @@ Object {
|
|
|
165
166
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
|
|
166
167
|
"cid": "cids(4)",
|
|
167
168
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
169
|
+
"labels": Array [],
|
|
168
170
|
"name": "alice mutes",
|
|
169
171
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
170
172
|
"uri": "record(6)",
|
|
@@ -216,6 +218,7 @@ Object {
|
|
|
216
218
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(1)@jpeg",
|
|
217
219
|
"cid": "cids(4)",
|
|
218
220
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
221
|
+
"labels": Array [],
|
|
219
222
|
"name": "alice mutes",
|
|
220
223
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
221
224
|
"uri": "record(6)",
|
|
@@ -336,6 +339,7 @@ Object {
|
|
|
336
339
|
},
|
|
337
340
|
"description": "blah blah",
|
|
338
341
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
342
|
+
"labels": Array [],
|
|
339
343
|
"name": "new list",
|
|
340
344
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
341
345
|
"uri": "record(0)",
|
|
@@ -379,6 +383,7 @@ Object {
|
|
|
379
383
|
},
|
|
380
384
|
"description": "big list of mutes",
|
|
381
385
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
386
|
+
"labels": Array [],
|
|
382
387
|
"name": "alice mutes",
|
|
383
388
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
384
389
|
"uri": "record(3)",
|
|
@@ -429,6 +434,7 @@ Object {
|
|
|
429
434
|
},
|
|
430
435
|
"description": "blah blah",
|
|
431
436
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
437
|
+
"labels": Array [],
|
|
432
438
|
"name": "new list",
|
|
433
439
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
434
440
|
"uri": "record(0)",
|
|
@@ -472,6 +478,7 @@ Object {
|
|
|
472
478
|
},
|
|
473
479
|
"description": "big list of mutes",
|
|
474
480
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
481
|
+
"labels": Array [],
|
|
475
482
|
"name": "alice mutes",
|
|
476
483
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
477
484
|
"uri": "record(3)",
|
|
@@ -512,6 +519,7 @@ Object {
|
|
|
512
519
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
|
|
513
520
|
"cid": "cids(0)",
|
|
514
521
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
522
|
+
"labels": Array [],
|
|
515
523
|
"name": "alice mutes",
|
|
516
524
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
517
525
|
"uri": "record(0)",
|
|
@@ -540,6 +548,7 @@ Object {
|
|
|
540
548
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(0)/cids(1)@jpeg",
|
|
541
549
|
"cid": "cids(0)",
|
|
542
550
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
551
|
+
"labels": Array [],
|
|
543
552
|
"name": "alice mutes",
|
|
544
553
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
545
554
|
"uri": "record(0)",
|
|
@@ -588,6 +597,7 @@ Object {
|
|
|
588
597
|
},
|
|
589
598
|
"description": "big list of mutes",
|
|
590
599
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
600
|
+
"labels": Array [],
|
|
591
601
|
"name": "alice mutes",
|
|
592
602
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
593
603
|
"uri": "record(0)",
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
exports[`pds profile views fetches multiple profiles 1`] = `
|
|
4
4
|
Array [
|
|
5
5
|
Object {
|
|
6
|
+
"associated": Object {
|
|
7
|
+
"feedgens": 0,
|
|
8
|
+
"labeler": false,
|
|
9
|
+
"lists": 0,
|
|
10
|
+
},
|
|
6
11
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
|
|
7
12
|
"description": "its me!",
|
|
8
13
|
"did": "user(0)",
|
|
@@ -38,6 +43,11 @@ Array [
|
|
|
38
43
|
},
|
|
39
44
|
},
|
|
40
45
|
Object {
|
|
46
|
+
"associated": Object {
|
|
47
|
+
"feedgens": 0,
|
|
48
|
+
"labeler": false,
|
|
49
|
+
"lists": 0,
|
|
50
|
+
},
|
|
41
51
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(3)/cids(0)@jpeg",
|
|
42
52
|
"description": "hi im bob label_me",
|
|
43
53
|
"did": "user(2)",
|
|
@@ -54,6 +64,11 @@ Array [
|
|
|
54
64
|
},
|
|
55
65
|
},
|
|
56
66
|
Object {
|
|
67
|
+
"associated": Object {
|
|
68
|
+
"feedgens": 0,
|
|
69
|
+
"labeler": false,
|
|
70
|
+
"lists": 0,
|
|
71
|
+
},
|
|
57
72
|
"did": "user(4)",
|
|
58
73
|
"followersCount": 2,
|
|
59
74
|
"followsCount": 1,
|
|
@@ -67,6 +82,11 @@ Array [
|
|
|
67
82
|
},
|
|
68
83
|
},
|
|
69
84
|
Object {
|
|
85
|
+
"associated": Object {
|
|
86
|
+
"feedgens": 0,
|
|
87
|
+
"labeler": false,
|
|
88
|
+
"lists": 0,
|
|
89
|
+
},
|
|
70
90
|
"did": "user(5)",
|
|
71
91
|
"followersCount": 1,
|
|
72
92
|
"followsCount": 1,
|
|
@@ -84,6 +104,11 @@ Array [
|
|
|
84
104
|
|
|
85
105
|
exports[`pds profile views fetches other's profile, with a follow 1`] = `
|
|
86
106
|
Object {
|
|
107
|
+
"associated": Object {
|
|
108
|
+
"feedgens": 0,
|
|
109
|
+
"labeler": false,
|
|
110
|
+
"lists": 0,
|
|
111
|
+
},
|
|
87
112
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
|
|
88
113
|
"description": "its me!",
|
|
89
114
|
"did": "user(0)",
|
|
@@ -122,6 +147,11 @@ Object {
|
|
|
122
147
|
|
|
123
148
|
exports[`pds profile views fetches other's profile, without a follow 1`] = `
|
|
124
149
|
Object {
|
|
150
|
+
"associated": Object {
|
|
151
|
+
"feedgens": 0,
|
|
152
|
+
"labeler": false,
|
|
153
|
+
"lists": 0,
|
|
154
|
+
},
|
|
125
155
|
"did": "user(0)",
|
|
126
156
|
"followersCount": 1,
|
|
127
157
|
"followsCount": 1,
|
|
@@ -138,6 +168,11 @@ Object {
|
|
|
138
168
|
|
|
139
169
|
exports[`pds profile views fetches own profile 1`] = `
|
|
140
170
|
Object {
|
|
171
|
+
"associated": Object {
|
|
172
|
+
"feedgens": 0,
|
|
173
|
+
"labeler": false,
|
|
174
|
+
"lists": 0,
|
|
175
|
+
},
|
|
141
176
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
|
|
142
177
|
"description": "its me!",
|
|
143
178
|
"did": "user(0)",
|
|
@@ -174,6 +209,11 @@ Object {
|
|
|
174
209
|
|
|
175
210
|
exports[`pds profile views presents avatars & banners 1`] = `
|
|
176
211
|
Object {
|
|
212
|
+
"associated": Object {
|
|
213
|
+
"feedgens": 0,
|
|
214
|
+
"labeler": false,
|
|
215
|
+
"lists": 0,
|
|
216
|
+
},
|
|
177
217
|
"avatar": "https://bsky.public.url/img/avatar/plain/user(1)/cids(0)@jpeg",
|
|
178
218
|
"banner": "https://bsky.public.url/img/banner/plain/user(1)/cids(1)@jpeg",
|
|
179
219
|
"description": "new descript",
|
|
@@ -41,6 +41,7 @@ Object {
|
|
|
41
41
|
Object {
|
|
42
42
|
"cid": "cids(1)",
|
|
43
43
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
44
|
+
"labels": Array [],
|
|
44
45
|
"name": "list a",
|
|
45
46
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
46
47
|
"uri": "record(2)",
|
|
@@ -51,6 +52,7 @@ Object {
|
|
|
51
52
|
Object {
|
|
52
53
|
"cid": "cids(2)",
|
|
53
54
|
"indexedAt": "1970-01-01T00:00:00.000Z",
|
|
55
|
+
"labels": Array [],
|
|
54
56
|
"name": "list b",
|
|
55
57
|
"purpose": "app.bsky.graph.defs#modlist",
|
|
56
58
|
"uri": "record(3)",
|