-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
media-request.ts
62 lines (56 loc) · 1.07 KB
/
media-request.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
export interface MediaRequest {
id: number;
name: string;
type: "movie" | "tv";
backdropImageUrl: string;
posterImagePath: string;
href: string;
createdAt: Date;
airDate?: Date;
status: MediaRequestStatus;
availability: MediaAvailability;
requestedBy?: Omit<RequestUser, "requestCount">;
}
export interface MediaRequestList {
integration: {
id: string;
};
medias: MediaRequest[];
}
export interface RequestStats {
total: number;
movie: number;
tv: number;
pending: number;
approved: number;
declined: number;
processing: number;
available: number;
}
export interface RequestUser {
id: number;
displayName: string;
avatar: string;
requestCount: number;
link: string;
}
export interface MediaRequestStats {
integration: {
kind: string;
name: string;
};
stats: RequestStats;
users: RequestUser[];
}
export enum MediaRequestStatus {
PendingApproval = 1,
Approved = 2,
Declined = 3,
}
export enum MediaAvailability {
Unknown = 1,
Pending = 2,
Processing = 3,
PartiallyAvailable = 4,
Available = 5,
}