forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {logger} from '#/ageAssurance/logger'
2
3export enum AgeAssuranceAccess {
4 Unknown = 'unknown',
5 None = 'none',
6 Safe = 'safe',
7 Full = 'full',
8}
9
10export enum AgeAssuranceStatus {
11 Unknown = 'unknown',
12 Pending = 'pending',
13 Assured = 'assured',
14 Blocked = 'blocked',
15}
16
17export type AgeAssuranceState = {
18 lastInitiatedAt?: string
19 status: AgeAssuranceStatus
20 access: AgeAssuranceAccess
21 error?: 'config' // maybe other specific cases in the future
22}
23
24export function parseStatusFromString(raw: string) {
25 switch (raw) {
26 case 'unknown':
27 return AgeAssuranceStatus.Unknown
28 case 'pending':
29 return AgeAssuranceStatus.Pending
30 case 'assured':
31 return AgeAssuranceStatus.Assured
32 case 'blocked':
33 return AgeAssuranceStatus.Blocked
34 default:
35 logger.error(`parseStatusFromString: unknown status value: ${raw}`)
36 return AgeAssuranceStatus.Unknown
37 }
38}
39
40export function parseAccessFromString(raw: string) {
41 switch (raw) {
42 case 'unknown':
43 return AgeAssuranceAccess.Unknown
44 case 'none':
45 return AgeAssuranceAccess.None
46 case 'safe':
47 return AgeAssuranceAccess.Safe
48 case 'full':
49 return AgeAssuranceAccess.Full
50 default:
51 logger.error(`parseAccessFromString: unknown access value: ${raw}`)
52 return AgeAssuranceAccess.Full
53 }
54}