@atproto/pds 0.4.30 → 0.4.32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/account-manager/helpers/account.d.ts.map +1 -1
  3. package/dist/account-manager/helpers/account.js +4 -1
  4. package/dist/account-manager/helpers/account.js.map +1 -1
  5. package/dist/api/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  6. package/dist/api/com/atproto/admin/updateSubjectStatus.js +15 -3
  7. package/dist/api/com/atproto/admin/updateSubjectStatus.js.map +1 -1
  8. package/dist/api/com/atproto/server/activateAccount.d.ts.map +1 -1
  9. package/dist/api/com/atproto/server/activateAccount.js +7 -1
  10. package/dist/api/com/atproto/server/activateAccount.js.map +1 -1
  11. package/dist/api/com/atproto/server/deactivateAccount.d.ts.map +1 -1
  12. package/dist/api/com/atproto/server/deactivateAccount.js +7 -1
  13. package/dist/api/com/atproto/server/deactivateAccount.js.map +1 -1
  14. package/dist/lexicon/index.d.ts +9 -0
  15. package/dist/lexicon/index.d.ts.map +1 -1
  16. package/dist/lexicon/index.js +28 -1
  17. package/dist/lexicon/index.js.map +1 -1
  18. package/dist/lexicon/lexicons.d.ts +108 -0
  19. package/dist/lexicon/lexicons.d.ts.map +1 -1
  20. package/dist/lexicon/lexicons.js +112 -0
  21. package/dist/lexicon/lexicons.js.map +1 -1
  22. package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts +39 -0
  23. package/dist/lexicon/types/com/atproto/admin/searchAccounts.d.ts.map +1 -0
  24. package/dist/lexicon/types/com/atproto/admin/searchAccounts.js +3 -0
  25. package/dist/lexicon/types/com/atproto/admin/searchAccounts.js.map +1 -0
  26. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts +1 -0
  27. package/dist/lexicon/types/com/atproto/admin/updateSubjectStatus.d.ts.map +1 -1
  28. package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts +51 -0
  29. package/dist/lexicon/types/tools/ozone/server/getConfig.d.ts.map +1 -0
  30. package/dist/lexicon/types/tools/ozone/server/getConfig.js +26 -0
  31. package/dist/lexicon/types/tools/ozone/server/getConfig.js.map +1 -0
  32. package/package.json +4 -4
  33. package/src/account-manager/helpers/account.ts +4 -1
  34. package/src/api/com/atproto/admin/updateSubjectStatus.ts +16 -3
  35. package/src/api/com/atproto/server/activateAccount.ts +11 -1
  36. package/src/api/com/atproto/server/deactivateAccount.ts +11 -1
  37. package/src/lexicon/index.ts +34 -0
  38. package/src/lexicon/lexicons.ts +112 -0
  39. package/src/lexicon/types/com/atproto/admin/searchAccounts.ts +49 -0
  40. package/src/lexicon/types/com/atproto/admin/updateSubjectStatus.ts +1 -0
  41. package/src/lexicon/types/tools/ozone/server/getConfig.ts +85 -0
@@ -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 './defs';
7
+ export interface QueryParams {
8
+ email?: 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/com/atproto/admin/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,QAAQ,CAAA;AAE7C,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,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/com/atproto/admin/searchAccounts.ts"],"names":[],"mappings":""}
@@ -13,6 +13,7 @@ export interface InputSchema {
13
13
  [k: string]: unknown;
14
14
  };
15
15
  takedown?: ComAtprotoAdminDefs.StatusAttr;
16
+ deactivated?: ComAtprotoAdminDefs.StatusAttr;
16
17
  [k: string]: unknown;
17
18
  }
