58 lines
1.0 KiB
TypeScript
58 lines
1.0 KiB
TypeScript
import type { ProductSku } from "./product_sku"
|
|
import type { User } from "./user"
|
|
|
|
type ResourceBase = {
|
|
id: number
|
|
user_id: number
|
|
resource_no: string
|
|
active: boolean
|
|
created_at: Date
|
|
updated_at: Date
|
|
deleted_at: Date | null
|
|
user: User
|
|
checkip:boolean
|
|
}
|
|
|
|
type ResourceShort = {
|
|
id: number
|
|
resource_id: number
|
|
type: number
|
|
live: number
|
|
quota: number
|
|
used: number
|
|
daily: number
|
|
last_at: Date | null
|
|
expire_at: Date
|
|
sku?: ProductSku
|
|
}
|
|
|
|
type ResourceLong = {
|
|
id: number
|
|
resource_id: number
|
|
type: number
|
|
live: number
|
|
quota: number
|
|
used: number
|
|
daily: number
|
|
last_at: Date | null
|
|
expire_at: Date
|
|
sku?: ProductSku
|
|
}
|
|
|
|
export type Resource<T extends 1 | 2 = 1 | 2> = ResourceBase &
|
|
(T extends 1
|
|
? {
|
|
type: 1
|
|
short: ResourceShort
|
|
}
|
|
: T extends 2
|
|
? {
|
|
type: 2
|
|
long: ResourceLong
|
|
}
|
|
: {})
|
|
|
|
export type Resources = Resource<1> | Resource<2>
|
|
export type ResourcesShort = ResourceShort
|
|
export type ResourcesLong = ResourceLong
|