import type { CollectionConfig } from 'payload' import { admins, adminsOnly, adminsOrSelf, anyone } from './access' export const Users: CollectionConfig = { slug: 'users', admin: { useAsTitle: 'email', }, auth: { forgotPassword: { generateEmailHTML: ({ token }) => { const resetPasswordURL = `${process.env.SERVER_URL}/reset-password?token=${token}` return `
คุณได้รับอีเมลนี้เนื่องจากมีการขอตั้ง密码ใหม่สำหรับบัญชีของคุณ
กรุณาคลิกที่ลิงก์ด้านล่างเพื่อตั้ง密码ใหม่:
${resetPasswordURL}หากคุณไม่ได้เป็นผู้ร้องขอ กรุณาเพิกเฉยต่ออีเมลนี้
` }, }, }, access: { create: anyone, // Allow anyone to create a user account (for registration) read: adminsOrSelf, // Allow users to read their own profile, admins can read all update: adminsOrSelf, // Allow users to update their own profile, admins can update all delete: admins, // Only admins can delete users admin: adminsOnly, }, fields: [ { name: 'role', type: 'select', options: [ { label: 'ผู้ดูแลระบบ', value: 'admin' }, { label: 'ผู้ใช้งาน', value: 'user' }, ], defaultValue: 'user', required: true, access: { read: adminsOnly, create: adminsOnly, update: adminsOnly, }, }, { name: 'firstName', type: 'text', required: true, admin: { description: 'ชื่อจริง', }, }, { name: 'lastName', type: 'text', required: true, admin: { description: 'นามสกุล', }, }, // Email is added by Payload auth automatically // Password is handled by Payload auth automatically ], }