Refactor/rewrite the entire moderation-application system
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import {
|
||||
AppBskyEmbedRecord,
|
||||
AppBskyEmbedRecordWithMedia,
|
||||
// AppBskyEmbedRecord,
|
||||
// AppBskyEmbedRecordWithMedia,
|
||||
moderatePost,
|
||||
} from '@atproto/api'
|
||||
|
||||
@@ -13,10 +13,11 @@ export function moderatePost_wrapped(
|
||||
subject: Parameters<ModeratePost>[0],
|
||||
opts: Options,
|
||||
) {
|
||||
const {hiddenPosts = [], ...options} = opts
|
||||
const moderations = moderatePost(subject, options)
|
||||
// const {hiddenPosts = [], ...options} = opts
|
||||
const moderations = moderatePost(subject, opts) // options)
|
||||
|
||||
if (hiddenPosts.includes(subject.uri)) {
|
||||
// TODO
|
||||
/*if (hiddenPosts.includes(subject.uri)) {
|
||||
moderations.content.filter = true
|
||||
moderations.content.blur = true
|
||||
if (!moderations.content.cause) {
|
||||
@@ -52,7 +53,7 @@ export function moderatePost_wrapped(
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
return moderations
|
||||
}
|
||||
|
||||
+1
-65
@@ -1,68 +1,4 @@
|
||||
import {
|
||||
ModerationCause,
|
||||
ProfileModeration,
|
||||
PostModeration,
|
||||
LABEL_GROUPS,
|
||||
LabelGroupDefinition,
|
||||
} from '@atproto/api'
|
||||
|
||||
export function getProfileModerationCauses(
|
||||
moderation: ProfileModeration,
|
||||
): ModerationCause[] {
|
||||
/*
|
||||
Gather everything on profile and account that blurs or alerts
|
||||
*/
|
||||
return [
|
||||
moderation.decisions.profile.cause,
|
||||
...moderation.decisions.profile.additionalCauses,
|
||||
moderation.decisions.account.cause,
|
||||
...moderation.decisions.account.additionalCauses,
|
||||
].filter(cause => {
|
||||
if (!cause) {
|
||||
return false
|
||||
}
|
||||
if (cause?.type === 'label') {
|
||||
if (
|
||||
cause.labelDef.onwarn === 'blur' ||
|
||||
cause.labelDef.onwarn === 'alert'
|
||||
) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}) as ModerationCause[]
|
||||
}
|
||||
|
||||
export function isPostMediaBlurred(
|
||||
decisions: PostModeration['decisions'],
|
||||
): boolean {
|
||||
return decisions.post.blurMedia
|
||||
}
|
||||
|
||||
export function isQuoteBlurred(
|
||||
decisions: PostModeration['decisions'],
|
||||
): boolean {
|
||||
return (
|
||||
decisions.quote?.blur ||
|
||||
decisions.quote?.blurMedia ||
|
||||
decisions.quote?.filter ||
|
||||
decisions.quotedAccount?.blur ||
|
||||
decisions.quotedAccount?.filter ||
|
||||
false
|
||||
)
|
||||
}
|
||||
|
||||
export function isCauseALabelOnUri(
|
||||
cause: ModerationCause | undefined,
|
||||
uri: string,
|
||||
): boolean {
|
||||
if (cause?.type !== 'label') {
|
||||
return false
|
||||
}
|
||||
return cause.label.uri === uri
|
||||
}
|
||||
import {ModerationCause, LABEL_GROUPS, LabelGroupDefinition} from '@atproto/api'
|
||||
|
||||
export function getModerationCauseKey(cause: ModerationCause): string {
|
||||
const source =
|
||||
|
||||
Reference in New Issue
Block a user