fix: edit member

This commit is contained in:
amel
2024-08-29 11:12:57 +08:00
parent 1780f8a19b
commit ecac5b20ea
3 changed files with 33 additions and 30 deletions

View File

@@ -134,35 +134,38 @@ export async function PUT(request: Request, context: { params: { id: string } })
const data = await request.json(); const data = await request.json();
const cek = await prisma.user.count({ const cek = await prisma.user.count({
where: { where: {
nik: data.nik, nik: data.nik,
email: data.email, email: data.email,
phone: data.phone phone: data.phone,
NOT: {
id: id
}
}, },
}); });
if (cek == 0) { if (cek == 0) {
const updates = await prisma.user.update({ const updates = await prisma.user.update({
where: { where: {
id: id id: id
}, },
data: { data: {
nik: data.nik, nik: data.nik,
name: data.name, name: data.name,
phone: data.phone, phone: data.phone,
email: data.email, email: data.email,
gender: data.gender, gender: data.gender,
idGroup: data.idGroup, idGroup: data.idGroup,
idPosition: data.idPosition, idPosition: data.idPosition,
idUserRole: data.idUserRole, idUserRole: data.idUserRole,
}, },
}); });
// create log user // create log user
const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data user', table: 'user', data: data.id }) const log = await createLogUser({ act: 'UPDATE', desc: 'User mengupdate data user', table: 'user', data: data.id })
return Response.json( return Response.json(
{ success: true, message: "Sukses Update User", updates }, { success: true, message: "Sukses Update User", updates },
{ status: 200 } { status: 200 }
); );
} else { } else {
return Response.json({ success: false, message: "User sudah ada" }, { status: 400 }); return Response.json({ success: false, message: "User sudah ada" }, { status: 400 });

View File

@@ -53,10 +53,6 @@ export const funEditStatusMember = async (path: string, data: IStatusmember) =>
export const funEditMember = async (path: string, data: IEditDataMember) => { export const funEditMember = async (path: string, data: IEditDataMember) => {
if (data.name.length < 3)
return { success: false, message: 'Minimal 3 karakter' }
const response = await fetch(`/api/user/${path}`, { const response = await fetch(`/api/user/${path}`, {
method: "PUT", method: "PUT",
headers: { headers: {

View File

@@ -122,8 +122,12 @@ export default function EditMember({ id }: { id: string }) {
idUserRole: data.idUserRole idUserRole: data.idUserRole
}) })
toast.success(res.message) if (res.success) {
router.push(`/member?active=true`) toast.success(res.message)
router.push(`/member?active=true`)
} else {
toast.error(res.message)
}
} }
} catch (error) { } catch (error) {
@@ -250,10 +254,10 @@ export default function EditMember({ id }: { id: string }) {
onBlur={() => setTouched({ ...touched, nik: true })} onBlur={() => setTouched({ ...touched, nik: true })}
error={ error={
touched.nik && ( touched.nik && (
data.nik === "" ? "NIK Tidak Boleh Kosong" : data.nik === "" ? "NIK Tidak Boleh Kosong" :
data.nik.length !== 16 ? "NIK Harus 16 Karakter" : null data.nik.length !== 16 ? "NIK Harus 16 Karakter" : null
) )
} }
/> />
<TextInput <TextInput
size="md" type="text" radius={30} placeholder="Nama" withAsterisk label="Nama" w={"100%"} size="md" type="text" radius={30} placeholder="Nama" withAsterisk label="Nama" w={"100%"}
@@ -309,7 +313,7 @@ export default function EditMember({ id }: { id: string }) {
}} }}
placeholder="62xxx xxxx xxxx" placeholder="62xxx xxxx xxxx"
onChange={(e) => { onChange={(e) => {
setData({ ...data, phone: e.target.value }) setData({ ...data, phone: e.target.value })
setTouched({ ...touched, phone: false }) setTouched({ ...touched, phone: false })
}} }}
value={data.phone} value={data.phone}