53 lines
1011 B
TypeScript
53 lines
1011 B
TypeScript
export interface CloudType {
|
|
id: number
|
|
name: string
|
|
name_en: string
|
|
genus: string
|
|
rarity: 'common' | 'uncommon' | 'rare'
|
|
description: string | null
|
|
icon_url: string | null
|
|
created_at: string
|
|
}
|
|
|
|
export interface Cloud {
|
|
id: string
|
|
user_id: string
|
|
cloud_type_id: number
|
|
image_url: string
|
|
thumbnail_url: string | null
|
|
latitude: number | null
|
|
longitude: number | null
|
|
location_name: string | null
|
|
weather: string | null
|
|
status: 'pending' | 'approved' | 'rejected'
|
|
is_hidden: boolean
|
|
created_at: string
|
|
cloud_types?: CloudType
|
|
profiles?: Profile
|
|
}
|
|
|
|
export interface Profile {
|
|
id: string
|
|
username: string
|
|
avatar_url: string | null
|
|
role: 'user' | 'admin'
|
|
is_disabled: boolean
|
|
created_at: string
|
|
}
|
|
|
|
export interface UserCollection {
|
|
id: string
|
|
user_id: string
|
|
cloud_type_id: number
|
|
first_cloud_id: string | null
|
|
unlocked_at: string
|
|
}
|
|
|
|
export interface Reaction {
|
|
id: string
|
|
user_id: string
|
|
cloud_id: string
|
|
emoji: string
|
|
created_at: string
|
|
}
|