157 lines
3.1 KiB
TypeScript
157 lines
3.1 KiB
TypeScript
export type E621User = {
|
|
wiki_page_version_count: number
|
|
artist_version_count: number
|
|
pool_version_count: number
|
|
forum_post_count: number
|
|
comment_count: number
|
|
flag_count: number
|
|
favorite_count: number
|
|
positive_feedback_count: number
|
|
neutral_feedback_count: number
|
|
negative_feedback_count: number
|
|
upload_limit: number
|
|
profile_about: string
|
|
profile_artinfo: string
|
|
id: number
|
|
created_at: string
|
|
name: string
|
|
level: number
|
|
base_upload_limit: number
|
|
post_upload_count: number
|
|
post_update_count: number
|
|
note_update_count: number
|
|
is_banned: boolean
|
|
can_approve_posts: boolean
|
|
can_upload_free: boolean
|
|
level_string: string
|
|
avatar_id: number
|
|
}
|
|
|
|
export type E621Post = {
|
|
id: number
|
|
created_at: string
|
|
updated_at: string
|
|
file: E621File
|
|
preview: E621PreviewFile
|
|
sample: E621SampleFile
|
|
score: E621ScoreData
|
|
tags: E621Tags
|
|
locked_tags: string[]
|
|
change_seq: number
|
|
flags: E621FlagData
|
|
rating: 's' | 'q' | 'e'
|
|
fav_count: number
|
|
sources: string[]
|
|
pools: number[]
|
|
relationships: E621PostRelationships
|
|
approver_id: number
|
|
uploader_id: number
|
|
description: string
|
|
comment_count: number
|
|
is_favorited: boolean
|
|
has_notes: boolean
|
|
duration: number | null
|
|
}
|
|
|
|
export type E621File = {
|
|
width: number
|
|
height: number
|
|
ext: 'png' | 'jpg' | 'mp4' | 'webm'
|
|
size: number
|
|
md5: string
|
|
url: string | null
|
|
}
|
|
|
|
export type E621PreviewFile = {
|
|
width: number
|
|
height: number
|
|
url: string | null
|
|
}
|
|
|
|
export type E621SampleFile = {
|
|
has: boolean
|
|
height: number
|
|
width: number
|
|
url: string | null
|
|
// Typing this will be a pain in the ass, so I skipped it for now.
|
|
alternates: any
|
|
}
|
|
|
|
export type E621ScoreData = {
|
|
up: number
|
|
down: number
|
|
total: number
|
|
}
|
|
|
|
export type E621Tags = {
|
|
general: string[]
|
|
artist: string[]
|
|
contributor: string[]
|
|
copyright: string[]
|
|
character: string[]
|
|
species: string[]
|
|
invalid: string[]
|
|
meta: string[]
|
|
lore: string[]
|
|
}
|
|
|
|
export type E621FlagData = {
|
|
pending: boolean
|
|
flagged: boolean
|
|
note_locked: boolean
|
|
status_locked: boolean
|
|
rating_locked: boolean
|
|
deleted: boolean
|
|
}
|
|
|
|
export type E621PostRelationships = {
|
|
parent_id: number | null
|
|
has_children: boolean
|
|
has_active_children: boolean
|
|
children: number[]
|
|
}
|
|
|
|
export type Ticket = {
|
|
id: number
|
|
user_id: number
|
|
user: string
|
|
claimant: string | null
|
|
target?: string
|
|
accused_id?: number
|
|
target_id: number
|
|
status: 'pending' | 'partial' | 'approved'
|
|
category: 'blip' | 'comment' | 'dmail' | 'forum' | 'pool' | 'post' | 'set' | 'user' | 'wiki'
|
|
reason: string
|
|
};
|
|
|
|
export type TicketUpdate = {
|
|
action: 'claim' | 'create' | 'unclaim' | 'update'
|
|
ticket: Ticket
|
|
};
|
|
|
|
export type Ban = {
|
|
id: number
|
|
user_id: number
|
|
banner_id: number
|
|
expires_at: string
|
|
reason: string
|
|
};
|
|
|
|
export type BanUpdate = {
|
|
action: 'create' | 'update' | 'delete'
|
|
ban: Ban
|
|
};
|
|
|
|
export type RecordCategory = 'positive' | 'negative' | 'neutral'
|
|
|
|
export type Record = {
|
|
id: number
|
|
user_id: number
|
|
creator_id: number
|
|
created_at: string
|
|
body: string
|
|
category: RecordCategory
|
|
updated_at: string
|
|
updater_id: number
|
|
is_deleted: boolean
|
|
} |