'use server' import {ApiResponse, ExtraResp} from '@/lib/api' import {callByUser} from './base' import {listAnnouncements} from './announcement' type statisticsResourceUsageReq = { time_start?: Date time_end?: Date } type statisticsResourceUsageResp = { date: string count: number }[] export async function statisticsResourceUsage(props: statisticsResourceUsageReq) { return await callByUser('/api/resource/statistics/usage', props) } export async function statisticsResourceFree() { return await callByUser<{ long: { resource_count: number resource_daily_free_sum: number resource_quota_sum: number } short: { resource_count: number resource_daily_free_sum: number resource_quota_sum: number } }>('/api/resource/statistics/free') } type listInitializationResp = { anno: ExtraResp free: ExtraResp usage: ExtraResp } export async function listInitialization(): Promise> { const free = await statisticsResourceFree() if (!free.success) { return { success: false, status: 500, message: '套餐剩余数据获取失败', } } const anno = await listAnnouncements({ page: 1, size: 5, }) if (!anno.success) { return { success: false, status: 500, message: '公告数据获取失败', } } const usage = await statisticsResourceUsage({}) if (!usage.success) { return { success: false, status: 500, message: '套餐用量数据获取失败', } } const data = { anno: anno.data, free: free.data, usage: usage.data, } return { success: true, data: data, } }