feat : update member

Deskripsi:
- update api member
- update type member
- update list member
- update create member
- update edit member
- update active and non active

No Issue
This commit is contained in:
lukman
2024-08-12 11:59:44 +08:00
parent 655df62dc6
commit 43c4690a28
23 changed files with 619 additions and 592 deletions

View File

@@ -1,10 +1,12 @@
import { ViewDetailMember } from "@/module/user/member";
import { NavbarDetailMember } from "@/module/user/member";
import { Box } from "@mantine/core";
function Page({ params }: { params: { id: string } }) {
return (
<ViewDetailMember data={params.id} />
)
return (
<Box>
<NavbarDetailMember id={params.id} />
</Box>
);
}
export default Page;

View File

@@ -1,9 +1,14 @@
import { ViewCreateMember } from "@/module/user/member";
import { LayoutNavbarNew } from "@/module/_global";
import { CreateMember } from "@/module/user/member";
import { Box } from "@mantine/core";
function Page() {
return (
<ViewCreateMember />
);
return (
<Box>
<LayoutNavbarNew back="" title="Tambah Anggota" menu={<></>} />
<CreateMember />
</Box>
);
}
export default Page;
export default Page;

View File

@@ -1,9 +1,14 @@
import { ViewEditMember } from "@/module/user/member";
import { LayoutNavbarNew } from "@/module/_global";
import { EditMember } from "@/module/user/member";
import { Box } from "@mantine/core";
function Page({ params }: { params: { id: string } }) {
return (
<ViewEditMember data={params.id}/>
)
return (
<Box>
<LayoutNavbarNew back="" title="Edit Anggota" menu={<></>} />
<EditMember id={params.id} />
</Box>
);
}
export default Page;
export default Page;

View File

@@ -1,13 +1,16 @@
import { ViewFilter } from "@/module/_global";
import { ViewListMember } from "@/module/user/member";
import { ListMember, NavbarListMember } from "@/module/user/member";
import { Box } from "@mantine/core";
function Page({ searchParams }: { searchParams: { page: string } }) {
if (searchParams.page == "filter")
return <ViewFilter linkFilter="member"/>
return (
<ViewListMember />
)
if (searchParams.page == "filter") return <ViewFilter linkFilter="member" />;
return (
<Box>
<NavbarListMember />
<ListMember />
</Box>
);
}
export default Page;
export default Page;

View File

@@ -0,0 +1,23 @@
import { prisma } from "@/module/_global";
import { funGetUserByCookies } from "@/module/auth";
import { NextResponse } from "next/server";
export async function GET(request: Request) {
try {
const user = await funGetUserByCookies()
if (user.id == undefined) {
return NextResponse.json({ success: false, message: "Anda harus login untuk mengakses ini" }, { status: 401 });
}
const res = await prisma.userRole.findMany({
select: {
id: true,
name: true,
},
});
return NextResponse.json({ success: true, message: "Berhasil role user", data: res, }, { status: 200 });
} catch (error) {
console.error(error);
return NextResponse.json({ success: false, message: "Gagal mendapatkan role user, coba lagi nanti", reason: (error as Error).message, }, { status: 500 });
}
}

View File

@@ -61,7 +61,7 @@ export async function GET(request: Request, context: { params: { id: string } })
{
success: true,
message: "Berhasil mendapatkan anggota",
omitData,
data: omitData,
},
{ status: 200 }
);

View File

@@ -54,8 +54,9 @@ export async function GET(request: Request) {
});
const allData = users.map((v: any) => ({
..._.omit(v, ["Group"]),
group: v.Group.name
..._.omit(v, ["Group", "Position" ]),
group: v.Group.name,
position: v.Position.name
}))
return NextResponse.json({ success: true, message: "Berhasil member", data: allData, }, { status: 200 });