18
19
  export interface OutputSchema {
@@ -1 +1 @@
1
- {"version":3,"file":"updateSubjectStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/admin/updateSubjectStatus.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,QAAQ,CAAA;AAC7C,OAAO,KAAK,uBAAuB,MAAM,mBAAmB,CAAA;AAE5D,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,OAAO,EACH,mBAAmB,CAAC,OAAO,GAC3B,uBAAuB,CAAC,IAAI,GAC5B,mBAAmB,CAAC,WAAW,GAC/B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAA;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EACH,mBAAmB,CAAC,OAAO,GAC3B,uBAAuB,CAAC,IAAI,GAC5B,mBAAmB,CAAC,WAAW,GAC/B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAA;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,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":"updateSubjectStatus.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/com/atproto/admin/updateSubjectStatus.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,QAAQ,CAAA;AAC7C,OAAO,KAAK,uBAAuB,MAAM,mBAAmB,CAAA;AAE5D,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,OAAO,EACH,mBAAmB,CAAC,OAAO,GAC3B,uBAAuB,CAAC,IAAI,GAC5B,mBAAmB,CAAC,WAAW,GAC/B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAA;IACzC,WAAW,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAA;IAC5C,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EACH,mBAAmB,CAAC,OAAO,GAC3B,uBAAuB,CAAC,IAAI,GAC5B,mBAAmB,CAAC,WAAW,GAC/B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAA;IAC3C,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAA;IACzC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,WAAW,CAAA;CAClB;AAED,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,51 @@
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
+ export interface QueryParams {
8
+ }
9
+ export type InputSchema = undefined;
10
+ export interface OutputSchema {
11
+ appview?: ServiceConfig;
12
+ pds?: ServiceConfig;
13
+ blobDivert?: ServiceConfig;
14
+ chat?: ServiceConfig;
15
+ viewer?: ViewerConfig;
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
+ export interface ServiceConfig {
40
+ url?: string;
41
+ [k: string]: unknown;
42
+ }
43
+ export declare function isServiceConfig(v: unknown): v is ServiceConfig;
44
+ export declare function validateServiceConfig(v: unknown): ValidationResult;
45
+ export interface ViewerConfig {
46
+ role?: 'tools.ozone.team.defs#roleAdmin' | 'tools.ozone.team.defs#roleModerator' | 'tools.ozone.team.defs#roleTriage' | (string & {});
47
+ [k: string]: unknown;
48
+ }
49
+ export declare function isViewerConfig(v: unknown): v is ViewerConfig;
50
+ export declare function validateViewerConfig(v: unknown): ValidationResult;
51
+ //# sourceMappingURL=getConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfig.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/server/getConfig.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;AAEtE,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,MAAM,WAAW,GAAG,SAAS,CAAA;AAEnC,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,GAAG,CAAC,EAAE,aAAa,CAAA;IACnB,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,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,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAM9D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAElE;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EACD,iCAAiC,GACjC,qCAAqC,GACrC,kCAAkC,GAClC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACjB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAM5D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAEjE"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateViewerConfig = exports.isViewerConfig = exports.validateServiceConfig = exports.isServiceConfig = void 0;
4
+ const lexicons_1 = require("../../../../lexicons");
5
+ const util_1 = require("../../../../util");
6
+ function isServiceConfig(v) {
7
+ return ((0, util_1.isObj)(v) &&
8
+ (0, util_1.hasProp)(v, '$type') &&
9
+ v.$type === 'tools.ozone.server.getConfig#serviceConfig');
10
+ }
11
+ exports.isServiceConfig = isServiceConfig;
12
+ function validateServiceConfig(v) {
13
+ return lexicons_1.lexicons.validate('tools.ozone.server.getConfig#serviceConfig', v);
14
+ }
15
+ exports.validateServiceConfig = validateServiceConfig;
16
+ function isViewerConfig(v) {
17
+ return ((0, util_1.isObj)(v) &&
18
+ (0, util_1.hasProp)(v, '$type') &&
19
+ v.$type === 'tools.ozone.server.getConfig#viewerConfig');
20
+ }
21
+ exports.isViewerConfig = isViewerConfig;
22
+ function validateViewerConfig(v) {
23
+ return lexicons_1.lexicons.validate('tools.ozone.server.getConfig#viewerConfig', v);
24
+ }
25
+ exports.validateViewerConfig = validateViewerConfig;
26
+ //# sourceMappingURL=getConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfig.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/server/getConfig.ts"],"names":[],"mappings":";;;AAKA,mDAA+C;AAC/C,2CAAiD;AA+CjD,SAAgB,eAAe,CAAC,CAAU;IACxC,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC;QACR,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,4CAA4C,CACzD,CAAA;AACH,CAAC;AAND,0CAMC;AAED,SAAgB,qBAAqB,CAAC,CAAU;IAC9C,OAAO,mBAAQ,CAAC,QAAQ,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAA;AAC3E,CAAC;AAFD,sDAEC;AAWD,SAAgB,cAAc,CAAC,CAAU;IACvC,OAAO,CACL,IAAA,YAAK,EAAC,CAAC,CAAC;QACR,IAAA,cAAO,EAAC,CAAC,EAAE,OAAO,CAAC;QACnB,CAAC,CAAC,KAAK,KAAK,2CAA2C,CACxD,CAAA;AACH,CAAC;AAND,wCAMC;AAED,SAAgB,oBAAoB,CAAC,CAAU;IAC7C,OAAO,mBAAQ,CAAC,QAAQ,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAA;AAC1E,CAAC;AAFD,oDAEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/pds",
3
- "version": "0.4.30",
3
+ "version": "0.4.32",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of atproto Personal Data Server (PDS)",
6
6
  "keywords": [
@@ -43,7 +43,7 @@
43
43
  "typed-emitter": "^2.1.0",
44
44
  "uint8arrays": "3.0.0",
45
45
  "zod": "^3.21.4",
46
- "@atproto/api": "^0.12.15",
46
+ "@atproto/api": "^0.12.17",
47
47
  "@atproto/aws": "^0.2.0",
48
48
  "@atproto/common": "^0.4.0",
49
49
  "@atproto/crypto": "^0.4.0",
@@ -70,8 +70,8 @@
70
70
  "jest": "^28.1.2",
71
71
  "ts-node": "^10.8.2",
72
72
  "ws": "^8.12.0",
73
- "@atproto/api": "^0.12.15",
74
- "@atproto/bsky": "^0.0.58",
73
+ "@atproto/api": "^0.12.17",
74
+ "@atproto/bsky": "^0.0.60",
75
75
  "@atproto/lex-cli": "^0.4.0"
76
76
  },
77
77
  "scripts": {
@@ -182,7 +182,10 @@ export const updateEmail = async (
182
182
  await db.executeWithRetry(
183
183
  db.db
184
184
  .updateTable('account')
185
- .set({ email: email.toLowerCase(), emailConfirmedAt: null })
185
+ .set({
186
+ email: email.toLowerCase(),
187
+ emailConfirmedAt: null,
188
+ })
186
189
  .where('did', '=', did),
187
190
  )
188
191
  } catch (err) {
@@ -13,12 +13,10 @@ export default function (server: Server, ctx: AppContext) {
13
13
  server.com.atproto.admin.updateSubjectStatus({
14
14
  auth: ctx.authVerifier.moderator,
15
15
  handler: async ({ input }) => {
16
- const { subject, takedown } = input.body
16
+ const { subject, takedown, deactivated } = input.body
17
17
  if (takedown) {
18
18
  if (isRepoRef(subject)) {
19
19
  await ctx.accountManager.takedownAccount(subject.did, takedown)
20
- const status = await ctx.accountManager.getAccountStatus(subject.did)
21
- await ctx.sequencer.sequenceAccountEvt(subject.did, status)
22
20
  } else if (isStrongRef(subject)) {
23
21
  const uri = new AtUri(subject.uri)
24
22
  await ctx.actorStore.transact(uri.hostname, (store) =>
@@ -36,6 +34,21 @@ export default function (server: Server, ctx: AppContext) {
36
34
  }
37
35
  }
38
36
 
37
+ if (deactivated) {
38
+ if (isRepoRef(subject)) {
39
+ if (deactivated.applied) {
40
+ await ctx.accountManager.deactivateAccount(subject.did, null)
41
+ } else {
42
+ await ctx.accountManager.activateAccount(subject.did)
43
+ }
44
+ }
45
+ }
46
+
47
+ if (isRepoRef(subject)) {
48
+ const status = await ctx.accountManager.getAccountStatus(subject.did)
49
+ await ctx.sequencer.sequenceAccountEvt(subject.did, status)
50
+ }
51
+
39
52
  return {
40
53
  encoding: 'application/json',
41
54
  body: {
@@ -4,11 +4,21 @@ import { INVALID_HANDLE } from '@atproto/syntax'
4
4
  import { Server } from '../../../../lexicon'
5
5
  import AppContext from '../../../../context'
6
6
  import { assertValidDidDocumentForService } from './util'
7
+ import { authPassthru } from '../../../proxy'
7
8
 
8
9
  export default function (server: Server, ctx: AppContext) {
9
10
  server.com.atproto.server.activateAccount({
10
11
  auth: ctx.authVerifier.accessFull(),
11
- handler: async ({ auth }) => {
12
+ handler: async ({ auth, req }) => {
13
+ // in the case of entryway, the full flow is activateAccount (PDS) -> activateAccount (Entryway) -> updateSubjectStatus(PDS)
14
+ if (ctx.entrywayAgent) {
15
+ await ctx.entrywayAgent.com.atproto.server.activateAccount(
16
+ undefined,
17
+ authPassthru(req, true),
18
+ )
19
+ return
20
+ }
21
+
12
22
  const requester = auth.credentials.did
13
23
 
14
24
  await assertValidDidDocumentForService(ctx, requester)
@@ -1,10 +1,20 @@
1
1
  import { Server } from '../../../../lexicon'
2
2
  import AppContext from '../../../../context'
3
+ import { authPassthru } from '../../../proxy'
3
4
 
4
5
  export default function (server: Server, ctx: AppContext) {
5
6
  server.com.atproto.server.deactivateAccount({
6
7
  auth: ctx.authVerifier.accessFull(),
7
- handler: async ({ auth, input }) => {
8
+ handler: async ({ auth, input, req }) => {
9
+ // in the case of entryway, the full flow is deactivateAccount (PDS) -> deactivateAccount (Entryway) -> updateSubjectStatus(PDS)
10
+ if (ctx.entrywayAgent) {
11
+ await ctx.entrywayAgent.com.atproto.server.deactivateAccount(
12
+ input.body,
13
+ authPassthru(req, true),
14
+ )
15
+ return
16
+ }
17
+
8
18
  const requester = auth.credentials.did
9
19
  await ctx.accountManager.deactivateAccount(
10
20
  requester,
@@ -17,6 +17,7 @@ import * as ComAtprotoAdminGetAccountInfo from './types/com/atproto/admin/getAcc
17
17
  import * as ComAtprotoAdminGetAccountInfos from './types/com/atproto/admin/getAccountInfos'
18
18
  import * as ComAtprotoAdminGetInviteCodes from './types/com/atproto/admin/getInviteCodes'
19
19
  import * as ComAtprotoAdminGetSubjectStatus from './types/com/atproto/admin/getSubjectStatus'
20
+ import * as ComAtprotoAdminSearchAccounts from './types/com/atproto/admin/searchAccounts'
20
21
  import * as ComAtprotoAdminSendEmail from './types/com/atproto/admin/sendEmail'
21
22
  import * as ComAtprotoAdminUpdateAccountEmail from './types/com/atproto/admin/updateAccountEmail'
22
23
  import * as ComAtprotoAdminUpdateAccountHandle from './types/com/atproto/admin/updateAccountHandle'
@@ -158,6 +159,7 @@ import * as ToolsOzoneModerationGetRepo from './types/tools/ozone/moderation/get
158
159
  import * as ToolsOzoneModerationQueryEvents from './types/tools/ozone/moderation/queryEvents'
159
160
  import * as ToolsOzoneModerationQueryStatuses from './types/tools/ozone/moderation/queryStatuses'
160
161
  import * as ToolsOzoneModerationSearchRepos from './types/tools/ozone/moderation/searchRepos'
162
+ import * as ToolsOzoneServerGetConfig from './types/tools/ozone/server/getConfig'
161
163
 
162
164
  export const COM_ATPROTO_MODERATION = {
163
165
  DefsReasonSpam: 'com.atproto.moderation.defs#reasonSpam',
@@ -342,6 +344,17 @@ export class ComAtprotoAdminNS {
342
344
  return this._server.xrpc.method(nsid, cfg)
343
345
  }
344
346
 
347
+ searchAccounts<AV extends AuthVerifier>(
348
+ cfg: ConfigOf<
349
+ AV,
350
+ ComAtprotoAdminSearchAccounts.Handler<ExtractAuth<AV>>,
351
+ ComAtprotoAdminSearchAccounts.HandlerReqCtx<ExtractAuth<AV>>
352
+ >,
353
+ ) {
354
+ const nsid = 'com.atproto.admin.searchAccounts' // @ts-ignore
355
+ return this._server.xrpc.method(nsid, cfg)
356
+ }
357
+
345
358
  sendEmail<AV extends AuthVerifier>(
346
359
  cfg: ConfigOf<
347
360
  AV,
@@ -1993,11 +2006,13 @@ export class ToolsOzoneNS {
1993
2006
  _server: Server
1994
2007
  communication: ToolsOzoneCommunicationNS
1995
2008
  moderation: ToolsOzoneModerationNS
2009
+ server: ToolsOzoneServerNS
1996
2010
 
1997
2011
  constructor(server: Server) {
1998
2012
  this._server = server
1999
2013
  this.communication = new ToolsOzoneCommunicationNS(server)
2000
2014
  this.moderation = new ToolsOzoneModerationNS(server)
2015
+ this.server = new ToolsOzoneServerNS(server)
2001
2016
  }
2002
2017
  }
2003
2018
 
@@ -2138,6 +2153,25 @@ export class ToolsOzoneModerationNS {
2138
2153
  }
2139
2154
  }
2140
2155
 
2156
+ export class ToolsOzoneServerNS {
2157
+ _server: Server
2158
+
2159
+ constructor(server: Server) {
2160
+ this._server = server
2161
+ }
2162
+
2163
+ getConfig<AV extends AuthVerifier>(
2164
+ cfg: ConfigOf<
2165
+ AV,
2166
+ ToolsOzoneServerGetConfig.Handler<ExtractAuth<AV>>,
2167
+ ToolsOzoneServerGetConfig.HandlerReqCtx<ExtractAuth<AV>>
2168
+ >,
2169
+ ) {
2170
+ const nsid = 'tools.ozone.server.getConfig' // @ts-ignore
2171
+ return this._server.xrpc.method(nsid, cfg)
2172
+ }
2173
+ }
2174
+
2141
2175
  type SharedRateLimitOpts<T> = {
2142
2176
  name: string
2143
2177
  calcKey?: (ctx: T) => string
@@ -378,6 +378,52 @@ export const schemaDict = {
378
378
  },
379
379
  },
380
380
  },
381
+ ComAtprotoAdminSearchAccounts: {
382
+ lexicon: 1,
383
+ id: 'com.atproto.admin.searchAccounts',
384
+ defs: {
385
+ main: {
386
+ type: 'query',
387
+ description: 'Get list of accounts that matches your search query.',
388
+ parameters: {
389
+ type: 'params',
390
+ properties: {
391
+ email: {
392
+ type: 'string',
393
+ },
394
+ cursor: {
395
+ type: 'string',
396
+ },
397
+ limit: {
398
+ type: 'integer',
399
+ minimum: 1,
400
+ maximum: 100,
401
+ default: 50,
402
+ },
403
+ },
404
+ },
405
+ output: {
406
+ encoding: 'application/json',
407
+ schema: {
408
+ type: 'object',
409
+ required: ['accounts'],
410
+ properties: {
411
+ cursor: {
412
+ type: 'string',
413
+ },
414
+ accounts: {
415
+ type: 'array',
416
+ items: {
417
+ type: 'ref',
418
+ ref: 'lex:com.atproto.admin.defs#accountView',
419
+ },
420
+ },
421
+ },
422
+ },
423
+ },
424
+ },
425
+ },
426
+ },
381
427
  ComAtprotoAdminSendEmail: {
382
428
  lexicon: 1,
383
429
  id: 'com.atproto.admin.sendEmail',
@@ -535,6 +581,10 @@ export const schemaDict = {
535
581
  type: 'ref',
536
582
  ref: 'lex:com.atproto.admin.defs#statusAttr',
537
583
  },
584
+ deactivated: {
585
+ type: 'ref',
586
+ ref: 'lex:com.atproto.admin.defs#statusAttr',
587
+ },
538
588
  },
539
589
  },
540
590
  },
@@ -10770,6 +10820,66 @@ export const schemaDict = {
10770
10820
  },
10771
10821
  },
10772
10822
  },
10823
+ ToolsOzoneServerGetConfig: {
10824
+ lexicon: 1,
10825
+ id: 'tools.ozone.server.getConfig',
10826
+ defs: {
10827
+ main: {
10828
+ type: 'query',
10829
+ description: "Get details about ozone's server configuration.",
10830
+ output: {
10831
+ encoding: 'application/json',
10832
+ schema: {
10833
+ type: 'object',
10834
+ properties: {
10835
+ appview: {
10836
+ type: 'ref',
10837
+ ref: 'lex:tools.ozone.server.getConfig#serviceConfig',
10838
+ },
10839
+ pds: {
10840
+ type: 'ref',
10841
+ ref: 'lex:tools.ozone.server.getConfig#serviceConfig',
10842
+ },
10843
+ blobDivert: {
10844
+ type: 'ref',
10845
+ ref: 'lex:tools.ozone.server.getConfig#serviceConfig',
10846
+ },
10847
+ chat: {
10848
+ type: 'ref',
10849
+ ref: 'lex:tools.ozone.server.getConfig#serviceConfig',
10850
+ },
10851
+ viewer: {
10852
+ type: 'ref',
10853
+ ref: 'lex:tools.ozone.server.getConfig#viewerConfig',
10854
+ },
10855
+ },
10856
+ },
10857
+ },
10858
+ },
10859
+ serviceConfig: {
10860
+ type: 'object',
10861
+ properties: {
10862
+ url: {
10863
+ type: 'string',
10864
+ format: 'uri',
10865
+ },
10866
+ },
10867
+ },
10868
+ viewerConfig: {
10869
+ type: 'object',
10870
+ properties: {
10871
+ role: {
10872
+ type: 'string',
10873
+ knownValues: [
10874
+ 'tools.ozone.team.defs#roleAdmin',
10875
+ 'tools.ozone.team.defs#roleModerator',
10876
+ 'tools.ozone.team.defs#roleTriage',
10877
+ ],
10878
+ },
10879
+ },
10880
+ },
10881
+ },
10882
+ },
10773
10883
  }
10774
10884
  export const schemas: LexiconDoc[] = Object.values(schemaDict) as LexiconDoc[]
10775
10885
  export const lexicons: Lexicons = new Lexicons(schemas)
@@ -10784,6 +10894,7 @@ export const ids = {
10784
10894
  ComAtprotoAdminGetAccountInfos: 'com.atproto.admin.getAccountInfos',
10785
10895
  ComAtprotoAdminGetInviteCodes: 'com.atproto.admin.getInviteCodes',
10786
10896
  ComAtprotoAdminGetSubjectStatus: 'com.atproto.admin.getSubjectStatus',
10897
+ ComAtprotoAdminSearchAccounts: 'com.atproto.admin.searchAccounts',
10787
10898
  ComAtprotoAdminSendEmail: 'com.atproto.admin.sendEmail',
10788
10899
  ComAtprotoAdminUpdateAccountEmail: 'com.atproto.admin.updateAccountEmail',
10789
10900
  ComAtprotoAdminUpdateAccountHandle: 'com.atproto.admin.updateAccountHandle',
@@ -10975,4 +11086,5 @@ export const ids = {
10975
11086
  ToolsOzoneModerationQueryEvents: 'tools.ozone.moderation.queryEvents',
10976
11087
  ToolsOzoneModerationQueryStatuses: 'tools.ozone.moderation.queryStatuses',
10977
11088
  ToolsOzoneModerationSearchRepos: 'tools.ozone.moderation.searchRepos',
11089
+ ToolsOzoneServerGetConfig: 'tools.ozone.server.getConfig',
10978
11090
  }
@@ -0,0 +1,49 @@
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, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+ import * as ComAtprotoAdminDefs from './defs'
11
+
12
+ export interface QueryParams {
13
+ email?: string
14
+ cursor?: string
15
+ limit: number
16
+ }
17
+
18
+ export type InputSchema = undefined
19
+
20
+ export interface OutputSchema {
21
+ cursor?: string
22
+ accounts: ComAtprotoAdminDefs.AccountView[]
23
+ [k: string]: unknown
24
+ }
25
+
26
+ export type HandlerInput = undefined
27
+
28
+ export interface HandlerSuccess {
29
+ encoding: 'application/json'
30
+ body: OutputSchema
31
+ headers?: { [key: string]: string }
32
+ }
33
+
34
+ export interface HandlerError {
35
+ status: number
36
+ message?: string
37
+ }
38
+
39
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
40
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
41
+ auth: HA
42
+ params: QueryParams
43
+ input: HandlerInput
44
+ req: express.Request
45
+ res: express.Response
46
+ }
47
+ export type Handler<HA extends HandlerAuth = never> = (
48
+ ctx: HandlerReqCtx<HA>,
49
+ ) => Promise<HandlerOutput> | HandlerOutput
@@ -19,6 +19,7 @@ export interface InputSchema {
19
19
  | ComAtprotoAdminDefs.RepoBlobRef
20
20
  | { $type: string; [k: string]: unknown }
21
21
  takedown?: ComAtprotoAdminDefs.StatusAttr
22
+ deactivated?: ComAtprotoAdminDefs.StatusAttr
22
23
  [k: string]: unknown
23
24
  }
24
25
 
@@ -0,0 +1,85 @@
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, HandlerPipeThrough } from '@atproto/xrpc-server'
10
+
11
+ export interface QueryParams {}
12
+
13
+ export type InputSchema = undefined
14
+
15
+ export interface OutputSchema {
16
+ appview?: ServiceConfig
17
+ pds?: ServiceConfig
18
+ blobDivert?: ServiceConfig
19
+ chat?: ServiceConfig
20
+ viewer?: ViewerConfig
21
+ [k: string]: unknown
22
+ }
23
+
24
+ export type HandlerInput = undefined
25
+
26
+ export interface HandlerSuccess {
27
+ encoding: 'application/json'
28
+ body: OutputSchema
29
+ headers?: { [key: string]: string }
30
+ }
31
+
32
+ export interface HandlerError {
33
+ status: number
34
+ message?: string
35
+ }
36
+
37
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough
38
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
39
+ auth: HA
40
+ params: QueryParams
41
+ input: HandlerInput
42
+ req: express.Request
43
+ res: express.Response
44
+ }
45
+ export type Handler<HA extends HandlerAuth = never> = (
46
+ ctx: HandlerReqCtx<HA>,
47
+ ) => Promise<HandlerOutput> | HandlerOutput
48
+
49
+ export interface ServiceConfig {
50
+ url?: string
51
+ [k: string]: unknown
52
+ }
53
+
54
+ export function isServiceConfig(v: unknown): v is ServiceConfig {
55
+ return (
56
+ isObj(v) &&
57
+ hasProp(v, '$type') &&
58
+ v.$type === 'tools.ozone.server.getConfig#serviceConfig'
59
+ )
60
+ }
61
+
62
+ export function validateServiceConfig(v: unknown): ValidationResult {
63
+ return lexicons.validate('tools.ozone.server.getConfig#serviceConfig', v)
64
+ }
65
+
66
+ export interface ViewerConfig {
67
+ role?:
68
+ | 'tools.ozone.team.defs#roleAdmin'
69
+ | 'tools.ozone.team.defs#roleModerator'
70
+ | 'tools.ozone.team.defs#roleTriage'
71
+ | (string & {})
72
+ [k: string]: unknown
73
+ }
74
+
75
+ export function isViewerConfig(v: unknown): v is ViewerConfig {
76
+ return (
77
+ isObj(v) &&
78
+ hasProp(v, '$type') &&
79
+ v.$type === 'tools.ozone.server.getConfig#viewerConfig'
80
+ )
81
+ }
82
+
83
+ export function validateViewerConfig(v: unknown): ValidationResult {
84
+ return lexicons.validate('tools.ozone.server.getConfig#viewerConfig', v)
85
+ }