feat : improve import UI
This commit is contained in:
@@ -43,6 +43,10 @@ import {
|
||||
getCatalogSyncJob,
|
||||
startCatalogSyncJob,
|
||||
} from "@/lib/catalog/sync";
|
||||
import {
|
||||
getAdminTeamImportGuide,
|
||||
listAdminTeamImportGuides,
|
||||
} from "@/lib/guides/queries";
|
||||
|
||||
const serializedBlockSchema = z.strictObject({
|
||||
id: z.string().uuid(),
|
||||
@@ -275,6 +279,31 @@ export async function saveTeamSection(guideId: string, input: unknown) {
|
||||
return runGuideAction(() => saveTeams(guideId, input));
|
||||
}
|
||||
|
||||
export async function listTeamImportGuides(currentGuideId: string) {
|
||||
await requireAdmin();
|
||||
const parsed = z.string().uuid().safeParse(currentGuideId);
|
||||
if (!parsed.success) return { status: "error" as const, message: "Guide ID ไม่ถูกต้อง" };
|
||||
try {
|
||||
return { status: "success" as const, guides: await listAdminTeamImportGuides(parsed.data) };
|
||||
} catch {
|
||||
return { status: "error" as const, message: "โหลดรายการ Guide ไม่สำเร็จ" };
|
||||
}
|
||||
}
|
||||
|
||||
export async function loadTeamImportGuide(guideId: string) {
|
||||
await requireAdmin();
|
||||
const parsed = z.string().uuid().safeParse(guideId);
|
||||
if (!parsed.success) return { status: "error" as const, message: "Guide ID ไม่ถูกต้อง" };
|
||||
try {
|
||||
const guide = await getAdminTeamImportGuide(parsed.data);
|
||||
return guide
|
||||
? { status: "success" as const, guide }
|
||||
: { status: "error" as const, message: "ไม่พบ Guide นี้" };
|
||||
} catch {
|
||||
return { status: "error" as const, message: "โหลด Team จาก Guide ไม่สำเร็จ" };
|
||||
}
|
||||
}
|
||||
|
||||
export async function saveExtraSectionList(guideId: string, input: unknown) {
|
||||
await requireAdmin();
|
||||
const result = await runGuideAction(() => saveExtraSections(guideId, input));
|
||||
|
||||
Reference in New Issue
Block a user