@atproto/ozone 0.1.176 → 0.2.1
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 +22 -0
- package/dist/api/chat/getConvo.d.ts +4 -0
- package/dist/api/chat/getConvo.d.ts.map +1 -0
- package/dist/api/chat/getConvo.js +18 -0
- package/dist/api/chat/getConvo.js.map +1 -0
- package/dist/api/chat/getConvoMembers.d.ts +4 -0
- package/dist/api/chat/getConvoMembers.d.ts.map +1 -0
- package/dist/api/chat/getConvoMembers.js +18 -0
- package/dist/api/chat/getConvoMembers.js.map +1 -0
- package/dist/api/chat/index.d.ts.map +1 -1
- package/dist/api/chat/index.js +4 -0
- package/dist/api/chat/index.js.map +1 -1
- package/dist/daemon/event-reverser.d.ts.map +1 -1
- package/dist/daemon/event-reverser.js +1 -0
- package/dist/daemon/event-reverser.js.map +1 -1
- package/dist/db/migrations/20260513T202941104Z-add-subject-convo-id.d.ts +4 -0
- package/dist/db/migrations/20260513T202941104Z-add-subject-convo-id.d.ts.map +1 -0
- package/dist/db/migrations/20260513T202941104Z-add-subject-convo-id.js +107 -0
- package/dist/db/migrations/20260513T202941104Z-add-subject-convo-id.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 +1 -0
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/schema/expiring_tag.d.ts +1 -0
- package/dist/db/schema/expiring_tag.d.ts.map +1 -1
- package/dist/db/schema/expiring_tag.js.map +1 -1
- package/dist/db/schema/moderation_event.d.ts +2 -1
- package/dist/db/schema/moderation_event.d.ts.map +1 -1
- package/dist/db/schema/moderation_event.js.map +1 -1
- package/dist/db/schema/moderation_subject_status.d.ts +1 -0
- package/dist/db/schema/moderation_subject_status.d.ts.map +1 -1
- package/dist/db/schema/moderation_subject_status.js.map +1 -1
- package/dist/db/schema/report.d.ts +1 -0
- package/dist/db/schema/report.d.ts.map +1 -1
- package/dist/db/schema/report.js.map +1 -1
- package/dist/lexicon/index.d.ts +21 -2
- package/dist/lexicon/index.d.ts.map +1 -1
- package/dist/lexicon/index.js +36 -2
- package/dist/lexicon/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +1617 -305
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +762 -44
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +4 -0
- 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/lexicon/types/app/bsky/embed/external.d.ts +48 -2
- package/dist/lexicon/types/app/bsky/embed/external.d.ts.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/external.js +21 -0
- package/dist/lexicon/types/app/bsky/embed/external.js.map +1 -1
- package/dist/lexicon/types/app/bsky/embed/getEmbedExternalView.d.ts +31 -0
- package/dist/lexicon/types/app/bsky/embed/getEmbedExternalView.d.ts.map +1 -0
- package/dist/lexicon/types/app/bsky/embed/getEmbedExternalView.js +5 -0
- package/dist/lexicon/types/app/bsky/embed/getEmbedExternalView.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/actor/getStatus.d.ts +24 -0
- package/dist/lexicon/types/chat/bsky/actor/getStatus.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/{group/getJoinLinkPreview.js → actor/getStatus.js} +2 -2
- package/dist/lexicon/types/chat/bsky/actor/getStatus.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts +39 -7
- package/dist/lexicon/types/chat/bsky/convo/defs.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/defs.js +21 -0
- package/dist/lexicon/types/chat/bsky/convo/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getConvoForMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/getLog.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/convo/listConvoRequests.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/embed/joinLink.d.ts +19 -0
- package/dist/lexicon/types/chat/bsky/embed/joinLink.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/embed/joinLink.js +19 -0
- package/dist/lexicon/types/chat/bsky/embed/joinLink.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/addMembers.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/group/addMembers.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/addMembers.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.d.ts +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/createGroup.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/defs.d.ts +23 -0
- package/dist/lexicon/types/chat/bsky/group/defs.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/defs.js +14 -0
- package/dist/lexicon/types/chat/bsky/group/defs.js.map +1 -1
- package/dist/lexicon/types/chat/bsky/group/{getJoinLinkPreview.d.ts → getJoinLinkPreviews.d.ts} +3 -4
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.js +5 -0
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreviews.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/updateJoinRequestsRead.d.ts +24 -0
- package/dist/lexicon/types/chat/bsky/group/updateJoinRequestsRead.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/updateJoinRequestsRead.js +5 -0
- package/dist/lexicon/types/chat/bsky/group/updateJoinRequestsRead.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/withdrawJoinRequest.d.ts +24 -0
- package/dist/lexicon/types/chat/bsky/group/withdrawJoinRequest.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/group/withdrawJoinRequest.js +5 -0
- package/dist/lexicon/types/chat/bsky/group/withdrawJoinRequest.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/defs.d.ts +42 -0
- package/dist/lexicon/types/chat/bsky/moderation/defs.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/defs.js +26 -0
- package/dist/lexicon/types/chat/bsky/moderation/defs.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvo.d.ts +23 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvo.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvo.js +5 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvo.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvoMembers.d.ts +26 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvoMembers.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvoMembers.js +5 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvoMembers.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvos.d.ts +22 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvos.d.ts.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvos.js +5 -0
- package/dist/lexicon/types/chat/bsky/moderation/getConvos.js.map +1 -0
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts +13 -1
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.d.ts.map +1 -1
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.js +7 -0
- package/dist/lexicon/types/chat/bsky/moderation/subscribeModEvents.js.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.d.ts.map +1 -1
- package/dist/lexicon/types/com/atproto/server/getServiceAuth.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +10 -3
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.js +7 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryEvents.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
- package/dist/mod-service/expiring-tags.d.ts +3 -0
- package/dist/mod-service/expiring-tags.d.ts.map +1 -1
- package/dist/mod-service/expiring-tags.js +5 -2
- package/dist/mod-service/expiring-tags.js.map +1 -1
- package/dist/mod-service/index.d.ts +3 -1
- package/dist/mod-service/index.d.ts.map +1 -1
- package/dist/mod-service/index.js +48 -10
- package/dist/mod-service/index.js.map +1 -1
- package/dist/mod-service/status.d.ts +7 -1
- package/dist/mod-service/status.d.ts.map +1 -1
- package/dist/mod-service/status.js +18 -3
- package/dist/mod-service/status.js.map +1 -1
- package/dist/mod-service/subject.d.ts +38 -2
- package/dist/mod-service/subject.d.ts.map +1 -1
- package/dist/mod-service/subject.js +67 -0
- package/dist/mod-service/subject.js.map +1 -1
- package/dist/mod-service/views.d.ts +2 -1
- package/dist/mod-service/views.d.ts.map +1 -1
- package/dist/mod-service/views.js +45 -23
- package/dist/mod-service/views.js.map +1 -1
- package/dist/queue/service.d.ts.map +1 -1
- package/dist/queue/service.js +7 -3
- package/dist/queue/service.js.map +1 -1
- package/dist/safelink/service.d.ts +1 -1
- package/package.json +5 -5
- package/src/api/chat/getConvo.ts +23 -0
- package/src/api/chat/getConvoMembers.ts +23 -0
- package/src/api/chat/index.ts +4 -0
- package/src/daemon/event-reverser.ts +1 -0
- package/src/db/migrations/20260513T202941104Z-add-subject-convo-id.ts +114 -0
- package/src/db/migrations/index.ts +1 -0
- package/src/db/schema/expiring_tag.ts +1 -0
- package/src/db/schema/moderation_event.ts +2 -0
- package/src/db/schema/moderation_subject_status.ts +4 -0
- package/src/db/schema/report.ts +2 -1
- package/src/mod-service/expiring-tags.ts +8 -2
- package/src/mod-service/index.ts +52 -16
- package/src/mod-service/status.ts +24 -2
- package/src/mod-service/subject.ts +79 -1
- package/src/mod-service/views.ts +52 -24
- package/src/queue/service.ts +8 -4
- package/tests/__snapshots__/verification.test.ts.snap +2 -0
- package/tests/expiring-tags.test.ts +1 -0
- package/tests/moderation-events.test.ts +108 -1
- package/tests/moderation-status-tags.test.ts +23 -0
- package/tests/moderation-statuses.test.ts +82 -0
- package/tests/moderation.test.ts +73 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreview.d.ts.map +0 -1
- package/dist/lexicon/types/chat/bsky/group/getJoinLinkPreview.js.map +0 -1
|
@@ -51,8 +51,8 @@ export type QueryParams = {
|
|
|
51
51
|
cursor?: string;
|
|
52
52
|
/** If specified, subjects belonging to the given collections will be returned. When subjectType is set to 'account', this will be ignored. */
|
|
53
53
|
collections?: string[];
|
|
54
|
-
/** If specified, subjects of the given type (account or
|
|
55
|
-
subjectType?: 'account' | 'record' | (string & {});
|
|
54
|
+
/** If specified, subjects of the given type (account, record, or conversation) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. */
|
|
55
|
+
subjectType?: 'account' | 'record' | 'conversation' | (string & {});
|
|
56
56
|
/** If specified, only subjects that belong to an account that has at least this many suspensions will be returned. */
|
|
57
57
|
minAccountSuspendCount?: number;
|
|
58
58
|
/** If specified, only subjects that belong to an account that has at least this many reported records will be returned. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStatuses.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/queryStatuses.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,KAAK,wBAAwB,MAAM,WAAW,CAAA;AAM1D,MAAM,MAAM,WAAW,GAAG;IACxB,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,4IAA4I;IAC5I,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,uDAAuD;IACvD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,8FAA8F;IAC9F,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,8FAA8F;IAC9F,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oGAAoG;IACpG,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,wDAAwD;IACxD,WAAW,CAAC,EACR,wCAAwC,GACxC,0CAA0C,GAC1C,6CAA6C,GAC7C,wCAAwC,GACxC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,EACL,gBAAgB,GAChB,gBAAgB,GAChB,sBAAsB,GACtB,uBAAuB,GACvB,eAAe,CAAA;IACnB,aAAa,EAAE,KAAK,GAAG,MAAM,CAAA;IAC7B,wCAAwC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8IAA8I;IAC9I,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,
|
|
1
|
+
{"version":3,"file":"queryStatuses.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/queryStatuses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStatuses.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/queryStatuses.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAEL,QAAQ,IAAI,SAAS,GAEtB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,QAAQ,GAAG,SAAS,EACxB,QAAQ,GAAG,SAAS,CAAA;AACtB,MAAM,EAAE,GAAG,sCAAsC,CAAA","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { type ValidationResult, BlobRef } from '@atproto/lexicon'\nimport { CID } from 'multiformats/cid'\nimport { validate as _validate } from '../../../../lexicons.js'\nimport {\n type $Typed,\n is$typed as _is$typed,\n type OmitKey,\n} from '../../../../util.js'\nimport type * as ToolsOzoneModerationDefs from './defs.js'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'tools.ozone.moderation.queryStatuses'\n\nexport type QueryParams = {\n /** Number of queues being used by moderators. Subjects will be split among all queues. */\n queueCount?: number\n /** Index of the queue to fetch subjects from. Works only when queueCount value is specified. */\n queueIndex?: number\n /** A seeder to shuffle/balance the queue items. */\n queueSeed?: string\n /** All subjects, or subjects from given 'collections' param, belonging to the account specified in the 'subject' param will be returned. */\n includeAllUserRecords?: boolean\n /** The subject to get the status for. */\n subject?: string\n /** Search subjects by keyword from comments */\n comment?: string\n /** Search subjects reported after a given timestamp */\n reportedAfter?: string\n /** Search subjects reported before a given timestamp */\n reportedBefore?: string\n /** Search subjects reviewed after a given timestamp */\n reviewedAfter?: string\n /** Search subjects where the associated record/account was deleted after a given timestamp */\n hostingDeletedAfter?: string\n /** Search subjects where the associated record/account was deleted before a given timestamp */\n hostingDeletedBefore?: string\n /** Search subjects where the associated record/account was updated after a given timestamp */\n hostingUpdatedAfter?: string\n /** Search subjects where the associated record/account was updated before a given timestamp */\n hostingUpdatedBefore?: string\n /** Search subjects by the status of the associated record/account */\n hostingStatuses?: string[]\n /** Search subjects reviewed before a given timestamp */\n reviewedBefore?: string\n /** By default, we don't include muted subjects in the results. Set this to true to include them. */\n includeMuted?: boolean\n /** When set to true, only muted subjects and reporters will be returned. */\n onlyMuted?: boolean\n /** Specify when fetching subjects in a certain state */\n reviewState?:\n | 'tools.ozone.moderation.defs#reviewOpen'\n | 'tools.ozone.moderation.defs#reviewClosed'\n | 'tools.ozone.moderation.defs#reviewEscalated'\n | 'tools.ozone.moderation.defs#reviewNone'\n | (string & {})\n ignoreSubjects?: string[]\n /** Get all subject statuses that were reviewed by a specific moderator */\n lastReviewedBy?: string\n sortField:\n | 'lastReviewedAt'\n | 'lastReportedAt'\n | 'reportedRecordsCount'\n | 'takendownRecordsCount'\n | 'priorityScore'\n sortDirection: 'asc' | 'desc'\n /** Get subjects that were taken down */\n takendown?: boolean\n /** Get subjects in unresolved appealed status */\n appealed?: boolean\n limit: number\n tags?: string[]\n excludeTags?: string[]\n cursor?: string\n /** If specified, subjects belonging to the given collections will be returned. When subjectType is set to 'account', this will be ignored. */\n collections?: string[]\n /** If specified, subjects of the given type (account or
|
|
1
|
+
{"version":3,"file":"queryStatuses.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/tools/ozone/moderation/queryStatuses.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAEL,QAAQ,IAAI,SAAS,GAEtB,MAAM,qBAAqB,CAAA;AAG5B,MAAM,QAAQ,GAAG,SAAS,EACxB,QAAQ,GAAG,SAAS,CAAA;AACtB,MAAM,EAAE,GAAG,sCAAsC,CAAA","sourcesContent":["/**\n * GENERATED CODE - DO NOT MODIFY\n */\nimport { type ValidationResult, BlobRef } from '@atproto/lexicon'\nimport { CID } from 'multiformats/cid'\nimport { validate as _validate } from '../../../../lexicons.js'\nimport {\n type $Typed,\n is$typed as _is$typed,\n type OmitKey,\n} from '../../../../util.js'\nimport type * as ToolsOzoneModerationDefs from './defs.js'\n\nconst is$typed = _is$typed,\n validate = _validate\nconst id = 'tools.ozone.moderation.queryStatuses'\n\nexport type QueryParams = {\n /** Number of queues being used by moderators. Subjects will be split among all queues. */\n queueCount?: number\n /** Index of the queue to fetch subjects from. Works only when queueCount value is specified. */\n queueIndex?: number\n /** A seeder to shuffle/balance the queue items. */\n queueSeed?: string\n /** All subjects, or subjects from given 'collections' param, belonging to the account specified in the 'subject' param will be returned. */\n includeAllUserRecords?: boolean\n /** The subject to get the status for. */\n subject?: string\n /** Search subjects by keyword from comments */\n comment?: string\n /** Search subjects reported after a given timestamp */\n reportedAfter?: string\n /** Search subjects reported before a given timestamp */\n reportedBefore?: string\n /** Search subjects reviewed after a given timestamp */\n reviewedAfter?: string\n /** Search subjects where the associated record/account was deleted after a given timestamp */\n hostingDeletedAfter?: string\n /** Search subjects where the associated record/account was deleted before a given timestamp */\n hostingDeletedBefore?: string\n /** Search subjects where the associated record/account was updated after a given timestamp */\n hostingUpdatedAfter?: string\n /** Search subjects where the associated record/account was updated before a given timestamp */\n hostingUpdatedBefore?: string\n /** Search subjects by the status of the associated record/account */\n hostingStatuses?: string[]\n /** Search subjects reviewed before a given timestamp */\n reviewedBefore?: string\n /** By default, we don't include muted subjects in the results. Set this to true to include them. */\n includeMuted?: boolean\n /** When set to true, only muted subjects and reporters will be returned. */\n onlyMuted?: boolean\n /** Specify when fetching subjects in a certain state */\n reviewState?:\n | 'tools.ozone.moderation.defs#reviewOpen'\n | 'tools.ozone.moderation.defs#reviewClosed'\n | 'tools.ozone.moderation.defs#reviewEscalated'\n | 'tools.ozone.moderation.defs#reviewNone'\n | (string & {})\n ignoreSubjects?: string[]\n /** Get all subject statuses that were reviewed by a specific moderator */\n lastReviewedBy?: string\n sortField:\n | 'lastReviewedAt'\n | 'lastReportedAt'\n | 'reportedRecordsCount'\n | 'takendownRecordsCount'\n | 'priorityScore'\n sortDirection: 'asc' | 'desc'\n /** Get subjects that were taken down */\n takendown?: boolean\n /** Get subjects in unresolved appealed status */\n appealed?: boolean\n limit: number\n tags?: string[]\n excludeTags?: string[]\n cursor?: string\n /** If specified, subjects belonging to the given collections will be returned. When subjectType is set to 'account', this will be ignored. */\n collections?: string[]\n /** If specified, subjects of the given type (account, record, or conversation) will be returned. When this is set to 'account' the 'collections' parameter will be ignored. When includeAllUserRecords or subject is set, this will be ignored. */\n subjectType?: 'account' | 'record' | 'conversation' | (string & {})\n /** If specified, only subjects that belong to an account that has at least this many suspensions will be returned. */\n minAccountSuspendCount?: number\n /** If specified, only subjects that belong to an account that has at least this many reported records will be returned. */\n minReportedRecordsCount?: number\n /** If specified, only subjects that belong to an account that has at least this many taken down records will be returned. */\n minTakendownRecordsCount?: number\n /** If specified, only subjects that have priority score value above the given value will be returned. */\n minPriorityScore?: number\n /** If specified, only subjects that belong to an account that has at least this many active strikes will be returned. */\n minStrikeCount?: number\n /** If specified, only subjects with the given age assurance state will be returned. */\n ageAssuranceState?:\n | 'pending'\n | 'assured'\n | 'unknown'\n | 'reset'\n | 'blocked'\n | (string & {})\n}\nexport type InputSchema = undefined\n\nexport interface OutputSchema {\n cursor?: string\n subjectStatuses: ToolsOzoneModerationDefs.SubjectStatusView[]\n}\n\nexport type HandlerInput = void\n\nexport interface HandlerSuccess {\n encoding: 'application/json'\n body: OutputSchema\n headers?: { [key: string]: string }\n}\n\nexport interface HandlerError {\n status: number\n message?: string\n}\n\nexport type HandlerOutput = HandlerError | HandlerSuccess\n"]}
|
|
@@ -5,6 +5,7 @@ export type ExpiringTagRow = Selectable<ExpiringTag>;
|
|
|
5
5
|
export type ExpiringTagGroup = {
|
|
6
6
|
did: string;
|
|
7
7
|
recordPath: string;
|
|
8
|
+
convoId: string;
|
|
8
9
|
createdBy: string;
|
|
9
10
|
tags: string[];
|
|
10
11
|
ids: number[];
|
|
@@ -13,6 +14,7 @@ export declare function insertExpiringTags(db: Database, params: {
|
|
|
13
14
|
eventId: number;
|
|
14
15
|
did: string;
|
|
15
16
|
recordPath: string;
|
|
17
|
+
convoId: string;
|
|
16
18
|
tags: string[];
|
|
17
19
|
expiresAt: string;
|
|
18
20
|
createdBy: string;
|
|
@@ -20,6 +22,7 @@ export declare function insertExpiringTags(db: Database, params: {
|
|
|
20
22
|
export declare function removeExpiringTags(db: Database, params: {
|
|
21
23
|
did: string;
|
|
22
24
|
recordPath: string;
|
|
25
|
+
convoId: string;
|
|
23
26
|
tags: string[];
|
|
24
27
|
}): Promise<void>;
|
|
25
28
|
export declare function deleteExpiringTagsByIds(db: Database, ids: number[]): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expiring-tags.d.ts","sourceRoot":"","sources":["../../src/mod-service/expiring-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;AAEpD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,EAAE,CAAA;CACd,CAAA;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"expiring-tags.d.ts","sourceRoot":"","sources":["../../src/mod-service/expiring-tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,WAAW,CAAC,CAAA;AAEpD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,MAAM,EAAE,CAAA;CACd,CAAA;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE;IACN,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE;IACN,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf,GACA,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EAAE,GACZ,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,QAAQ,GACX,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAiC7B"}
|
|
@@ -5,6 +5,7 @@ export async function insertExpiringTags(db, params) {
|
|
|
5
5
|
eventId: params.eventId,
|
|
6
6
|
did: params.did,
|
|
7
7
|
recordPath: params.recordPath,
|
|
8
|
+
convoId: params.convoId,
|
|
8
9
|
tag,
|
|
9
10
|
expiresAt: params.expiresAt,
|
|
10
11
|
createdBy: params.createdBy,
|
|
@@ -16,6 +17,7 @@ export async function removeExpiringTags(db, params) {
|
|
|
16
17
|
.deleteFrom('expiring_tag')
|
|
17
18
|
.where('did', '=', params.did)
|
|
18
19
|
.where('recordPath', '=', params.recordPath)
|
|
20
|
+
.where('convoId', '=', params.convoId)
|
|
19
21
|
.where('tag', 'in', params.tags)
|
|
20
22
|
.execute();
|
|
21
23
|
}
|
|
@@ -31,15 +33,16 @@ export async function getExpiredTags(db) {
|
|
|
31
33
|
.execute();
|
|
32
34
|
if (!rows.length)
|
|
33
35
|
return [];
|
|
34
|
-
// Group by (did, recordPath, createdBy) so each reversal event has the correct author
|
|
36
|
+
// Group by (did, recordPath, convoId, createdBy) so each reversal event has the correct author
|
|
35
37
|
const grouped = new Map();
|
|
36
38
|
for (const row of rows) {
|
|
37
|
-
const key = `${row.did}|${row.recordPath}|${row.createdBy}`;
|
|
39
|
+
const key = `${row.did}|${row.recordPath}|${row.convoId}|${row.createdBy}`;
|
|
38
40
|
let group = grouped.get(key);
|
|
39
41
|
if (!group) {
|
|
40
42
|
group = {
|
|
41
43
|
did: row.did,
|
|
42
44
|
recordPath: row.recordPath,
|
|
45
|
+
convoId: row.convoId,
|
|
43
46
|
createdBy: row.createdBy,
|
|
44
47
|
tags: [],
|
|
45
48
|
ids: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expiring-tags.js","sourceRoot":"","sources":["../../src/mod-service/expiring-tags.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"expiring-tags.js","sourceRoot":"","sources":["../../src/mod-service/expiring-tags.ts"],"names":[],"mappings":"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","sourcesContent":["import { Selectable } from 'kysely'\nimport { Database } from '../db/index.js'\nimport { ExpiringTag } from '../db/schema/expiring_tag.js'\n\nexport type ExpiringTagRow = Selectable<ExpiringTag>\n\nexport type ExpiringTagGroup = {\n did: string\n recordPath: string\n convoId: string\n createdBy: string\n tags: string[]\n ids: number[]\n}\n\nexport async function insertExpiringTags(\n db: Database,\n params: {\n eventId: number\n did: string\n recordPath: string\n convoId: string\n tags: string[]\n expiresAt: string\n createdBy: string\n },\n): Promise<void> {\n await db.db\n .insertInto('expiring_tag')\n .values(\n params.tags.map((tag) => ({\n eventId: params.eventId,\n did: params.did,\n recordPath: params.recordPath,\n convoId: params.convoId,\n tag,\n expiresAt: params.expiresAt,\n createdBy: params.createdBy,\n })),\n )\n .execute()\n}\n\nexport async function removeExpiringTags(\n db: Database,\n params: {\n did: string\n recordPath: string\n convoId: string\n tags: string[]\n },\n): Promise<void> {\n await db.db\n .deleteFrom('expiring_tag')\n .where('did', '=', params.did)\n .where('recordPath', '=', params.recordPath)\n .where('convoId', '=', params.convoId)\n .where('tag', 'in', params.tags)\n .execute()\n}\n\nexport async function deleteExpiringTagsByIds(\n db: Database,\n ids: number[],\n): Promise<void> {\n await db.db.deleteFrom('expiring_tag').where('id', 'in', ids).execute()\n}\n\nexport async function getExpiredTags(\n db: Database,\n): Promise<ExpiringTagGroup[]> {\n const now = new Date().toISOString()\n const rows = await db.db\n .selectFrom('expiring_tag')\n .where('expiresAt', '<', now)\n .selectAll()\n .execute()\n\n if (!rows.length) return []\n\n // Group by (did, recordPath, convoId, createdBy) so each reversal event has the correct author\n const grouped = new Map<string, ExpiringTagGroup>()\n for (const row of rows) {\n const key = `${row.did}|${row.recordPath}|${row.convoId}|${row.createdBy}`\n let group = grouped.get(key)\n if (!group) {\n group = {\n did: row.did,\n recordPath: row.recordPath,\n convoId: row.convoId,\n createdBy: row.createdBy,\n tags: [],\n ids: [],\n }\n grouped.set(key, group)\n }\n if (!group.tags.includes(row.tag)) {\n group.tags.push(row.tag)\n }\n group.ids.push(row.id)\n }\n\n return [...grouped.values()]\n}\n"]}
|
|
@@ -100,6 +100,7 @@ export declare class ModerationService {
|
|
|
100
100
|
hostingDeactivatedAt: string | null;
|
|
101
101
|
hostingReactivatedAt: string | null;
|
|
102
102
|
ageAssuranceState: string;
|
|
103
|
+
convoId: string;
|
|
103
104
|
priorityScore: number | undefined;
|
|
104
105
|
ageAssuranceUpdatedBy: string | null | undefined;
|
|
105
106
|
}[]>;
|
|
@@ -119,7 +120,7 @@ export declare class ModerationService {
|
|
|
119
120
|
getLastReversibleEventForSubject(subject: ReversalSubject): Promise<{
|
|
120
121
|
id: number;
|
|
121
122
|
action: "tools.ozone.moderation.defs#modEventTakedown" | "tools.ozone.moderation.defs#modEventReverseTakedown" | "tools.ozone.moderation.defs#modEventComment" | "tools.ozone.moderation.defs#modEventReport" | "tools.ozone.moderation.defs#modEventLabel" | "tools.ozone.moderation.defs#modEventAcknowledge" | "tools.ozone.moderation.defs#modEventEscalate" | "tools.ozone.moderation.defs#modEventMute" | "tools.ozone.moderation.defs#modEventUnmute" | "tools.ozone.moderation.defs#modEventMuteReporter" | "tools.ozone.moderation.defs#modEventUnmuteReporter" | "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" | "tools.ozone.moderation.defs#modEventPriorityScore" | "tools.ozone.moderation.defs#revokeAccountCredentialsEvent" | "tools.ozone.moderation.defs#ageAssuranceEvent" | "tools.ozone.moderation.defs#ageAssuranceOverrideEvent" | "tools.ozone.moderation.defs#ageAssurancePurgeEvent";
|
|
122
|
-
subjectType: "com.atproto.repo.strongRef" | "com.atproto.admin.defs#repoRef" | "chat.bsky.convo.defs#messageRef";
|
|
123
|
+
subjectType: "com.atproto.repo.strongRef" | "com.atproto.admin.defs#repoRef" | "chat.bsky.convo.defs#convoRef" | "chat.bsky.convo.defs#messageRef";
|
|
123
124
|
subjectDid: string;
|
|
124
125
|
subjectUri: string | null;
|
|
125
126
|
subjectCid: string | null;
|
|
@@ -144,6 +145,7 @@ export declare class ModerationService {
|
|
|
144
145
|
strikeCount: number | null;
|
|
145
146
|
strikeExpiresAt: string | null;
|
|
146
147
|
externalId: string | null;
|
|
148
|
+
subjectConvoId: string | null;
|
|
147
149
|
} | null | undefined>;
|
|
148
150
|
getSubjectsDueForReversal(): Promise<ReversalSubject[]>;
|
|
149
151
|
isSubjectSuspended(did: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mod-service/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mod-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,23 +72,39 @@ export class ModerationService {
|
|
|
72
72
|
let builder = this.db.db.selectFrom('moderation_event').selectAll();
|
|
73
73
|
if (subject) {
|
|
74
74
|
const isSubjectAtUri = subject.startsWith('at://');
|
|
75
|
+
const subjectAtUri = isSubjectAtUri ? new AtUri(subject) : null;
|
|
75
76
|
const subjectDid = isSubjectAtUri ? new AtUri(subject).hostname : subject;
|
|
76
77
|
const subjectUri = isSubjectAtUri ? subject : null;
|
|
77
78
|
// regardless of subjectUri check, we always want to query against subjectDid column since that's indexed
|
|
78
79
|
builder = builder.where('subjectDid', '=', subjectDid);
|
|
79
|
-
//
|
|
80
|
+
// subjectUri or subjectConvoId
|
|
80
81
|
if (!includeAllUserRecords) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
if (subjectAtUri?.collection === 'chat.bsky.convo') {
|
|
83
|
+
builder = builder.where('subjectConvoId', '=', subjectAtUri.rkey);
|
|
84
|
+
}
|
|
85
|
+
else if (subjectUri) {
|
|
86
|
+
builder = builder.where('subjectUri', '=', subjectUri);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
// Account-level: subjectUri IS NULL also matches conversation events,
|
|
90
|
+
// so explicitly exclude them.
|
|
91
|
+
builder = builder
|
|
92
|
+
.where('subjectUri', 'is', null)
|
|
93
|
+
.where('subjectConvoId', 'is', null);
|
|
94
|
+
}
|
|
84
95
|
}
|
|
85
96
|
}
|
|
86
97
|
else if (subjectType === 'account') {
|
|
87
|
-
builder = builder
|
|
98
|
+
builder = builder
|
|
99
|
+
.where('subjectUri', 'is', null)
|
|
100
|
+
.where('subjectConvoId', 'is', null);
|
|
88
101
|
}
|
|
89
102
|
else if (subjectType === 'record') {
|
|
90
103
|
builder = builder.where('subjectUri', 'is not', null);
|
|
91
104
|
}
|
|
105
|
+
else if (subjectType === 'conversation') {
|
|
106
|
+
builder = builder.where('subjectConvoId', 'is not', null);
|
|
107
|
+
}
|
|
92
108
|
// If subjectType is set to 'account' let that take priority and ignore collections filter
|
|
93
109
|
if (collections.length && subjectType !== 'account') {
|
|
94
110
|
builder = builder.where('subjectUri', 'is not', null).where((qb) => {
|
|
@@ -245,7 +261,7 @@ export class ModerationService {
|
|
|
245
261
|
const subjectsToBeResolved = await this.db.db
|
|
246
262
|
.selectFrom('moderation_subject_status')
|
|
247
263
|
.where('did', '=', did)
|
|
248
|
-
.where('recordPath', '!=', '')
|
|
264
|
+
.where((qb) => qb.where('recordPath', '!=', '').orWhere('convoId', '!=', ''))
|
|
249
265
|
.where('reviewState', 'in', [REVIEWESCALATED, REVIEWOPEN])
|
|
250
266
|
.selectAll()
|
|
251
267
|
.execute();
|
|
@@ -449,6 +465,7 @@ export class ModerationService {
|
|
|
449
465
|
subjectCid: subjectInfo.subjectCid,
|
|
450
466
|
subjectBlobCids: jsonb(subjectInfo.subjectBlobCids),
|
|
451
467
|
subjectMessageId: subjectInfo.subjectMessageId,
|
|
468
|
+
subjectConvoId: subjectInfo.subjectConvoId,
|
|
452
469
|
modTool: modTool ? jsonb(modTool) : null,
|
|
453
470
|
externalId: externalId ?? null,
|
|
454
471
|
severityLevel,
|
|
@@ -466,6 +483,7 @@ export class ModerationService {
|
|
|
466
483
|
eventId: modEvent.id,
|
|
467
484
|
did: subjectInfo.subjectDid,
|
|
468
485
|
recordPath: subjectInfo.subjectUri ?? '',
|
|
486
|
+
convoId: subjectInfo.subjectConvoId ?? '',
|
|
469
487
|
tags: event.add,
|
|
470
488
|
expiresAt,
|
|
471
489
|
createdBy,
|
|
@@ -475,6 +493,7 @@ export class ModerationService {
|
|
|
475
493
|
await removeExpiringTags(this.db, {
|
|
476
494
|
did: subjectInfo.subjectDid,
|
|
477
495
|
recordPath: subjectInfo.subjectUri ?? '',
|
|
496
|
+
convoId: subjectInfo.subjectConvoId ?? '',
|
|
478
497
|
tags: event.remove,
|
|
479
498
|
});
|
|
480
499
|
}
|
|
@@ -551,6 +570,7 @@ export class ModerationService {
|
|
|
551
570
|
.selectFrom('moderation_subject_status')
|
|
552
571
|
.where('did', '=', did)
|
|
553
572
|
.where('recordPath', '=', '')
|
|
573
|
+
.where('convoId', '=', '')
|
|
554
574
|
.where('suspendUntil', '>', new Date().toISOString())
|
|
555
575
|
.select('did')
|
|
556
576
|
.limit(1)
|
|
@@ -733,17 +753,32 @@ export class ModerationService {
|
|
|
733
753
|
const subjectInfo = getStatusIdentifierFromSubject(subject);
|
|
734
754
|
builder = builder.where('moderation_subject_status.did', '=', subjectInfo.did);
|
|
735
755
|
if (!includeAllUserRecords) {
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
756
|
+
if (subjectInfo.convoId) {
|
|
757
|
+
builder = builder.where('moderation_subject_status.convoId', '=', subjectInfo.convoId);
|
|
758
|
+
}
|
|
759
|
+
else if (subjectInfo.recordPath) {
|
|
760
|
+
builder = builder.where('moderation_subject_status.recordPath', '=', subjectInfo.recordPath);
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
// Account-level: recordPath = '' also matches conversation statuses,
|
|
764
|
+
// so explicitly exclude them.
|
|
765
|
+
builder = builder
|
|
766
|
+
.where('moderation_subject_status.recordPath', '=', '')
|
|
767
|
+
.where('moderation_subject_status.convoId', '=', '');
|
|
768
|
+
}
|
|
739
769
|
}
|
|
740
770
|
}
|
|
741
771
|
else if (subjectType === 'account') {
|
|
742
|
-
builder = builder
|
|
772
|
+
builder = builder
|
|
773
|
+
.where('moderation_subject_status.recordPath', '=', '')
|
|
774
|
+
.where('moderation_subject_status.convoId', '=', '');
|
|
743
775
|
}
|
|
744
776
|
else if (subjectType === 'record') {
|
|
745
777
|
builder = builder.where('moderation_subject_status.recordPath', '!=', '');
|
|
746
778
|
}
|
|
779
|
+
else if (subjectType === 'conversation') {
|
|
780
|
+
builder = builder.where('moderation_subject_status.convoId', '!=', '');
|
|
781
|
+
}
|
|
747
782
|
// Only fetch items that belongs to the specified queue when specified
|
|
748
783
|
if (!subject &&
|
|
749
784
|
queueCount &&
|
|
@@ -895,6 +930,7 @@ export class ModerationService {
|
|
|
895
930
|
.selectFrom('moderation_subject_status')
|
|
896
931
|
.where('did', '=', subject.did)
|
|
897
932
|
.where('recordPath', '=', subject.recordPath ?? '')
|
|
933
|
+
.where('convoId', '=', subject.convoId ?? '')
|
|
898
934
|
.selectAll()
|
|
899
935
|
.executeTakeFirst();
|
|
900
936
|
return result ?? null;
|
|
@@ -906,6 +942,7 @@ export class ModerationService {
|
|
|
906
942
|
.selectFrom('moderation_subject_status')
|
|
907
943
|
.where('did', '=', did)
|
|
908
944
|
.where('recordPath', '=', '')
|
|
945
|
+
.where('convoId', '=', '')
|
|
909
946
|
.where('muteReportingUntil', '>', new Date().toISOString())
|
|
910
947
|
.select(sql `true`.as('status'))
|
|
911
948
|
.executeTakeFirst();
|
|
@@ -917,6 +954,7 @@ export class ModerationService {
|
|
|
917
954
|
.selectFrom('moderation_subject_status')
|
|
918
955
|
.where('did', '=', did)
|
|
919
956
|
.where('recordPath', '=', '')
|
|
957
|
+
.where('convoId', '=', '')
|
|
920
958
|
.where('muteUntil', '>', new Date().toISOString())
|
|
921
959
|
.select(sql `true`.as('status'))
|
|
922
960
|
.executeTakeFirst();
|