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}
22
23export function parseStatusFromString(raw: string) {
24 switch (raw) {
25 case 'unknown':
26 return AgeAssuranceStatus.Unknown
27 case 'pending':
28 return AgeAssuranceStatus.Pending
29 case 'assured':
30 return AgeAssuranceStatus.Assured
31 case 'blocked':
32 return AgeAssuranceStatus.Blocked
33 default:
34 logger.error(`parseStatusFromString: unknown status value: ${raw}`)
35 return AgeAssuranceStatus.Unknown
36 }
37}
38
39export function parseAccessFromString(raw: string) {
40 switch (raw) {
41 case 'unknown':
42 return AgeAssuranceAccess.Unknown
43 case 'none':
44 return AgeAssuranceAccess.None
45 case 'safe':
46 return AgeAssuranceAccess.Safe
47 case 'full':
48 return AgeAssuranceAccess.Full
49 default:
50 logger.error(`parseAccessFromString: unknown access value: ${raw}`)
51 return AgeAssuranceAccess.Full
52 }
53}