diff options
author | Eric Bailey <git@esb.lol> | 2025-04-10 17:04:45 -0500 |
---|---|---|
committer | Eric Bailey <git@esb.lol> | 2025-04-10 17:05:11 -0500 |
commit | 238b00d19331a9032125a5928764f6df41245d3f (patch) | |
tree | d3e6c39730ad7bc212a0094274f9486f33c12178 | |
parent | bf69672674cfff39e8796b60c9f37dc7f0c9d53a (diff) | |
download | voidsky-238b00d19331a9032125a5928764f6df41245d3f.tar.zst |
Configure moderation
-rw-r--r-- | src/state/session/additional-moderation-authorities.ts | 79 |
1 files changed, 67 insertions, 12 deletions
diff --git a/src/state/session/additional-moderation-authorities.ts b/src/state/session/additional-moderation-authorities.ts index ef27079e8..70d370702 100644 --- a/src/state/session/additional-moderation-authorities.ts +++ b/src/state/session/additional-moderation-authorities.ts @@ -3,33 +3,88 @@ import {BskyAgent} from '@atproto/api' import {logger} from '#/logger' import {device} from '#/storage' -export const BR_LABELER = 'did:plc:ekitcvx7uwnauoqy5oest3hm' -export const DE_LABELER = 'did:plc:r55ow3tocux5kafs5dq445fy' -export const ADDITIONAL_LABELERS_MAP: { +export const BR_LABELER = 'did:plc:ekitcvx7uwnauoqy5oest3hm' // Brazil +export const DE_LABELER = 'did:plc:r55ow3tocux5kafs5dq445fy' // Germany +export const RU_LABELER = 'did:plc:crm2agcxvvlj6hilnjdc4hox' // Russia +export const UK_LABELER = 'did:plc:gvkp7euswjjrctjmqwhhfzif' // United Kingdom +export const AU_LABELER = 'did:plc:dsynw7isrf2eqlhcjx3ffnmt' // Australia +export const TR_LABELER = 'did:plc:cquoj7aozvmkud2gifeinkda' // Turkey +export const JP_LABELER = 'did:plc:vhgppeyjwgrr37vm4v6ggd5a' // Japan +export const ES_LABELER = 'did:plc:zlbbuj5nov4ixhvgl3bj47em' // Spain +export const PK_LABELER = 'did:plc:zrp6a3tvprrsgawsbswbxu7m' // Pakistan +export const IN_LABELER = 'did:plc:srr4rdvgzkbx6t7fxqtt6j5t' // India + +/** + * For all EU countries + */ +export const EU_LABELER = 'did:plc:z57lz5dhgz2dkjogoysm3vut' + +const MODERATION_AUTHORITIES: { [countryCode: string]: string[] } = { - BR: [BR_LABELER], - DE: [DE_LABELER], + BR: [BR_LABELER], // Brazil + RU: [RU_LABELER], // Russia + UK: [UK_LABELER], // United Kingdom + AU: [AU_LABELER], // Australia + TR: [TR_LABELER], // Turkey + JP: [JP_LABELER], // Japan + PK: [PK_LABELER], // Pakistan + IN: [IN_LABELER], // India + + // EU countries + AT: [EU_LABELER], // Austria + BE: [EU_LABELER], // Belgium + BG: [EU_LABELER], // Bulgaria + HR: [EU_LABELER], // Croatia + CY: [EU_LABELER], // Cyprus + CZ: [EU_LABELER], // Czech Republic + DK: [EU_LABELER], // Denmark + EE: [EU_LABELER], // Estonia + FI: [EU_LABELER], // Finland + FR: [EU_LABELER], // France + DE: [EU_LABELER, DE_LABELER], // Germany + GR: [EU_LABELER], // Greece + HU: [EU_LABELER], // Hungary + IE: [EU_LABELER], // Ireland + IT: [EU_LABELER], // Italy + LV: [EU_LABELER], // Latvia + LT: [EU_LABELER], // Lithuania + LU: [EU_LABELER], // Luxembourg + MT: [EU_LABELER], // Malta + NL: [EU_LABELER], // Netherlands + PL: [EU_LABELER], // Poland + PT: [EU_LABELER], // Portugal + RO: [EU_LABELER], // Romania + SK: [EU_LABELER], // Slovakia + SI: [EU_LABELER], // Slovenia + ES: [EU_LABELER, ES_LABELER], // Spain + SE: [EU_LABELER], // Sweden } -export const ALL_ADDITIONAL_LABELERS = Object.values( - ADDITIONAL_LABELERS_MAP, -).flat() -export const NON_CONFIGURABLE_LABELERS = [BR_LABELER, DE_LABELER] + +const MODERATION_AUTHORITIES_DIDS = Array.from( + new Set(Object.values(MODERATION_AUTHORITIES).flat()), +) export function isNonConfigurableModerationAuthority(did: string) { - return NON_CONFIGURABLE_LABELERS.includes(did) + return MODERATION_AUTHORITIES_DIDS.includes(did) } export function configureAdditionalModerationAuthorities() { const geolocation = device.get(['geolocation']) - let additionalLabelers: string[] = ALL_ADDITIONAL_LABELERS + // default to all + let additionalLabelers: string[] = MODERATION_AUTHORITIES_DIDS if (geolocation?.countryCode) { - additionalLabelers = ADDITIONAL_LABELERS_MAP[geolocation.countryCode] ?? [] + // overwrite with only those necessary + additionalLabelers = MODERATION_AUTHORITIES[geolocation.countryCode] ?? [] } else { logger.info(`no geolocation, cannot apply mod authorities`) } + if (__DEV__) { + additionalLabelers = [] + } + const appLabelers = Array.from( new Set([...BskyAgent.appLabelers, ...additionalLabelers]), ) |