mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2026-01-06 16:49:11 +03:00
Commit missing type file
This commit is contained in:
45
src/types/segments.model.ts
Normal file
45
src/types/segments.model.ts
Normal file
@@ -0,0 +1,45 @@
|
||||
export type SegmentUUID = string;
|
||||
export type VideoID = string;
|
||||
export type Category = string;
|
||||
export type VideoIDHash = string;
|
||||
export type IPHash = string;
|
||||
|
||||
export interface Segment {
|
||||
category: Category;
|
||||
segment: number[];
|
||||
UUID: SegmentUUID;
|
||||
}
|
||||
|
||||
export interface DBSegment {
|
||||
category: Category;
|
||||
startTime: number;
|
||||
endTime: number;
|
||||
UUID: SegmentUUID;
|
||||
votes: number;
|
||||
shadowHidden: 0 | 1;
|
||||
videoID: VideoID;
|
||||
hashedVideoID: VideoIDHash;
|
||||
}
|
||||
|
||||
export interface OverlappingSegmentGroup {
|
||||
segments: DBSegment[],
|
||||
votes: number;
|
||||
}
|
||||
|
||||
export interface VotableObject {
|
||||
votes: number;
|
||||
}
|
||||
|
||||
export interface VotableObjectWithWeight extends VotableObject {
|
||||
weight: number;
|
||||
}
|
||||
|
||||
export interface VideoData {
|
||||
hash: VideoIDHash;
|
||||
segments: Segment[];
|
||||
}
|
||||
|
||||
export interface SegmentCache {
|
||||
shadowHiddenSegmentIPs?: Record<VideoID, {hashedIP: IPHash}[]>,
|
||||
userHashedIP?: IPHash
|
||||
}
|
||||
Reference in New Issue
Block a user