@atproto/pds 0.3.14 → 0.3.15
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 +7 -0
- package/dist/index.js +274 -30
- package/dist/index.js.map +3 -3
- package/dist/lexicon/index.d.ts +2 -0
- package/dist/lexicon/lexicons.d.ts +105 -0
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +7 -1
- package/dist/lexicon/types/app/bsky/graph/defs.d.ts +15 -0
- package/dist/lexicon/types/app/bsky/graph/getRelationships.d.ts +38 -0
- package/package.json +5 -5
- package/src/lexicon/index.ts +12 -0
- package/src/lexicon/lexicons.ts +117 -0
- package/src/lexicon/types/app/bsky/actor/defs.ts +19 -0
- package/src/lexicon/types/app/bsky/graph/defs.ts +41 -0
- package/src/lexicon/types/app/bsky/graph/getRelationships.ts +53 -0
package/dist/lexicon/index.d.ts
CHANGED
@@ -104,6 +104,7 @@ import * as AppBskyGraphGetListBlocks from './types/app/bsky/graph/getListBlocks
|
|
104
104
|
import * as AppBskyGraphGetListMutes from './types/app/bsky/graph/getListMutes';
|
105
105
|
import * as AppBskyGraphGetLists from './types/app/bsky/graph/getLists';
|
106
106
|
import * as AppBskyGraphGetMutes from './types/app/bsky/graph/getMutes';
|
107
|
+
import * as AppBskyGraphGetRelationships from './types/app/bsky/graph/getRelationships';
|
107
108
|
import * as AppBskyGraphGetSuggestedFollowsByActor from './types/app/bsky/graph/getSuggestedFollowsByActor';
|
108
109
|
import * as AppBskyGraphMuteActor from './types/app/bsky/graph/muteActor';
|
109
110
|
import * as AppBskyGraphMuteActorList from './types/app/bsky/graph/muteActorList';
|
@@ -328,6 +329,7 @@ export declare class AppBskyGraphNS {
|
|
328
329
|
getListMutes<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetListMutes.Handler<ExtractAuth<AV>>, AppBskyGraphGetListMutes.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
329
330
|
getLists<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetLists.Handler<ExtractAuth<AV>>, AppBskyGraphGetLists.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
330
331
|
getMutes<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetMutes.Handler<ExtractAuth<AV>>, AppBskyGraphGetMutes.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
332
|
+
getRelationships<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetRelationships.Handler<ExtractAuth<AV>>, AppBskyGraphGetRelationships.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
331
333
|
getSuggestedFollowsByActor<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphGetSuggestedFollowsByActor.Handler<ExtractAuth<AV>>, AppBskyGraphGetSuggestedFollowsByActor.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
332
334
|
muteActor<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphMuteActor.Handler<ExtractAuth<AV>>, AppBskyGraphMuteActor.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
333
335
|
muteActorList<AV extends AuthVerifier>(cfg: ConfigOf<AV, AppBskyGraphMuteActorList.Handler<ExtractAuth<AV>>, AppBskyGraphMuteActorList.HandlerReqCtx<ExtractAuth<AV>>>): void;
|
@@ -4344,6 +4344,22 @@ export declare const schemaDict: {
|
|
4344
4344
|
};
|
4345
4345
|
};
|
4346
4346
|
};
|
4347
|
+
interestsPref: {
|
4348
|
+
type: string;
|
4349
|
+
required: string[];
|
4350
|
+
properties: {
|
4351
|
+
tags: {
|
4352
|
+
type: string;
|
4353
|
+
maxLength: number;
|
4354
|
+
items: {
|
4355
|
+
type: string;
|
4356
|
+
maxLength: number;
|
4357
|
+
maxGraphemes: number;
|
4358
|
+
};
|
4359
|
+
description: string;
|
4360
|
+
};
|
4361
|
+
};
|
4362
|
+
};
|
4347
4363
|
};
|
4348
4364
|
};
|
4349
4365
|
AppBskyActorGetPreferences: {
|
@@ -6461,6 +6477,42 @@ export declare const schemaDict: {
|
|
6461
6477
|
};
|
6462
6478
|
};
|
6463
6479
|
};
|
6480
|
+
notFoundActor: {
|
6481
|
+
type: string;
|
6482
|
+
description: string;
|
6483
|
+
required: string[];
|
6484
|
+
properties: {
|
6485
|
+
actor: {
|
6486
|
+
type: string;
|
6487
|
+
format: string;
|
6488
|
+
};
|
6489
|
+
notFound: {
|
6490
|
+
type: string;
|
6491
|
+
const: boolean;
|
6492
|
+
};
|
6493
|
+
};
|
6494
|
+
};
|
6495
|
+
relationship: {
|
6496
|
+
type: string;
|
6497
|
+
description: string;
|
6498
|
+
required: string[];
|
6499
|
+
properties: {
|
6500
|
+
did: {
|
6501
|
+
type: string;
|
6502
|
+
format: string;
|
6503
|
+
};
|
6504
|
+
following: {
|
6505
|
+
type: string;
|
6506
|
+
format: string;
|
6507
|
+
description: string;
|
6508
|
+
};
|
6509
|
+
followedBy: {
|
6510
|
+
type: string;
|
6511
|
+
format: string;
|
6512
|
+
description: string;
|
6513
|
+
};
|
6514
|
+
};
|
6515
|
+
};
|
6464
6516
|
};
|
6465
6517
|
};
|
6466
6518
|
AppBskyGraphFollow: {
|
@@ -6864,6 +6916,58 @@ export declare const schemaDict: {
|
|
6864
6916
|
};
|
6865
6917
|
};
|
6866
6918
|
};
|
6919
|
+
AppBskyGraphGetRelationships: {
|
6920
|
+
lexicon: number;
|
6921
|
+
id: string;
|
6922
|
+
defs: {
|
6923
|
+
main: {
|
6924
|
+
type: string;
|
6925
|
+
description: string;
|
6926
|
+
parameters: {
|
6927
|
+
type: string;
|
6928
|
+
required: string[];
|
6929
|
+
properties: {
|
6930
|
+
actor: {
|
6931
|
+
type: string;
|
6932
|
+
format: string;
|
6933
|
+
};
|
6934
|
+
others: {
|
6935
|
+
type: string;
|
6936
|
+
maxLength: number;
|
6937
|
+
items: {
|
6938
|
+
type: string;
|
6939
|
+
format: string;
|
6940
|
+
};
|
6941
|
+
};
|
6942
|
+
};
|
6943
|
+
};
|
6944
|
+
output: {
|
6945
|
+
encoding: string;
|
6946
|
+
schema: {
|
6947
|
+
type: string;
|
6948
|
+
required: string[];
|
6949
|
+
properties: {
|
6950
|
+
actor: {
|
6951
|
+
type: string;
|
6952
|
+
format: string;
|
6953
|
+
};
|
6954
|
+
relationships: {
|
6955
|
+
type: string;
|
6956
|
+
items: {
|
6957
|
+
type: string;
|
6958
|
+
refs: string[];
|
6959
|
+
};
|
6960
|
+
};
|
6961
|
+
};
|
6962
|
+
};
|
6963
|
+
};
|
6964
|
+
errors: {
|
6965
|
+
name: string;
|
6966
|
+
description: string;
|
6967
|
+
}[];
|
6968
|
+
};
|
6969
|
+
};
|
6970
|
+
};
|
6867
6971
|
AppBskyGraphGetSuggestedFollowsByActor: {
|
6868
6972
|
lexicon: number;
|
6869
6973
|
id: string;
|
@@ -7761,6 +7865,7 @@ export declare const ids: {
|
|
7761
7865
|
AppBskyGraphGetListMutes: string;
|
7762
7866
|
AppBskyGraphGetLists: string;
|
7763
7867
|
AppBskyGraphGetMutes: string;
|
7868
|
+
AppBskyGraphGetRelationships: string;
|
7764
7869
|
AppBskyGraphGetSuggestedFollowsByActor: string;
|
7765
7870
|
AppBskyGraphList: string;
|
7766
7871
|
AppBskyGraphListblock: string;
|
@@ -54,7 +54,7 @@ export interface ViewerState {
|
|
54
54
|
}
|
55
55
|
export declare function isViewerState(v: unknown): v is ViewerState;
|
56
56
|
export declare function validateViewerState(v: unknown): ValidationResult;
|
57
|
-
export type Preferences = (AdultContentPref | ContentLabelPref | SavedFeedsPref | PersonalDetailsPref | FeedViewPref | ThreadViewPref | {
|
57
|
+
export type Preferences = (AdultContentPref | ContentLabelPref | SavedFeedsPref | PersonalDetailsPref | FeedViewPref | ThreadViewPref | InterestsPref | {
|
58
58
|
$type: string;
|
59
59
|
[k: string]: unknown;
|
60
60
|
})[];
|
@@ -102,3 +102,9 @@ export interface ThreadViewPref {
|
|
102
102
|
}
|
103
103
|
export declare function isThreadViewPref(v: unknown): v is ThreadViewPref;
|
104
104
|
export declare function validateThreadViewPref(v: unknown): ValidationResult;
|
105
|
+
export interface InterestsPref {
|
106
|
+
tags: string[];
|
107
|
+
[k: string]: unknown;
|
108
|
+
}
|
109
|
+
export declare function isInterestsPref(v: unknown): v is InterestsPref;
|
110
|
+
export declare function validateInterestsPref(v: unknown): ValidationResult;
|
@@ -45,3 +45,18 @@ export interface ListViewerState {
|
|
45
45
|
}
|
46
46
|
export declare function isListViewerState(v: unknown): v is ListViewerState;
|
47
47
|
export declare function validateListViewerState(v: unknown): ValidationResult;
|
48
|
+
export interface NotFoundActor {
|
49
|
+
actor: string;
|
50
|
+
notFound: true;
|
51
|
+
[k: string]: unknown;
|
52
|
+
}
|
53
|
+
export declare function isNotFoundActor(v: unknown): v is NotFoundActor;
|
54
|
+
export declare function validateNotFoundActor(v: unknown): ValidationResult;
|
55
|
+
export interface Relationship {
|
56
|
+
did: string;
|
57
|
+
following?: string;
|
58
|
+
followedBy?: string;
|
59
|
+
[k: string]: unknown;
|
60
|
+
}
|
61
|
+
export declare function isRelationship(v: unknown): v is Relationship;
|
62
|
+
export declare function validateRelationship(v: unknown): ValidationResult;
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import express from 'express';
|
2
|
+
import { HandlerAuth } from '@atproto/xrpc-server';
|
3
|
+
import * as AppBskyGraphDefs from './defs';
|
4
|
+
export interface QueryParams {
|
5
|
+
actor: string;
|
6
|
+
others?: string[];
|
7
|
+
}
|
8
|
+
export type InputSchema = undefined;
|
9
|
+
export interface OutputSchema {
|
10
|
+
actor?: string;
|
11
|
+
relationships: (AppBskyGraphDefs.Relationship | AppBskyGraphDefs.NotFoundActor | {
|
12
|
+
$type: string;
|
13
|
+
[k: string]: unknown;
|
14
|
+
})[];
|
15
|
+
[k: string]: unknown;
|
16
|
+
}
|
17
|
+
export type HandlerInput = undefined;
|
18
|
+
export interface HandlerSuccess {
|
19
|
+
encoding: 'application/json';
|
20
|
+
body: OutputSchema;
|
21
|
+
headers?: {
|
22
|
+
[key: string]: string;
|
23
|
+
};
|
24
|
+
}
|
25
|
+
export interface HandlerError {
|
26
|
+
status: number;
|
27
|
+
message?: string;
|
28
|
+
error?: 'ActorNotFound';
|
29
|
+
}
|
30
|
+
export type HandlerOutput = HandlerError | HandlerSuccess;
|
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;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@atproto/pds",
|
3
|
-
"version": "0.3.
|
3
|
+
"version": "0.3.15",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "Reference implementation of atproto Personal Data Server (PDS)",
|
6
6
|
"keywords": [
|
@@ -44,7 +44,7 @@
|
|
44
44
|
"typed-emitter": "^2.1.0",
|
45
45
|
"uint8arrays": "3.0.0",
|
46
46
|
"zod": "^3.21.4",
|
47
|
-
"@atproto/api": "^0.9.
|
47
|
+
"@atproto/api": "^0.9.4",
|
48
48
|
"@atproto/aws": "^0.1.6",
|
49
49
|
"@atproto/common": "^0.3.3",
|
50
50
|
"@atproto/crypto": "^0.3.0",
|
@@ -68,9 +68,9 @@
|
|
68
68
|
"axios": "^0.27.2",
|
69
69
|
"get-port": "^6.1.2",
|
70
70
|
"ws": "^8.12.0",
|
71
|
-
"@atproto/api": "^0.9.
|
72
|
-
"@atproto/bsky": "^0.0.
|
73
|
-
"@atproto/dev-env": "^0.2.
|
71
|
+
"@atproto/api": "^0.9.4",
|
72
|
+
"@atproto/bsky": "^0.0.27",
|
73
|
+
"@atproto/dev-env": "^0.2.27",
|
74
74
|
"@atproto/lex-cli": "^0.3.0"
|
75
75
|
},
|
76
76
|
"scripts": {
|
package/src/lexicon/index.ts
CHANGED
@@ -114,6 +114,7 @@ import * as AppBskyGraphGetListBlocks from './types/app/bsky/graph/getListBlocks
|
|
114
114
|
import * as AppBskyGraphGetListMutes from './types/app/bsky/graph/getListMutes'
|
115
115
|
import * as AppBskyGraphGetLists from './types/app/bsky/graph/getLists'
|
116
116
|
import * as AppBskyGraphGetMutes from './types/app/bsky/graph/getMutes'
|
117
|
+
import * as AppBskyGraphGetRelationships from './types/app/bsky/graph/getRelationships'
|
117
118
|
import * as AppBskyGraphGetSuggestedFollowsByActor from './types/app/bsky/graph/getSuggestedFollowsByActor'
|
118
119
|
import * as AppBskyGraphMuteActor from './types/app/bsky/graph/muteActor'
|
119
120
|
import * as AppBskyGraphMuteActorList from './types/app/bsky/graph/muteActorList'
|
@@ -1480,6 +1481,17 @@ export class AppBskyGraphNS {
|
|
1480
1481
|
return this._server.xrpc.method(nsid, cfg)
|
1481
1482
|
}
|
1482
1483
|
|
1484
|
+
getRelationships<AV extends AuthVerifier>(
|
1485
|
+
cfg: ConfigOf<
|
1486
|
+
AV,
|
1487
|
+
AppBskyGraphGetRelationships.Handler<ExtractAuth<AV>>,
|
1488
|
+
AppBskyGraphGetRelationships.HandlerReqCtx<ExtractAuth<AV>>
|
1489
|
+
>,
|
1490
|
+
) {
|
1491
|
+
const nsid = 'app.bsky.graph.getRelationships' // @ts-ignore
|
1492
|
+
return this._server.xrpc.method(nsid, cfg)
|
1493
|
+
}
|
1494
|
+
|
1483
1495
|
getSuggestedFollowsByActor<AV extends AuthVerifier>(
|
1484
1496
|
cfg: ConfigOf<
|
1485
1497
|
AV,
|
package/src/lexicon/lexicons.ts
CHANGED
@@ -4615,6 +4615,7 @@ export const schemaDict = {
|
|
4615
4615
|
'lex:app.bsky.actor.defs#personalDetailsPref',
|
4616
4616
|
'lex:app.bsky.actor.defs#feedViewPref',
|
4617
4617
|
'lex:app.bsky.actor.defs#threadViewPref',
|
4618
|
+
'lex:app.bsky.actor.defs#interestsPref',
|
4618
4619
|
],
|
4619
4620
|
},
|
4620
4621
|
},
|
@@ -4718,6 +4719,23 @@ export const schemaDict = {
|
|
4718
4719
|
},
|
4719
4720
|
},
|
4720
4721
|
},
|
4722
|
+
interestsPref: {
|
4723
|
+
type: 'object',
|
4724
|
+
required: ['tags'],
|
4725
|
+
properties: {
|
4726
|
+
tags: {
|
4727
|
+
type: 'array',
|
4728
|
+
maxLength: 100,
|
4729
|
+
items: {
|
4730
|
+
type: 'string',
|
4731
|
+
maxLength: 640,
|
4732
|
+
maxGraphemes: 64,
|
4733
|
+
},
|
4734
|
+
description:
|
4735
|
+
"A list of tags which describe the account owner's interests gathered during onboarding.",
|
4736
|
+
},
|
4737
|
+
},
|
4738
|
+
},
|
4721
4739
|
},
|
4722
4740
|
},
|
4723
4741
|
AppBskyActorGetPreferences: {
|
@@ -6925,6 +6943,45 @@ export const schemaDict = {
|
|
6925
6943
|
},
|
6926
6944
|
},
|
6927
6945
|
},
|
6946
|
+
notFoundActor: {
|
6947
|
+
type: 'object',
|
6948
|
+
description: 'indicates that a handle or DID could not be resolved',
|
6949
|
+
required: ['actor', 'notFound'],
|
6950
|
+
properties: {
|
6951
|
+
actor: {
|
6952
|
+
type: 'string',
|
6953
|
+
format: 'at-identifier',
|
6954
|
+
},
|
6955
|
+
notFound: {
|
6956
|
+
type: 'boolean',
|
6957
|
+
const: true,
|
6958
|
+
},
|
6959
|
+
},
|
6960
|
+
},
|
6961
|
+
relationship: {
|
6962
|
+
type: 'object',
|
6963
|
+
description:
|
6964
|
+
'lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object)',
|
6965
|
+
required: ['did'],
|
6966
|
+
properties: {
|
6967
|
+
did: {
|
6968
|
+
type: 'string',
|
6969
|
+
format: 'did',
|
6970
|
+
},
|
6971
|
+
following: {
|
6972
|
+
type: 'string',
|
6973
|
+
format: 'at-uri',
|
6974
|
+
description:
|
6975
|
+
'if the actor follows this DID, this is the AT-URI of the follow record',
|
6976
|
+
},
|
6977
|
+
followedBy: {
|
6978
|
+
type: 'string',
|
6979
|
+
format: 'at-uri',
|
6980
|
+
description:
|
6981
|
+
'if the actor is followed by this DID, contains the AT-URI of the follow record',
|
6982
|
+
},
|
6983
|
+
},
|
6984
|
+
},
|
6928
6985
|
},
|
6929
6986
|
},
|
6930
6987
|
AppBskyGraphFollow: {
|
@@ -7328,6 +7385,65 @@ export const schemaDict = {
|
|
7328
7385
|
},
|
7329
7386
|
},
|
7330
7387
|
},
|
7388
|
+
AppBskyGraphGetRelationships: {
|
7389
|
+
lexicon: 1,
|
7390
|
+
id: 'app.bsky.graph.getRelationships',
|
7391
|
+
defs: {
|
7392
|
+
main: {
|
7393
|
+
type: 'query',
|
7394
|
+
description:
|
7395
|
+
'Enumerates public relationships between one account, and a list of other accounts',
|
7396
|
+
parameters: {
|
7397
|
+
type: 'params',
|
7398
|
+
required: ['actor'],
|
7399
|
+
properties: {
|
7400
|
+
actor: {
|
7401
|
+
type: 'string',
|
7402
|
+
format: 'at-identifier',
|
7403
|
+
},
|
7404
|
+
others: {
|
7405
|
+
type: 'array',
|
7406
|
+
maxLength: 30,
|
7407
|
+
items: {
|
7408
|
+
type: 'string',
|
7409
|
+
format: 'at-identifier',
|
7410
|
+
},
|
7411
|
+
},
|
7412
|
+
},
|
7413
|
+
},
|
7414
|
+
output: {
|
7415
|
+
encoding: 'application/json',
|
7416
|
+
schema: {
|
7417
|
+
type: 'object',
|
7418
|
+
required: ['relationships'],
|
7419
|
+
properties: {
|
7420
|
+
actor: {
|
7421
|
+
type: 'string',
|
7422
|
+
format: 'did',
|
7423
|
+
},
|
7424
|
+
relationships: {
|
7425
|
+
type: 'array',
|
7426
|
+
items: {
|
7427
|
+
type: 'union',
|
7428
|
+
refs: [
|
7429
|
+
'lex:app.bsky.graph.defs#relationship',
|
7430
|
+
'lex:app.bsky.graph.defs#notFoundActor',
|
7431
|
+
],
|
7432
|
+
},
|
7433
|
+
},
|
7434
|
+
},
|
7435
|
+
},
|
7436
|
+
},
|
7437
|
+
errors: [
|
7438
|
+
{
|
7439
|
+
name: 'ActorNotFound',
|
7440
|
+
description:
|
7441
|
+
'the primary actor at-identifier could not be resolved',
|
7442
|
+
},
|
7443
|
+
],
|
7444
|
+
},
|
7445
|
+
},
|
7446
|
+
},
|
7331
7447
|
AppBskyGraphGetSuggestedFollowsByActor: {
|
7332
7448
|
lexicon: 1,
|
7333
7449
|
id: 'app.bsky.graph.getSuggestedFollowsByActor',
|
@@ -8272,6 +8388,7 @@ export const ids = {
|
|
8272
8388
|
AppBskyGraphGetListMutes: 'app.bsky.graph.getListMutes',
|
8273
8389
|
AppBskyGraphGetLists: 'app.bsky.graph.getLists',
|
8274
8390
|
AppBskyGraphGetMutes: 'app.bsky.graph.getMutes',
|
8391
|
+
AppBskyGraphGetRelationships: 'app.bsky.graph.getRelationships',
|
8275
8392
|
AppBskyGraphGetSuggestedFollowsByActor:
|
8276
8393
|
'app.bsky.graph.getSuggestedFollowsByActor',
|
8277
8394
|
AppBskyGraphList: 'app.bsky.graph.list',
|
@@ -112,6 +112,7 @@ export type Preferences = (
|
|
112
112
|
| PersonalDetailsPref
|
113
113
|
| FeedViewPref
|
114
114
|
| ThreadViewPref
|
115
|
+
| InterestsPref
|
115
116
|
| { $type: string; [k: string]: unknown }
|
116
117
|
)[]
|
117
118
|
|
@@ -233,3 +234,21 @@ export function isThreadViewPref(v: unknown): v is ThreadViewPref {
|
|
233
234
|
export function validateThreadViewPref(v: unknown): ValidationResult {
|
234
235
|
return lexicons.validate('app.bsky.actor.defs#threadViewPref', v)
|
235
236
|
}
|
237
|
+
|
238
|
+
export interface InterestsPref {
|
239
|
+
/** A list of tags which describe the account owner's interests gathered during onboarding. */
|
240
|
+
tags: string[]
|
241
|
+
[k: string]: unknown
|
242
|
+
}
|
243
|
+
|
244
|
+
export function isInterestsPref(v: unknown): v is InterestsPref {
|
245
|
+
return (
|
246
|
+
isObj(v) &&
|
247
|
+
hasProp(v, '$type') &&
|
248
|
+
v.$type === 'app.bsky.actor.defs#interestsPref'
|
249
|
+
)
|
250
|
+
}
|
251
|
+
|
252
|
+
export function validateInterestsPref(v: unknown): ValidationResult {
|
253
|
+
return lexicons.validate('app.bsky.actor.defs#interestsPref', v)
|
254
|
+
}
|
@@ -102,3 +102,44 @@ export function isListViewerState(v: unknown): v is ListViewerState {
|
|
102
102
|
export function validateListViewerState(v: unknown): ValidationResult {
|
103
103
|
return lexicons.validate('app.bsky.graph.defs#listViewerState', v)
|
104
104
|
}
|
105
|
+
|
106
|
+
/** indicates that a handle or DID could not be resolved */
|
107
|
+
export interface NotFoundActor {
|
108
|
+
actor: string
|
109
|
+
notFound: true
|
110
|
+
[k: string]: unknown
|
111
|
+
}
|
112
|
+
|
113
|
+
export function isNotFoundActor(v: unknown): v is NotFoundActor {
|
114
|
+
return (
|
115
|
+
isObj(v) &&
|
116
|
+
hasProp(v, '$type') &&
|
117
|
+
v.$type === 'app.bsky.graph.defs#notFoundActor'
|
118
|
+
)
|
119
|
+
}
|
120
|
+
|
121
|
+
export function validateNotFoundActor(v: unknown): ValidationResult {
|
122
|
+
return lexicons.validate('app.bsky.graph.defs#notFoundActor', v)
|
123
|
+
}
|
124
|
+
|
125
|
+
/** lists the bi-directional graph relationships between one actor (not indicated in the object), and the target actors (the DID included in the object) */
|
126
|
+
export interface Relationship {
|
127
|
+
did: string
|
128
|
+
/** if the actor follows this DID, this is the AT-URI of the follow record */
|
129
|
+
following?: string
|
130
|
+
/** if the actor is followed by this DID, contains the AT-URI of the follow record */
|
131
|
+
followedBy?: string
|
132
|
+
[k: string]: unknown
|
133
|
+
}
|
134
|
+
|
135
|
+
export function isRelationship(v: unknown): v is Relationship {
|
136
|
+
return (
|
137
|
+
isObj(v) &&
|
138
|
+
hasProp(v, '$type') &&
|
139
|
+
v.$type === 'app.bsky.graph.defs#relationship'
|
140
|
+
)
|
141
|
+
}
|
142
|
+
|
143
|
+
export function validateRelationship(v: unknown): ValidationResult {
|
144
|
+
return lexicons.validate('app.bsky.graph.defs#relationship', v)
|
145
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/**
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
3
|
+
*/
|
4
|
+
import express from 'express'
|
5
|
+
import { ValidationResult, BlobRef } from '@atproto/lexicon'
|
6
|
+
import { lexicons } from '../../../../lexicons'
|
7
|
+
import { isObj, hasProp } from '../../../../util'
|
8
|
+
import { CID } from 'multiformats/cid'
|
9
|
+
import { HandlerAuth } from '@atproto/xrpc-server'
|
10
|
+
import * as AppBskyGraphDefs from './defs'
|
11
|
+
|
12
|
+
export interface QueryParams {
|
13
|
+
actor: string
|
14
|
+
others?: string[]
|
15
|
+
}
|
16
|
+
|
17
|
+
export type InputSchema = undefined
|
18
|
+
|
19
|
+
export interface OutputSchema {
|
20
|
+
actor?: string
|
21
|
+
relationships: (
|
22
|
+
| AppBskyGraphDefs.Relationship
|
23
|
+
| AppBskyGraphDefs.NotFoundActor
|
24
|
+
| { $type: string; [k: string]: unknown }
|
25
|
+
)[]
|
26
|
+
[k: string]: unknown
|
27
|
+
}
|
28
|
+
|
29
|
+
export type HandlerInput = undefined
|
30
|
+
|
31
|
+
export interface HandlerSuccess {
|
32
|
+
encoding: 'application/json'
|
33
|
+
body: OutputSchema
|
34
|
+
headers?: { [key: string]: string }
|
35
|
+
}
|
36
|
+
|
37
|
+
export interface HandlerError {
|
38
|
+
status: number
|
39
|
+
message?: string
|
40
|
+
error?: 'ActorNotFound'
|
41
|
+
}
|
42
|
+
|
43
|
+
export type HandlerOutput = HandlerError | HandlerSuccess
|
44
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
45
|
+
auth: HA
|
46
|
+
params: QueryParams
|
47
|
+
input: HandlerInput
|
48
|
+
req: express.Request
|
49
|
+
res: express.Response
|
50
|
+
}
|
51
|
+
export type Handler<HA extends HandlerAuth = never> = (
|
52
|
+
ctx: HandlerReqCtx<HA>,
|
53
|
+
) => Promise<HandlerOutput> | HandlerOutput
|