@atproto/ozone 0.1.56 → 0.1.57
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/moderation/emitEvent.d.ts.map +1 -1
- package/dist/api/moderation/emitEvent.js +66 -11
- package/dist/api/moderation/emitEvent.js.map +1 -1
- package/dist/api/setting/upsertOption.d.ts.map +1 -1
- package/dist/api/setting/upsertOption.js +7 -2
- package/dist/api/setting/upsertOption.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +9822 -22228
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +7 -1
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.js.map +1 -1
- package/dist/mod-service/index.d.ts +13 -13
- package/dist/setting/constants.d.ts +2 -0
- package/dist/setting/constants.d.ts.map +1 -0
- package/dist/setting/constants.js +5 -0
- package/dist/setting/constants.js.map +1 -0
- package/dist/setting/types.d.ts +7 -0
- package/dist/setting/types.d.ts.map +1 -0
- package/dist/setting/types.js +3 -0
- package/dist/setting/types.js.map +1 -0
- package/dist/setting/validators.d.ts +4 -0
- package/dist/setting/validators.d.ts.map +1 -0
- package/dist/setting/validators.js +43 -0
- package/dist/setting/validators.js.map +1 -0
- package/package.json +3 -3
- package/src/api/moderation/emitEvent.ts +114 -13
- package/src/api/setting/upsertOption.ts +10 -3
- package/src/lexicon/lexicons.ts +9 -4
- package/src/lexicon/types/app/bsky/actor/defs.ts +7 -1
- package/src/setting/constants.ts +1 -0
- package/src/setting/types.ts +3 -0
- package/src/setting/validators.ts +61 -0
- package/tests/protected-tags.test.ts +201 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/tsconfig.tests.tsbuildinfo +1 -1
|
@@ -160,7 +160,7 @@ export declare function isFeedViewPref(v: unknown): v is FeedViewPref;
|
|
|
160
160
|
export declare function validateFeedViewPref(v: unknown): ValidationResult;
|
|
161
161
|
export interface ThreadViewPref {
|
|
162
162
|
/** Sorting mode for threads. */
|
|
163
|
-
sort?: 'oldest' | 'newest' | 'most-likes' | 'random' | (string & {});
|
|
163
|
+
sort?: 'oldest' | 'newest' | 'most-likes' | 'random' | 'hotness' | (string & {});
|
|
164
164
|
/** Show followed users at the top of all replies. */
|
|
165
165
|
prioritizeFollowedUsers?: boolean;
|
|
166
166
|
[k: string]: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/actor/defs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"defs.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/actor/defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/actor/defs.ts"],"names":[],"mappings":";;AAuBA,gDAMC;AAED,4DAEC;AAgBD,sCAMC;AAED,kDAEC;AAsBD,sDAMC;AAED,kEAEC;AAWD,kDAMC;AAED,8DAEC;AAOD,0DAQC;AAED,sEAEC;AAeD,sCAMC;AAED,kDAEC;AASD,4CAMC;AAED,wDAEC;AAuBD,gDAMC;AAED,4DAEC;AAUD,gDAMC;AAED,4DAEC;AAUD,kCAMC;AAED,8CAEC;AAOD,gDAMC;AAED,4DAEC;AASD,4CAMC;AAED,wDAEC;AAQD,sDAMC;AAED,kEAEC;AAkBD,wCAMC;AAED,oDAEC;
|
|
1
|
+
{"version":3,"file":"defs.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/actor/defs.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,22 +64,22 @@ export declare class ModerationService {
|
|
|
64
64
|
cids: CID[];
|
|
65
65
|
}): Promise<{
|
|
66
66
|
did: string;
|
|
67
|
-
comment: string | null;
|
|
68
67
|
id: number;
|
|
69
68
|
createdAt: string;
|
|
70
69
|
takendown: boolean;
|
|
71
70
|
tags: string[] | null;
|
|
72
71
|
updatedAt: string;
|
|
73
72
|
reviewState: "tools.ozone.moderation.defs#reviewOpen" | "tools.ozone.moderation.defs#reviewEscalated" | "tools.ozone.moderation.defs#reviewClosed" | "tools.ozone.moderation.defs#reviewNone";
|
|
73
|
+
comment: string | null;
|
|
74
|
+
blobCids: string[] | null;
|
|
75
|
+
lastReportedAt: string | null;
|
|
76
|
+
lastReviewedAt: string | null;
|
|
74
77
|
muteUntil: string | null;
|
|
75
78
|
muteReportingUntil: string | null;
|
|
76
79
|
lastReviewedBy: string | null;
|
|
77
|
-
lastReviewedAt: string | null;
|
|
78
|
-
lastReportedAt: string | null;
|
|
79
80
|
lastAppealedAt: string | null;
|
|
80
81
|
appealed: boolean | null;
|
|
81
82
|
suspendUntil: string | null;
|
|
82
|
-
blobCids: string[] | null;
|
|
83
83
|
recordPath: string;
|
|
84
84
|
recordCid: string | null;
|
|
85
85
|
hostingStatus: string | null;
|
|
@@ -100,24 +100,24 @@ export declare class ModerationService {
|
|
|
100
100
|
subjectStatus: ModerationSubjectStatusRow | null;
|
|
101
101
|
}>;
|
|
102
102
|
getLastReversibleEventForSubject(subject: ReversalSubject): Promise<{
|
|
103
|
-
comment: string | null;
|
|
104
103
|
id: number;
|
|
105
104
|
createdAt: string;
|
|
106
105
|
createdBy: string;
|
|
107
106
|
action: "tools.ozone.moderation.defs#modEventTakedown" | "tools.ozone.moderation.defs#modEventAcknowledge" | "tools.ozone.moderation.defs#modEventEscalate" | "tools.ozone.moderation.defs#modEventComment" | "tools.ozone.moderation.defs#modEventLabel" | "tools.ozone.moderation.defs#modEventReport" | "tools.ozone.moderation.defs#modEventMute" | "tools.ozone.moderation.defs#modEventUnmute" | "tools.ozone.moderation.defs#modEventMuteReporter" | "tools.ozone.moderation.defs#modEventUnmuteReporter" | "tools.ozone.moderation.defs#modEventReverseTakedown" | "tools.ozone.moderation.defs#modEventEmail" | "tools.ozone.moderation.defs#modEventResolveAppeal" | "tools.ozone.moderation.defs#modEventTag" | "tools.ozone.moderation.defs#accountEvent" | "tools.ozone.moderation.defs#identityEvent" | "tools.ozone.moderation.defs#recordEvent";
|
|
108
|
-
expiresAt: string | null;
|
|
109
107
|
subjectType: "com.atproto.admin.defs#repoRef" | "com.atproto.repo.strongRef" | "chat.bsky.convo.defs#messageRef";
|
|
110
108
|
subjectBlobCids: string[] | null;
|
|
111
|
-
|
|
109
|
+
comment: string | null;
|
|
112
110
|
createLabelVals: string | null;
|
|
113
111
|
negateLabelVals: string | null;
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
durationInHours: number | null;
|
|
113
|
+
expiresAt: string | null;
|
|
116
114
|
subjectDid: string;
|
|
117
115
|
subjectUri: string | null;
|
|
118
116
|
subjectCid: string | null;
|
|
119
117
|
meta: Record<string, string | boolean> | null;
|
|
120
118
|
legacyRefId: number | null;
|
|
119
|
+
addedTags: string[] | null;
|
|
120
|
+
removedTags: string[] | null;
|
|
121
121
|
subjectMessageId: string | null;
|
|
122
122
|
} | null | undefined>;
|
|
123
123
|
getSubjectsDueForReversal(): Promise<ReversalSubject[]>;
|
|
@@ -168,22 +168,22 @@ export declare class ModerationService {
|
|
|
168
168
|
statuses: {
|
|
169
169
|
handle: string;
|
|
170
170
|
did: string;
|
|
171
|
-
comment: string | null;
|
|
172
171
|
id: number;
|
|
173
172
|
createdAt: string;
|
|
174
173
|
takendown: boolean;
|
|
175
174
|
tags: string[] | null;
|
|
176
175
|
updatedAt: string;
|
|
177
176
|
reviewState: "tools.ozone.moderation.defs#reviewOpen" | "tools.ozone.moderation.defs#reviewEscalated" | "tools.ozone.moderation.defs#reviewClosed" | "tools.ozone.moderation.defs#reviewNone";
|
|
177
|
+
comment: string | null;
|
|
178
|
+
blobCids: string[] | null;
|
|
179
|
+
lastReportedAt: string | null;
|
|
180
|
+
lastReviewedAt: string | null;
|
|
178
181
|
muteUntil: string | null;
|
|
179
182
|
muteReportingUntil: string | null;
|
|
180
183
|
lastReviewedBy: string | null;
|
|
181
|
-
lastReviewedAt: string | null;
|
|
182
|
-
lastReportedAt: string | null;
|
|
183
184
|
lastAppealedAt: string | null;
|
|
184
185
|
appealed: boolean | null;
|
|
185
186
|
suspendUntil: string | null;
|
|
186
|
-
blobCids: string[] | null;
|
|
187
187
|
recordPath: string;
|
|
188
188
|
recordCid: string | null;
|
|
189
189
|
hostingStatus: string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/setting/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,sCAAsC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/setting/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,sBAAsB,GAAG,mCAAmC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/setting/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CAC3D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/setting/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/setting/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAI9C,eAAO,MAAM,iBAAiB,wBAElB,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAqDxD,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.settingValidators = void 0;
|
|
4
|
+
const constants_1 = require("./constants");
|
|
5
|
+
const xrpc_server_1 = require("@atproto/xrpc-server");
|
|
6
|
+
exports.settingValidators = new Map([
|
|
7
|
+
[
|
|
8
|
+
constants_1.ProtectedTagSettingKey,
|
|
9
|
+
async (setting) => {
|
|
10
|
+
if (setting.managerRole !== 'tools.ozone.team.defs#roleAdmin') {
|
|
11
|
+
throw new xrpc_server_1.InvalidRequestError('Only admins should be able to configure protected tags');
|
|
12
|
+
}
|
|
13
|
+
if (typeof setting.value !== 'object') {
|
|
14
|
+
throw new xrpc_server_1.InvalidRequestError('Invalid value');
|
|
15
|
+
}
|
|
16
|
+
for (const [key, val] of Object.entries(setting.value)) {
|
|
17
|
+
if (!val || typeof val !== 'object') {
|
|
18
|
+
throw new xrpc_server_1.InvalidRequestError(`Invalid configuration for tag ${key}`);
|
|
19
|
+
}
|
|
20
|
+
if (!val['roles'] && !val['moderators']) {
|
|
21
|
+
throw new xrpc_server_1.InvalidRequestError(`Must define who a list of moderators or a role who can action subjects with ${key} tag`);
|
|
22
|
+
}
|
|
23
|
+
if (val['roles']) {
|
|
24
|
+
if (!Array.isArray(val['roles'])) {
|
|
25
|
+
throw new xrpc_server_1.InvalidRequestError(`Roles must be an array of moderator roles for tag ${key}`);
|
|
26
|
+
}
|
|
27
|
+
if (!val['roles']?.length) {
|
|
28
|
+
throw new xrpc_server_1.InvalidRequestError(`Must define at least one role for tag ${key}`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (val['moderators']) {
|
|
32
|
+
if (!Array.isArray(val['moderators'])) {
|
|
33
|
+
throw new xrpc_server_1.InvalidRequestError(`Moderators must be an array of moderator DIDs for tag ${key}`);
|
|
34
|
+
}
|
|
35
|
+
if (!val['moderators']?.length) {
|
|
36
|
+
throw new xrpc_server_1.InvalidRequestError(`Must define at least one moderator DID for tag ${key}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
]);
|
|
43
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/setting/validators.ts"],"names":[],"mappings":";;;AAEA,2CAAoD;AACpD,sDAA0D;AAE7C,QAAA,iBAAiB,GAAG,IAAI,GAAG,CAGtC;IACA;QACE,kCAAsB;QACtB,KAAK,EAAE,OAAqC,EAAE,EAAE;YAC9C,IAAI,OAAO,CAAC,WAAW,KAAK,iCAAiC,EAAE,CAAC;gBAC9D,MAAM,IAAI,iCAAmB,CAC3B,wDAAwD,CACzD,CAAA;YACH,CAAC;YAED,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACtC,MAAM,IAAI,iCAAmB,CAAC,eAAe,CAAC,CAAA;YAChD,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBACpC,MAAM,IAAI,iCAAmB,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAA;gBACvE,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACxC,MAAM,IAAI,iCAAmB,CAC3B,+EAA+E,GAAG,MAAM,CACzF,CAAA;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,iCAAmB,CAC3B,qDAAqD,GAAG,EAAE,CAC3D,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,iCAAmB,CAC3B,yCAAyC,GAAG,EAAE,CAC/C,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;wBACtC,MAAM,IAAI,iCAAmB,CAC3B,yDAAyD,GAAG,EAAE,CAC/D,CAAA;oBACH,CAAC;oBACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;wBAC/B,MAAM,IAAI,iCAAmB,CAC3B,kDAAkD,GAAG,EAAE,CACxD,CAAA;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atproto/ozone",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.57",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Backend service for moderating the Bluesky network.",
|
|
6
6
|
"keywords": [
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"structured-headers": "^1.0.1",
|
|
33
33
|
"typed-emitter": "^2.1.0",
|
|
34
34
|
"uint8arrays": "3.0.0",
|
|
35
|
-
"@atproto/api": "^0.13.
|
|
35
|
+
"@atproto/api": "^0.13.18",
|
|
36
36
|
"@atproto/common": "^0.4.4",
|
|
37
37
|
"@atproto/crypto": "^0.4.2",
|
|
38
38
|
"@atproto/identity": "^0.4.3",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"ts-node": "^10.8.2",
|
|
54
54
|
"typescript": "^5.6.3",
|
|
55
55
|
"@atproto/lex-cli": "^0.5.2",
|
|
56
|
-
"@atproto/pds": "^0.4.
|
|
56
|
+
"@atproto/pds": "^0.4.73"
|
|
57
57
|
},
|
|
58
58
|
"scripts": {
|
|
59
59
|
"codegen": "lex gen-server --yes ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
|
|
@@ -17,6 +17,9 @@ import { subjectFromInput } from '../../mod-service/subject'
|
|
|
17
17
|
import { TagService } from '../../tag-service'
|
|
18
18
|
import { retryHttp } from '../../util'
|
|
19
19
|
import { ModeratorOutput, AdminTokenOutput } from '../../auth-verifier'
|
|
20
|
+
import { SettingService } from '../../setting/service'
|
|
21
|
+
import { ProtectedTagSettingKey } from '../../setting/constants'
|
|
22
|
+
import { ProtectedTagSetting } from '../../setting/types'
|
|
20
23
|
|
|
21
24
|
const handleModerationEvent = async ({
|
|
22
25
|
ctx,
|
|
@@ -34,6 +37,7 @@ const handleModerationEvent = async ({
|
|
|
34
37
|
: input.body.createdBy
|
|
35
38
|
const db = ctx.db
|
|
36
39
|
const moderationService = ctx.modService(db)
|
|
40
|
+
const settingService = ctx.settingService(db)
|
|
37
41
|
const { event } = input.body
|
|
38
42
|
const isTakedownEvent = isModEventTakedown(event)
|
|
39
43
|
const isReverseTakedownEvent = isModEventReverseTakedown(event)
|
|
@@ -86,6 +90,59 @@ const handleModerationEvent = async ({
|
|
|
86
90
|
throw new InvalidRequestError(`Subject is not taken down`)
|
|
87
91
|
}
|
|
88
92
|
|
|
93
|
+
if (status?.tags?.length) {
|
|
94
|
+
const protectedTags = await getProtectedTags(
|
|
95
|
+
settingService,
|
|
96
|
+
ctx.cfg.service.did,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
if (protectedTags) {
|
|
100
|
+
status.tags.forEach((tag) => {
|
|
101
|
+
if (!Object.hasOwn(protectedTags, tag)) return
|
|
102
|
+
if (
|
|
103
|
+
protectedTags[tag]['moderators'] &&
|
|
104
|
+
!protectedTags[tag]['moderators'].includes(createdBy)
|
|
105
|
+
) {
|
|
106
|
+
throw new InvalidRequestError(
|
|
107
|
+
`Not allowed to action on protected tag: ${tag}`,
|
|
108
|
+
)
|
|
109
|
+
}
|
|
110
|
+
if (protectedTags[tag]['roles']) {
|
|
111
|
+
if (
|
|
112
|
+
auth.credentials.isAdmin &&
|
|
113
|
+
!protectedTags[tag]['roles'].includes(
|
|
114
|
+
'tools.ozone.team.defs#roleAdmin',
|
|
115
|
+
)
|
|
116
|
+
) {
|
|
117
|
+
throw new InvalidRequestError(
|
|
118
|
+
`Not allowed to action on protected tag: ${tag}`,
|
|
119
|
+
)
|
|
120
|
+
}
|
|
121
|
+
if (
|
|
122
|
+
auth.credentials.isModerator &&
|
|
123
|
+
!protectedTags[tag]['roles'].includes(
|
|
124
|
+
'tools.ozone.team.defs#roleModerator',
|
|
125
|
+
)
|
|
126
|
+
) {
|
|
127
|
+
throw new InvalidRequestError(
|
|
128
|
+
`Not allowed to action on protected tag: ${tag}`,
|
|
129
|
+
)
|
|
130
|
+
}
|
|
131
|
+
if (
|
|
132
|
+
auth.credentials.isTriage &&
|
|
133
|
+
!protectedTags[tag]['roles'].includes(
|
|
134
|
+
'tools.ozone.team.defs#roleTriage',
|
|
135
|
+
)
|
|
136
|
+
) {
|
|
137
|
+
throw new InvalidRequestError(
|
|
138
|
+
`Not allowed to action on protected tag: ${tag}`,
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
})
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
89
146
|
if (status?.takendown && isReverseTakedownEvent && subject.isRecord()) {
|
|
90
147
|
// due to the way blob status is modeled, we should reverse takedown on all
|
|
91
148
|
// blobs for the record being restored, which aren't taken down on another record.
|
|
@@ -125,7 +182,7 @@ const handleModerationEvent = async ({
|
|
|
125
182
|
}
|
|
126
183
|
|
|
127
184
|
if (isModEventTag(event)) {
|
|
128
|
-
assertTagAuth(event, auth)
|
|
185
|
+
await assertTagAuth(settingService, ctx.cfg.service.did, event, auth)
|
|
129
186
|
}
|
|
130
187
|
|
|
131
188
|
const moderationEvent = await db.transaction(async (dbTxn) => {
|
|
@@ -225,31 +282,75 @@ export default function (server: Server, ctx: AppContext) {
|
|
|
225
282
|
})
|
|
226
283
|
}
|
|
227
284
|
|
|
228
|
-
const
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
const assertTagAuth = (
|
|
285
|
+
const assertTagAuth = async (
|
|
286
|
+
settingService: SettingService,
|
|
287
|
+
serviceDid: string,
|
|
233
288
|
event: ModEventTag,
|
|
234
289
|
auth: ModeratorOutput | AdminTokenOutput,
|
|
235
290
|
) => {
|
|
236
291
|
// admins can add/remove any tag
|
|
237
292
|
if (auth.credentials.isAdmin) return
|
|
238
293
|
|
|
239
|
-
|
|
294
|
+
const protectedTags = await getProtectedTags(settingService, serviceDid)
|
|
295
|
+
|
|
296
|
+
if (!protectedTags) {
|
|
297
|
+
return
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
for (const tag of Object.keys(protectedTags)) {
|
|
240
301
|
if (event.add.includes(tag) || event.remove.includes(tag)) {
|
|
241
|
-
if
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
302
|
+
// if specific moderators are configured to manage this tag but the current user
|
|
303
|
+
// is not one of them, then throw an error
|
|
304
|
+
const configuredModerators = protectedTags[tag]?.['moderators']
|
|
305
|
+
if (
|
|
306
|
+
configuredModerators &&
|
|
307
|
+
!configuredModerators.includes(auth.credentials.iss)
|
|
246
308
|
) {
|
|
247
|
-
throw new
|
|
309
|
+
throw new InvalidRequestError(`Not allowed to manage tag: ${tag}`)
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
const configuredRoles = protectedTags[tag]?.['roles']
|
|
313
|
+
if (configuredRoles) {
|
|
314
|
+
// admins can already do everything so we only check for moderator and triage role config
|
|
315
|
+
if (
|
|
316
|
+
auth.credentials.isModerator &&
|
|
317
|
+
!configuredRoles.includes('tools.ozone.team.defs#roleModerator')
|
|
318
|
+
) {
|
|
319
|
+
throw new InvalidRequestError(
|
|
320
|
+
`Can not manage tag ${tag} with moderator role`,
|
|
321
|
+
)
|
|
322
|
+
} else if (
|
|
323
|
+
auth.credentials.isTriage &&
|
|
324
|
+
!configuredRoles.includes('tools.ozone.team.defs#roleTriage')
|
|
325
|
+
) {
|
|
326
|
+
throw new InvalidRequestError(
|
|
327
|
+
`Can not manage tag ${tag} with triage role`,
|
|
328
|
+
)
|
|
329
|
+
}
|
|
248
330
|
}
|
|
249
331
|
}
|
|
250
332
|
}
|
|
251
333
|
}
|
|
252
334
|
|
|
335
|
+
const getProtectedTags = async (
|
|
336
|
+
settingService: SettingService,
|
|
337
|
+
serviceDid: string,
|
|
338
|
+
) => {
|
|
339
|
+
const protectedTagSetting = await settingService.query({
|
|
340
|
+
keys: [ProtectedTagSettingKey],
|
|
341
|
+
scope: 'instance',
|
|
342
|
+
did: serviceDid,
|
|
343
|
+
limit: 1,
|
|
344
|
+
})
|
|
345
|
+
|
|
346
|
+
// if no protected tags are configured, then no need to do further check
|
|
347
|
+
if (!protectedTagSetting.options.length) {
|
|
348
|
+
return
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
return protectedTagSetting.options[0].value as ProtectedTagSetting
|
|
352
|
+
}
|
|
353
|
+
|
|
253
354
|
const validateLabels = (labels: string[]) => {
|
|
254
355
|
for (const label of labels) {
|
|
255
356
|
for (const char of badChars) {
|
|
@@ -6,6 +6,7 @@ import { SettingService } from '../../setting/service'
|
|
|
6
6
|
import { Member } from '../../db/schema/member'
|
|
7
7
|
import { ToolsOzoneTeamDefs } from '@atproto/api'
|
|
8
8
|
import assert from 'node:assert'
|
|
9
|
+
import { settingValidators } from '../../setting/validators'
|
|
9
10
|
|
|
10
11
|
export default function (server: Server, ctx: AppContext) {
|
|
11
12
|
server.tools.ozone.setting.upsertOption({
|
|
@@ -63,11 +64,17 @@ export default function (server: Server, ctx: AppContext) {
|
|
|
63
64
|
) {
|
|
64
65
|
throw new AuthRequiredError(`Not permitted to update setting ${key}`)
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
+
const option = {
|
|
67
68
|
...baseOption,
|
|
68
|
-
scope: 'instance',
|
|
69
|
+
scope: 'instance' as const,
|
|
69
70
|
managerRole: getManagerRole(managerRole),
|
|
70
|
-
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (settingValidators.has(key)) {
|
|
74
|
+
await settingValidators.get(key)?.(option)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
await settingService.upsert(option)
|
|
71
78
|
}
|
|
72
79
|
|
|
73
80
|
const newOption = await getExistingSetting(
|
package/src/lexicon/lexicons.ts
CHANGED
|
@@ -4490,7 +4490,13 @@ export const schemaDict = {
|
|
|
4490
4490
|
sort: {
|
|
4491
4491
|
type: 'string',
|
|
4492
4492
|
description: 'Sorting mode for threads.',
|
|
4493
|
-
knownValues: [
|
|
4493
|
+
knownValues: [
|
|
4494
|
+
'oldest',
|
|
4495
|
+
'newest',
|
|
4496
|
+
'most-likes',
|
|
4497
|
+
'random',
|
|
4498
|
+
'hotness',
|
|
4499
|
+
],
|
|
4494
4500
|
},
|
|
4495
4501
|
prioritizeFollowedUsers: {
|
|
4496
4502
|
type: 'boolean',
|
|
@@ -13483,9 +13489,8 @@ export const schemaDict = {
|
|
|
13483
13489
|
},
|
|
13484
13490
|
},
|
|
13485
13491
|
},
|
|
13486
|
-
}
|
|
13487
|
-
|
|
13488
|
-
export const schemas = Object.values(schemaDict)
|
|
13492
|
+
}
|
|
13493
|
+
export const schemas: LexiconDoc[] = Object.values(schemaDict) as LexiconDoc[]
|
|
13489
13494
|
export const lexicons: Lexicons = new Lexicons(schemas)
|
|
13490
13495
|
export const ids = {
|
|
13491
13496
|
ComAtprotoAdminDefs: 'com.atproto.admin.defs',
|
|
@@ -332,7 +332,13 @@ export function validateFeedViewPref(v: unknown): ValidationResult {
|
|
|
332
332
|
|
|
333
333
|
export interface ThreadViewPref {
|
|
334
334
|
/** Sorting mode for threads. */
|
|
335
|
-
sort?:
|
|
335
|
+
sort?:
|
|
336
|
+
| 'oldest'
|
|
337
|
+
| 'newest'
|
|
338
|
+
| 'most-likes'
|
|
339
|
+
| 'random'
|
|
340
|
+
| 'hotness'
|
|
341
|
+
| (string & {})
|
|
336
342
|
/** Show followed users at the top of all replies. */
|
|
337
343
|
prioritizeFollowedUsers?: boolean
|
|
338
344
|
[k: string]: unknown
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const ProtectedTagSettingKey = 'tools.ozone.setting.protectedTags'
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Selectable } from 'kysely'
|
|
2
|
+
import { Setting } from '../db/schema/setting'
|
|
3
|
+
import { ProtectedTagSettingKey } from './constants'
|
|
4
|
+
import { InvalidRequestError } from '@atproto/xrpc-server'
|
|
5
|
+
|
|
6
|
+
export const settingValidators = new Map<
|
|
7
|
+
string,
|
|
8
|
+
(setting: Partial<Selectable<Setting>>) => Promise<void>
|
|
9
|
+
>([
|
|
10
|
+
[
|
|
11
|
+
ProtectedTagSettingKey,
|
|
12
|
+
async (setting: Partial<Selectable<Setting>>) => {
|
|
13
|
+
if (setting.managerRole !== 'tools.ozone.team.defs#roleAdmin') {
|
|
14
|
+
throw new InvalidRequestError(
|
|
15
|
+
'Only admins should be able to configure protected tags',
|
|
16
|
+
)
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (typeof setting.value !== 'object') {
|
|
20
|
+
throw new InvalidRequestError('Invalid value')
|
|
21
|
+
}
|
|
22
|
+
for (const [key, val] of Object.entries(setting.value)) {
|
|
23
|
+
if (!val || typeof val !== 'object') {
|
|
24
|
+
throw new InvalidRequestError(`Invalid configuration for tag ${key}`)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if (!val['roles'] && !val['moderators']) {
|
|
28
|
+
throw new InvalidRequestError(
|
|
29
|
+
`Must define who a list of moderators or a role who can action subjects with ${key} tag`,
|
|
30
|
+
)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (val['roles']) {
|
|
34
|
+
if (!Array.isArray(val['roles'])) {
|
|
35
|
+
throw new InvalidRequestError(
|
|
36
|
+
`Roles must be an array of moderator roles for tag ${key}`,
|
|
37
|
+
)
|
|
38
|
+
}
|
|
39
|
+
if (!val['roles']?.length) {
|
|
40
|
+
throw new InvalidRequestError(
|
|
41
|
+
`Must define at least one role for tag ${key}`,
|
|
42
|
+
)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (val['moderators']) {
|
|
47
|
+
if (!Array.isArray(val['moderators'])) {
|
|
48
|
+
throw new InvalidRequestError(
|
|
49
|
+
`Moderators must be an array of moderator DIDs for tag ${key}`,
|
|
50
|
+
)
|
|
51
|
+
}
|
|
52
|
+
if (!val['moderators']?.length) {
|
|
53
|
+
throw new InvalidRequestError(
|
|
54
|
+
`Must define at least one moderator DID for tag ${key}`,
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
],
|
|
61
|
+
])
|