@atproto/ozone 0.1.126 → 0.1.127
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 +9 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +10 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/safelink/addRule.d.ts +4 -0
- package/dist/api/safelink/addRule.d.ts.map +1 -0
- package/dist/api/safelink/addRule.js +37 -0
- package/dist/api/safelink/addRule.js.map +1 -0
- package/dist/api/safelink/queryEvents.d.ts +4 -0
- package/dist/api/safelink/queryEvents.d.ts.map +1 -0
- package/dist/api/safelink/queryEvents.js +29 -0
- package/dist/api/safelink/queryEvents.js.map +1 -0
- package/dist/api/safelink/queryRules.d.ts +4 -0
- package/dist/api/safelink/queryRules.d.ts.map +1 -0
- package/dist/api/safelink/queryRules.js +43 -0
- package/dist/api/safelink/queryRules.js.map +1 -0
- package/dist/api/safelink/removeRule.d.ts +4 -0
- package/dist/api/safelink/removeRule.d.ts.map +1 -0
- package/dist/api/safelink/removeRule.js +35 -0
- package/dist/api/safelink/removeRule.js.map +1 -0
- package/dist/api/safelink/updateRule.d.ts +4 -0
- package/dist/api/safelink/updateRule.d.ts.map +1 -0
- package/dist/api/safelink/updateRule.js +37 -0
- package/dist/api/safelink/updateRule.js.map +1 -0
- package/dist/api/util.d.ts +8 -0
- package/dist/api/util.d.ts.map +1 -1
- package/dist/api/util.js +33 -1
- package/dist/api/util.js.map +1 -1
- package/dist/context.d.ts +3 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +12 -6
- package/dist/context.js.map +1 -1
- package/dist/db/migrations/20250609T110704000Z-safelink.d.ts +4 -0
- package/dist/db/migrations/20250609T110704000Z-safelink.d.ts.map +1 -0
- package/dist/db/migrations/20250609T110704000Z-safelink.js +51 -0
- package/dist/db/migrations/20250609T110704000Z-safelink.js.map +1 -0
- package/dist/db/migrations/index.d.ts +1 -0
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +2 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/schema/index.d.ts +2 -1
- package/dist/db/schema/index.d.ts.map +1 -1
- package/dist/db/schema/safelink.d.ts +31 -0
- package/dist/db/schema/safelink.d.ts.map +1 -0
- package/dist/db/schema/safelink.js +6 -0
- package/dist/db/schema/safelink.js.map +1 -0
- package/dist/lexicon/index.d.ts +15 -0
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +40 -1
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +10972 -10140
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +446 -0
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/safelink/addRule.d.ts +47 -0
- package/dist/lexicon/types/tools/ozone/safelink/addRule.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/addRule.js +7 -0
- package/dist/lexicon/types/tools/ozone/safelink/addRule.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/defs.d.ts +47 -0
- package/dist/lexicon/types/tools/ozone/safelink/defs.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/defs.js +25 -0
- package/dist/lexicon/types/tools/ozone/safelink/defs.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.d.ts +51 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js +7 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryEvents.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.d.ts +57 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.js +7 -0
- package/dist/lexicon/types/tools/ozone/safelink/queryRules.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.d.ts +45 -0
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.js +7 -0
- package/dist/lexicon/types/tools/ozone/safelink/removeRule.js.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.d.ts +47 -0
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.d.ts.map +1 -0
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.js +7 -0
- package/dist/lexicon/types/tools/ozone/safelink/updateRule.js.map +1 -0
- package/dist/mod-service/status.d.ts +6 -0
- package/dist/mod-service/status.d.ts.map +1 -1
- package/dist/safelink/service.d.ts +69 -0
- package/dist/safelink/service.d.ts.map +1 -0
- package/dist/safelink/service.js +179 -0
- package/dist/safelink/service.js.map +1 -0
- package/package.json +4 -4
- package/src/api/index.ts +10 -0
- package/src/api/safelink/addRule.ts +48 -0
- package/src/api/safelink/queryEvents.ts +32 -0
- package/src/api/safelink/queryRules.ts +58 -0
- package/src/api/safelink/removeRule.ts +42 -0
- package/src/api/safelink/updateRule.ts +48 -0
- package/src/api/util.ts +38 -0
- package/src/context.ts +11 -0
- package/src/db/migrations/20250609T110704000Z-safelink.ts +53 -0
- package/src/db/migrations/index.ts +1 -0
- package/src/db/schema/index.ts +3 -1
- package/src/db/schema/safelink.ts +39 -0
- package/src/lexicon/index.ts +70 -0
- package/src/lexicon/lexicons.ts +451 -0
- package/src/lexicon/types/tools/ozone/safelink/addRule.ts +64 -0
- package/src/lexicon/types/tools/ozone/safelink/defs.ts +76 -0
- package/src/lexicon/types/tools/ozone/safelink/queryEvents.ts +68 -0
- package/src/lexicon/types/tools/ozone/safelink/queryRules.ts +74 -0
- package/src/lexicon/types/tools/ozone/safelink/removeRule.ts +62 -0
- package/src/lexicon/types/tools/ozone/safelink/updateRule.ts +64 -0
- package/src/safelink/service.ts +304 -0
- package/tests/__snapshots__/safelink.test.ts.snap +179 -0
- package/tests/communication-templates.test.ts +7 -7
- package/tests/safelink.test.ts +534 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as ToolsOzoneSafelinkDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
}
|
|
9
|
+
export interface InputSchema {
|
|
10
|
+
/** The URL or domain to apply the rule to */
|
|
11
|
+
url: string;
|
|
12
|
+
pattern: ToolsOzoneSafelinkDefs.PatternType;
|
|
13
|
+
action: ToolsOzoneSafelinkDefs.ActionType;
|
|
14
|
+
reason: ToolsOzoneSafelinkDefs.ReasonType;
|
|
15
|
+
/** Optional comment about the decision */
|
|
16
|
+
comment?: string;
|
|
17
|
+
/** Author DID. Only respected when using admin auth */
|
|
18
|
+
createdBy?: string;
|
|
19
|
+
}
|
|
20
|
+
export type OutputSchema = ToolsOzoneSafelinkDefs.Event;
|
|
21
|
+
export interface HandlerInput {
|
|
22
|
+
encoding: 'application/json';
|
|
23
|
+
body: InputSchema;
|
|
24
|
+
}
|
|
25
|
+
export interface HandlerSuccess {
|
|
26
|
+
encoding: 'application/json';
|
|
27
|
+
body: OutputSchema;
|
|
28
|
+
headers?: {
|
|
29
|
+
[key: string]: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface HandlerError {
|
|
33
|
+
status: number;
|
|
34
|
+
message?: string;
|
|
35
|
+
error?: 'InvalidUrl' | 'RuleAlreadyExists';
|
|
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
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
45
|
+
};
|
|
46
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
47
|
+
//# sourceMappingURL=addRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addRule.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/addRule.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,sBAAsB,MAAM,WAAW,CAAA;AAMxD,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,sBAAsB,CAAC,WAAW,CAAA;IAC3C,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAA;IACzC,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAA;IACzC,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAA;AAEvD,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;IAChB,KAAK,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAA;CAC3C;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;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'tools.ozone.safelink.addRule';
|
|
7
|
+
//# sourceMappingURL=addRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addRule.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/addRule.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,8BAA8B,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import { type ValidationResult } from '@atproto/lexicon';
|
|
5
|
+
/** An event for URL safety decisions */
|
|
6
|
+
export interface Event {
|
|
7
|
+
$type?: 'tools.ozone.safelink.defs#event';
|
|
8
|
+
/** Auto-incrementing row ID */
|
|
9
|
+
id: number;
|
|
10
|
+
eventType: EventType;
|
|
11
|
+
/** The URL that this rule applies to */
|
|
12
|
+
url: string;
|
|
13
|
+
pattern: PatternType;
|
|
14
|
+
action: ActionType;
|
|
15
|
+
reason: ReasonType;
|
|
16
|
+
/** DID of the user who created this rule */
|
|
17
|
+
createdBy: string;
|
|
18
|
+
createdAt: string;
|
|
19
|
+
/** Optional comment about the decision */
|
|
20
|
+
comment?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function isEvent<V>(v: V): v is import("../../../../util").$TypedObject<V, "tools.ozone.safelink.defs", "event">;
|
|
23
|
+
export declare function validateEvent<V>(v: V): ValidationResult<Event & V>;
|
|
24
|
+
export type EventType = 'addRule' | 'updateRule' | 'removeRule' | (string & {});
|
|
25
|
+
export type PatternType = 'domain' | 'url' | (string & {});
|
|
26
|
+
export type ActionType = 'block' | 'warn' | 'whitelist' | (string & {});
|
|
27
|
+
export type ReasonType = 'csam' | 'spam' | 'phishing' | 'none' | (string & {});
|
|
28
|
+
/** Input for creating a URL safety rule */
|
|
29
|
+
export interface UrlRule {
|
|
30
|
+
$type?: 'tools.ozone.safelink.defs#urlRule';
|
|
31
|
+
/** The URL or domain to apply the rule to */
|
|
32
|
+
url: string;
|
|
33
|
+
pattern: PatternType;
|
|
34
|
+
action: ActionType;
|
|
35
|
+
reason: ReasonType;
|
|
36
|
+
/** Optional comment about the decision */
|
|
37
|
+
comment?: string;
|
|
38
|
+
/** DID of the user added the rule. */
|
|
39
|
+
createdBy: string;
|
|
40
|
+
/** Timestamp when the rule was created */
|
|
41
|
+
createdAt: string;
|
|
42
|
+
/** Timestamp when the rule was last updated */
|
|
43
|
+
updatedAt: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function isUrlRule<V>(v: V): v is import("../../../../util").$TypedObject<V, "tools.ozone.safelink.defs", "urlRule">;
|
|
46
|
+
export declare function validateUrlRule<V>(v: V): ValidationResult<UrlRule & V>;
|
|
47
|
+
//# sourceMappingURL=defs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/defs.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,gBAAgB,EAAW,MAAM,kBAAkB,CAAA;AAajE,wCAAwC;AACxC,MAAM,WAAW,KAAK;IACpB,KAAK,CAAC,EAAE,iCAAiC,CAAA;IACzC,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,SAAS,CAAA;IACpB,wCAAwC;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAID,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,yFAE9B;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,+BAEpC;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAC/E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAC1D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AACvE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAE9E,2CAA2C;AAC3C,MAAM,WAAW,OAAO;IACtB,KAAK,CAAC,EAAE,mCAAmC,CAAA;IAC3C,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,WAAW,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,MAAM,EAAE,UAAU,CAAA;IAClB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAA;CAClB;AAID,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,2FAEhC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,iCAEtC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEvent = isEvent;
|
|
4
|
+
exports.validateEvent = validateEvent;
|
|
5
|
+
exports.isUrlRule = isUrlRule;
|
|
6
|
+
exports.validateUrlRule = validateUrlRule;
|
|
7
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
8
|
+
const util_1 = require("../../../../util");
|
|
9
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
10
|
+
const id = 'tools.ozone.safelink.defs';
|
|
11
|
+
const hashEvent = 'event';
|
|
12
|
+
function isEvent(v) {
|
|
13
|
+
return is$typed(v, id, hashEvent);
|
|
14
|
+
}
|
|
15
|
+
function validateEvent(v) {
|
|
16
|
+
return validate(v, id, hashEvent);
|
|
17
|
+
}
|
|
18
|
+
const hashUrlRule = 'urlRule';
|
|
19
|
+
function isUrlRule(v) {
|
|
20
|
+
return is$typed(v, id, hashUrlRule);
|
|
21
|
+
}
|
|
22
|
+
function validateUrlRule(v) {
|
|
23
|
+
return validate(v, id, hashUrlRule);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=defs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/defs.ts"],"names":[],"mappings":";;AAoCA,0BAEC;AAED,sCAEC;AA2BD,8BAEC;AAED,0CAEC;AAtED,mDAA4D;AAC5D,2CAIyB;AAEzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,2BAA2B,CAAA;AAoBtC,MAAM,SAAS,GAAG,OAAO,CAAA;AAEzB,SAAgB,OAAO,CAAI,CAAI;IAC7B,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,aAAa,CAAI,CAAI;IACnC,OAAO,QAAQ,CAAY,CAAC,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;AAC9C,CAAC;AAyBD,MAAM,WAAW,GAAG,SAAS,CAAA;AAE7B,SAAgB,SAAS,CAAI,CAAI;IAC/B,OAAO,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,eAAe,CAAI,CAAI;IACrC,OAAO,QAAQ,CAAc,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAA;AAClD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as ToolsOzoneSafelinkDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
}
|
|
9
|
+
export interface InputSchema {
|
|
10
|
+
/** Cursor for pagination */
|
|
11
|
+
cursor?: string;
|
|
12
|
+
/** Maximum number of results to return */
|
|
13
|
+
limit: number;
|
|
14
|
+
/** Filter by specific URLs or domains */
|
|
15
|
+
urls?: string[];
|
|
16
|
+
/** Filter by pattern type */
|
|
17
|
+
patternType?: string;
|
|
18
|
+
/** Sort direction */
|
|
19
|
+
sortDirection: 'asc' | 'desc' | (string & {});
|
|
20
|
+
}
|
|
21
|
+
export interface OutputSchema {
|
|
22
|
+
/** Next cursor for pagination. Only present if there are more results. */
|
|
23
|
+
cursor?: string;
|
|
24
|
+
events: ToolsOzoneSafelinkDefs.Event[];
|
|
25
|
+
}
|
|
26
|
+
export interface HandlerInput {
|
|
27
|
+
encoding: 'application/json';
|
|
28
|
+
body: InputSchema;
|
|
29
|
+
}
|
|
30
|
+
export interface HandlerSuccess {
|
|
31
|
+
encoding: 'application/json';
|
|
32
|
+
body: OutputSchema;
|
|
33
|
+
headers?: {
|
|
34
|
+
[key: string]: string;
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export interface HandlerError {
|
|
38
|
+
status: number;
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
41
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
42
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
43
|
+
auth: HA;
|
|
44
|
+
params: QueryParams;
|
|
45
|
+
input: HandlerInput;
|
|
46
|
+
req: express.Request;
|
|
47
|
+
res: express.Response;
|
|
48
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
49
|
+
};
|
|
50
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
51
|
+
//# sourceMappingURL=queryEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryEvents.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/queryEvents.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,sBAAsB,MAAM,WAAW,CAAA;AAMxD,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,qBAAqB;IACrB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,sBAAsB,CAAC,KAAK,EAAE,CAAA;CACvC;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;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'tools.ozone.safelink.queryEvents';
|
|
7
|
+
//# sourceMappingURL=queryEvents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryEvents.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/queryEvents.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,kCAAkC,CAAA"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as ToolsOzoneSafelinkDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
}
|
|
9
|
+
export interface InputSchema {
|
|
10
|
+
/** Cursor for pagination */
|
|
11
|
+
cursor?: string;
|
|
12
|
+
/** Maximum number of results to return */
|
|
13
|
+
limit: number;
|
|
14
|
+
/** Filter by specific URLs or domains */
|
|
15
|
+
urls?: string[];
|
|
16
|
+
/** Filter by pattern type */
|
|
17
|
+
patternType?: string;
|
|
18
|
+
/** Filter by action types */
|
|
19
|
+
actions?: string[];
|
|
20
|
+
/** Filter by reason type */
|
|
21
|
+
reason?: string;
|
|
22
|
+
/** Filter by rule creator */
|
|
23
|
+
createdBy?: string;
|
|
24
|
+
/** Sort direction */
|
|
25
|
+
sortDirection: 'asc' | 'desc' | (string & {});
|
|
26
|
+
}
|
|
27
|
+
export interface OutputSchema {
|
|
28
|
+
/** Next cursor for pagination. Only present if there are more results. */
|
|
29
|
+
cursor?: string;
|
|
30
|
+
rules: ToolsOzoneSafelinkDefs.UrlRule[];
|
|
31
|
+
}
|
|
32
|
+
export interface HandlerInput {
|
|
33
|
+
encoding: 'application/json';
|
|
34
|
+
body: InputSchema;
|
|
35
|
+
}
|
|
36
|
+
export interface HandlerSuccess {
|
|
37
|
+
encoding: 'application/json';
|
|
38
|
+
body: OutputSchema;
|
|
39
|
+
headers?: {
|
|
40
|
+
[key: string]: string;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export interface HandlerError {
|
|
44
|
+
status: number;
|
|
45
|
+
message?: string;
|
|
46
|
+
}
|
|
47
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
48
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
49
|
+
auth: HA;
|
|
50
|
+
params: QueryParams;
|
|
51
|
+
input: HandlerInput;
|
|
52
|
+
req: express.Request;
|
|
53
|
+
res: express.Response;
|
|
54
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
55
|
+
};
|
|
56
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
57
|
+
//# sourceMappingURL=queryRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryRules.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/queryRules.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,sBAAsB,MAAM,WAAW,CAAA;AAMxD,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,qBAAqB;IACrB,aAAa,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,CAAA;CACxC;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;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'tools.ozone.safelink.queryRules';
|
|
7
|
+
//# sourceMappingURL=queryRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryRules.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/queryRules.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as ToolsOzoneSafelinkDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
}
|
|
9
|
+
export interface InputSchema {
|
|
10
|
+
/** The URL or domain to remove the rule for */
|
|
11
|
+
url: string;
|
|
12
|
+
pattern: ToolsOzoneSafelinkDefs.PatternType;
|
|
13
|
+
/** Optional comment about why the rule is being removed */
|
|
14
|
+
comment?: string;
|
|
15
|
+
/** Optional DID of the user. Only respected when using admin auth. */
|
|
16
|
+
createdBy?: string;
|
|
17
|
+
}
|
|
18
|
+
export type OutputSchema = ToolsOzoneSafelinkDefs.Event;
|
|
19
|
+
export interface HandlerInput {
|
|
20
|
+
encoding: 'application/json';
|
|
21
|
+
body: InputSchema;
|
|
22
|
+
}
|
|
23
|
+
export interface HandlerSuccess {
|
|
24
|
+
encoding: 'application/json';
|
|
25
|
+
body: OutputSchema;
|
|
26
|
+
headers?: {
|
|
27
|
+
[key: string]: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface HandlerError {
|
|
31
|
+
status: number;
|
|
32
|
+
message?: string;
|
|
33
|
+
error?: 'RuleNotFound';
|
|
34
|
+
}
|
|
35
|
+
export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
|
|
36
|
+
export type HandlerReqCtx<HA extends HandlerAuth = never> = {
|
|
37
|
+
auth: HA;
|
|
38
|
+
params: QueryParams;
|
|
39
|
+
input: HandlerInput;
|
|
40
|
+
req: express.Request;
|
|
41
|
+
res: express.Response;
|
|
42
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
43
|
+
};
|
|
44
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
45
|
+
//# sourceMappingURL=removeRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeRule.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/removeRule.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,sBAAsB,MAAM,WAAW,CAAA;AAMxD,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,sBAAsB,CAAC,WAAW,CAAA;IAC3C,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAA;AAEvD,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;IAChB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB;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;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'tools.ozone.safelink.removeRule';
|
|
7
|
+
//# sourceMappingURL=removeRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removeRule.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/removeRule.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,iCAAiC,CAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED CODE - DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
import express from 'express';
|
|
5
|
+
import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
|
|
6
|
+
import type * as ToolsOzoneSafelinkDefs from './defs.js';
|
|
7
|
+
export interface QueryParams {
|
|
8
|
+
}
|
|
9
|
+
export interface InputSchema {
|
|
10
|
+
/** The URL or domain to update the rule for */
|
|
11
|
+
url: string;
|
|
12
|
+
pattern: ToolsOzoneSafelinkDefs.PatternType;
|
|
13
|
+
action: ToolsOzoneSafelinkDefs.ActionType;
|
|
14
|
+
reason: ToolsOzoneSafelinkDefs.ReasonType;
|
|
15
|
+
/** Optional comment about the update */
|
|
16
|
+
comment?: string;
|
|
17
|
+
/** Optional DID to credit as the creator. Only respected for admin_token authentication. */
|
|
18
|
+
createdBy?: string;
|
|
19
|
+
}
|
|
20
|
+
export type OutputSchema = ToolsOzoneSafelinkDefs.Event;
|
|
21
|
+
export interface HandlerInput {
|
|
22
|
+
encoding: 'application/json';
|
|
23
|
+
body: InputSchema;
|
|
24
|
+
}
|
|
25
|
+
export interface HandlerSuccess {
|
|
26
|
+
encoding: 'application/json';
|
|
27
|
+
body: OutputSchema;
|
|
28
|
+
headers?: {
|
|
29
|
+
[key: string]: string;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export interface HandlerError {
|
|
33
|
+
status: number;
|
|
34
|
+
message?: string;
|
|
35
|
+
error?: 'RuleNotFound';
|
|
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
|
+
resetRouteRateLimits: () => Promise<void>;
|
|
45
|
+
};
|
|
46
|
+
export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
|
|
47
|
+
//# sourceMappingURL=updateRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateRule.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/updateRule.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAS7B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,KAAK,sBAAsB,MAAM,WAAW,CAAA;AAMxD,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,sBAAsB,CAAC,WAAW,CAAA;IAC3C,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAA;IACzC,MAAM,EAAE,sBAAsB,CAAC,UAAU,CAAA;IACzC,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,YAAY,GAAG,sBAAsB,CAAC,KAAK,CAAA;AAEvD,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;IAChB,KAAK,CAAC,EAAE,cAAc,CAAA;CACvB;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;IACrB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1C,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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const lexicons_1 = require("../../../../lexicons");
|
|
4
|
+
const util_1 = require("../../../../util");
|
|
5
|
+
const is$typed = util_1.is$typed, validate = lexicons_1.validate;
|
|
6
|
+
const id = 'tools.ozone.safelink.updateRule';
|
|
7
|
+
//# sourceMappingURL=updateRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateRule.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/safelink/updateRule.ts"],"names":[],"mappings":";;AAMA,mDAA4D;AAC5D,2CAIyB;AAIzB,MAAM,QAAQ,GAAG,eAAS,EACxB,QAAQ,GAAG,mBAAS,CAAA;AACtB,MAAM,EAAE,GAAG,iCAAiC,CAAA"}
|
|
@@ -33,6 +33,8 @@ export declare const moderationSubjectStatusQueryBuilder: (db: DatabaseSchema) =
|
|
|
33
33
|
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
|
|
34
34
|
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
|
|
35
35
|
verification: import("../db/schema/verification").Verification;
|
|
36
|
+
safelink_rule: import("../db/schema/safelink").SafelinkRule;
|
|
37
|
+
safelink_event: import("../db/schema/safelink").SafelinkEvent;
|
|
36
38
|
}, "moderation_subject_status" | "account_events_stats" | "account_record_events_stats" | "account_record_status_stats", {
|
|
37
39
|
id: number;
|
|
38
40
|
comment: string | null;
|
|
@@ -91,6 +93,8 @@ export declare const moderationSubjectStatusQueryBuilder: (db: DatabaseSchema) =
|
|
|
91
93
|
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
|
|
92
94
|
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
|
|
93
95
|
verification: import("../db/schema/verification").Verification;
|
|
96
|
+
safelink_rule: import("../db/schema/safelink").SafelinkRule;
|
|
97
|
+
safelink_event: import("../db/schema/safelink").SafelinkEvent;
|
|
94
98
|
}, "moderation_subject_status" | "account_events_stats", "account_events_stats.reportCount" | "account_events_stats.appealCount" | "account_events_stats.suspendCount" | "account_events_stats.escalateCount" | "account_events_stats.takedownCount"> & import("kysely").Selection<{
|
|
95
99
|
moderation_event: import("../db/schema/moderation_event").ModerationEvent;
|
|
96
100
|
moderation_subject_status: import("../db/schema/moderation_subject_status").ModerationSubjectStatus;
|
|
@@ -122,6 +126,8 @@ export declare const moderationSubjectStatusQueryBuilder: (db: DatabaseSchema) =
|
|
|
122
126
|
firehose_cursor: import("../db/schema/firehose_cursor").FirehoseCursor;
|
|
123
127
|
record_events_stats: import("../db/schema/record_events_stats").RecordEventsStats;
|
|
124
128
|
verification: import("../db/schema/verification").Verification;
|
|
129
|
+
safelink_rule: import("../db/schema/safelink").SafelinkRule;
|
|
130
|
+
safelink_event: import("../db/schema/safelink").SafelinkEvent;
|
|
125
131
|
}, "moderation_subject_status" | "account_events_stats" | "account_record_events_stats", "account_record_events_stats.totalReports" | "account_record_events_stats.reportedCount" | "account_record_events_stats.escalatedCount" | "account_record_events_stats.appealedCount">, "account_record_status_stats.subjectCount" | "account_record_status_stats.pendingCount" | "account_record_status_stats.processedCount" | "account_record_status_stats.takendownCount">;
|
|
126
132
|
export declare const adjustModerationSubjectStatus: (db: Database, moderationEvent: ModerationEventRow, blobCids?: string[]) => Promise<ModerationSubjectStatusRow | null>;
|
|
127
133
|
export declare const getStatusIdentifierFromSubject: (subject: string | AtUri) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/mod-service/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAS7C,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAiMxE,eAAO,MAAM,mCAAmC,GAAI,IAAI,cAAc
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/mod-service/status.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAS7C,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAiMxE,eAAO,MAAM,mCAAmC,GAAI,IAAI,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ucAgDrE,CAAA;AAKD,eAAO,MAAM,6BAA6B,GACxC,IAAI,QAAQ,EACZ,iBAAiB,kBAAkB,EACnC,WAAW,MAAM,EAAE,KAClB,OAAO,CAAC,0BAA0B,GAAG,IAAI,CA6L3C,CAAA;AAED,eAAO,MAAM,8BAA8B,GACzC,SAAS,MAAM,GAAG,KAAK,KACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAkBnC,CAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Selectable } from 'kysely';
|
|
2
|
+
import { ToolsOzoneSafelinkDefs } from '@atproto/api';
|
|
3
|
+
import { SafelinkActionType, SafelinkPatternType, SafelinkReasonType } from '../api/util';
|
|
4
|
+
import { Database } from '../db';
|
|
5
|
+
import { SafelinkEvent, SafelinkRule } from '../db/schema/safelink';
|
|
6
|
+
export type SafelinkRuleServiceCreator = (db: Database) => SafelinkRuleService;
|
|
7
|
+
export declare class SafelinkRuleService {
|
|
8
|
+
db: Database;
|
|
9
|
+
constructor(db: Database);
|
|
10
|
+
static creator(): (db: Database) => SafelinkRuleService;
|
|
11
|
+
formatEvent(event: Selectable<SafelinkEvent>): ToolsOzoneSafelinkDefs.Event;
|
|
12
|
+
addRule({ url, pattern, action, reason, createdBy, comment, }: {
|
|
13
|
+
url: string;
|
|
14
|
+
pattern: SafelinkPatternType;
|
|
15
|
+
action: SafelinkActionType;
|
|
16
|
+
reason: SafelinkReasonType;
|
|
17
|
+
createdBy: string;
|
|
18
|
+
comment?: string;
|
|
19
|
+
}): Promise<Selectable<SafelinkEvent>>;
|
|
20
|
+
updateRule({ url, pattern, action, reason, createdBy, comment, }: {
|
|
21
|
+
url: string;
|
|
22
|
+
pattern: SafelinkPatternType;
|
|
23
|
+
action: SafelinkActionType;
|
|
24
|
+
reason: SafelinkReasonType;
|
|
25
|
+
createdBy: string;
|
|
26
|
+
comment?: string;
|
|
27
|
+
}): Promise<Selectable<SafelinkEvent>>;
|
|
28
|
+
removeRule({ url, pattern, createdBy, comment, }: {
|
|
29
|
+
url: string;
|
|
30
|
+
pattern: SafelinkPatternType;
|
|
31
|
+
createdBy: string;
|
|
32
|
+
comment?: string;
|
|
33
|
+
}): Promise<Selectable<SafelinkEvent>>;
|
|
34
|
+
getActiveRule(url: string, pattern: SafelinkPatternType): Promise<{
|
|
35
|
+
id: number;
|
|
36
|
+
action: SafelinkActionType;
|
|
37
|
+
comment: string | null;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
createdBy: string;
|
|
40
|
+
updatedAt: string;
|
|
41
|
+
reason: SafelinkReasonType;
|
|
42
|
+
url: string;
|
|
43
|
+
pattern: SafelinkPatternType;
|
|
44
|
+
} | null>;
|
|
45
|
+
getActiveRules({ cursor, limit, urls, patternType, actions, reason, createdBy, direction, }?: {
|
|
46
|
+
cursor?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
urls?: string[];
|
|
49
|
+
patternType?: SafelinkPatternType;
|
|
50
|
+
actions?: SafelinkActionType[];
|
|
51
|
+
reason?: SafelinkReasonType;
|
|
52
|
+
createdBy?: string;
|
|
53
|
+
direction?: 'asc' | 'desc';
|
|
54
|
+
}): Promise<{
|
|
55
|
+
rules: Selectable<SafelinkRule>[];
|
|
56
|
+
cursor?: string;
|
|
57
|
+
}>;
|
|
58
|
+
queryEvents({ cursor, limit, urls, patternType, direction, }?: {
|
|
59
|
+
cursor?: string;
|
|
60
|
+
limit?: number;
|
|
61
|
+
urls?: string[];
|
|
62
|
+
patternType?: SafelinkPatternType;
|
|
63
|
+
direction?: 'asc' | 'desc';
|
|
64
|
+
}): Promise<{
|
|
65
|
+
events: Selectable<SafelinkEvent>[];
|
|
66
|
+
cursor?: string;
|
|
67
|
+
}>;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/safelink/service.ts"],"names":[],"mappings":"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"}
|