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 = 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