48 lines
1.2 KiB
TypeScript
48 lines
1.2 KiB
TypeScript
"use server"
|
|
|
|
import type { PageRecord } from "@/lib/api"
|
|
import type { Article, UploadImageResult } from "@/models/article"
|
|
import { callByUser, callByUserUpload } from "./base"
|
|
|
|
export async function getArticlePage(params: { page: number; size: number }) {
|
|
return callByUser<PageRecord<Article>>("/api/admin/article/page", params)
|
|
}
|
|
|
|
export async function getArticle(id: number) {
|
|
return callByUser<Article>("/api/admin/article/get", { id })
|
|
}
|
|
|
|
export async function createArticle(data: {
|
|
title: string
|
|
group_id: number
|
|
content?: string
|
|
sort?: number
|
|
status?: number
|
|
}) {
|
|
return callByUser<Article>("/api/admin/article/create", data)
|
|
}
|
|
|
|
export async function updateArticle(data: {
|
|
id: number
|
|
title?: string
|
|
content?: string
|
|
group_id?: number
|
|
sort?: number
|
|
status?: number
|
|
}) {
|
|
return callByUser<Article>("/api/admin/article/update", data)
|
|
}
|
|
|
|
export async function removeArticle(id: number) {
|
|
return callByUser<void>("/api/admin/article/remove", { id })
|
|
}
|
|
|
|
export async function uploadArticleImage(file: File) {
|
|
const formData = new FormData()
|
|
formData.append("file", file)
|
|
return callByUserUpload<UploadImageResult>(
|
|
"/api/admin/article/upload",
|
|
formData,
|
|
)
|
|
}
|