Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 'use server'; import { revalidatePath } from 'next/cache'; import { requireSession } from '@/lib/session'; import { assignSubtype } from '@/lib/products'; import { logActivity } from '@/lib/activity'; export type ActionState = { error?: string; success?: string }; export async function assignCategoryAction(_prev: ActionState, formData: FormData): Promise<ActionState> { const session = await requireSession(); const productId = String(formData.get('productId') ?? ''); const subtypeId = String(formData.get('subtypeId') ?? ''); if (!productId) return { error: 'Missing product id' }; if (!subtypeId) return { error: 'กรุณาเลือกประเภทสินค้า' }; await assignSubtype({ productId, subtypeId }); await logActivity({ userId: session.sub, action: 'product.categorize', detail: `${productId} → ${subtypeId}` }); revalidatePath('/categorization'); return { success: 'ย้ายสินค้าเข้าหมวดเรียบร้อย' }; } |