-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.ts
115 lines (109 loc) · 2.35 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
export type DisadusUser = {
username: string;
password: string;
email: string;
firstName: string;
lastName: string;
id: string;
bio: string;
pfp?: string;
createdAt: number;
communities?: string[];
theme?: number;
primaryCommunity?: string;
community?: DisadusUserCommunities;
premiumUntil?: number;
openLinkStyle?: number;
staffLevel?: 1 | 2 | 3 | 4 | 5;
tester?: boolean;
devMode?: boolean;
pluginMode?: boolean;
tags?: string[];
};
export type DisadusUserCommunities = {
[communityName: string]: DisadusUserCommunityObject;
};
export type LMSTypes = "schoology";
export type DisadusUserCommunityObject = {
schoology?: {
key: string;
secret: string;
};
courses?: {
[courseId: string]: number;
};
};
export type CleanedDisadusUserCommunities = {
[communityName: string]: CleanedDisadusUserCommunityObject;
};
export type CleanedDisadusUserCommunityObject = {
schoology?: boolean;
courses?: {
[courseId: string]: number;
};
};
export type CleanedPrivateDisadusUser = {
id: string;
username: string;
email: string;
firstName: string;
lastName: string;
bio: string;
pfp: string;
communities: string[];
createdAt: number;
primaryCommunity: string;
community?: CleanedDisadusUserCommunities;
isAdmin: boolean;
theme: number;
staffLevel: number;
tester: boolean;
premiumUntil: number;
openLinkStyle: number;
tags?: string[];
};
export type CleanedPublicDisadusUser = {
id: string;
username: string;
email: string;
firstName: string;
lastName: string;
bio: string;
pfp: string;
premiumUntil: number;
staffLevel: number;
tester: boolean;
tags?: string[];
theme?: number;
};
export type CleanedDisadusCommunity = {
name: string;
description: string;
image: string;
id: string;
members: string[];
admins: string[];
creator: string;
createdAt: number;
colors: {
primary: string;
secondary: string;
};
provider: string;
vanitybg?: string;
plugins?: string[];
verified?: boolean;
schoology?:{
domain: string;
}
};
export type LMSUser = {
id: string;
firstName: string;
lastName: string;
username: string;
email: string;
bio: string;
pfp: string;
type: string;
};