diff --git a/prisma/schema.prisma b/prisma/schema.prisma index c2f5c11..11fcbeb 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -658,3 +658,12 @@ model DiscussionFile { createdAt DateTime @default(now()) updatedAt DateTime @updatedAt } + +model Setting{ + id String @id @default(cuid()) + name String + value String + isActive Boolean @default(true) + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt +} diff --git a/prisma/seed.ts b/prisma/seed.ts index 2931f9c..5fad216 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -1,9 +1,9 @@ -import { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole } from '@/module/seeder'; +import { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederSetting, seederTheme, seederUser, seederUserRole } from '@/module/seeder'; import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient() // DATA YG DI SEEDER MERUPAKAN DATA REAL(DARMASABA) & DATA DUMMY (MANDALA) -// DATA JSON GABUNGAN (REAL & DUMMY) ADALAH adminRole, admin, theme, desa, group, position, user, userRole, user +// DATA JSON GABUNGAN (REAL & DUMMY) ADALAH adminRole, admin, theme, desa, group, position, user, userRole, user, dan setting // Selain table yg disebutkan, data lainnya merupakan data dummy async function main() { @@ -385,6 +385,23 @@ async function main() { } }) } + + // SETTING + for (let data of seederSetting) { + await prisma.setting.upsert({ + where: { + id: data.id + }, + update: { + name: data.name, + }, + create: { + id: data.id, + name: data.name, + value: data.value + } + }) + } } main().then(async () => { diff --git a/src/app/api/mobile/user/[id]/route.ts b/src/app/api/mobile/user/[id]/route.ts index bcaf08a..4c058da 100644 --- a/src/app/api/mobile/user/[id]/route.ts +++ b/src/app/api/mobile/user/[id]/route.ts @@ -217,7 +217,7 @@ export async function PUT(request: Request, context: { params: { id: string } }) const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/app/api/mobile/user/profile/route.ts b/src/app/api/mobile/user/profile/route.ts index 5996e02..0192235 100644 --- a/src/app/api/mobile/user/profile/route.ts +++ b/src/app/api/mobile/user/profile/route.ts @@ -133,7 +133,7 @@ export async function PUT(request: Request) { const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/app/api/mobile/user/route.ts b/src/app/api/mobile/user/route.ts index 3bde016..bcae249 100644 --- a/src/app/api/mobile/user/route.ts +++ b/src/app/api/mobile/user/route.ts @@ -210,7 +210,7 @@ export async function POST(request: Request) { const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/app/api/mobile/version/route.ts b/src/app/api/mobile/version/route.ts new file mode 100644 index 0000000..4fb4aff --- /dev/null +++ b/src/app/api/mobile/version/route.ts @@ -0,0 +1,27 @@ +import { prisma } from "@/module/_global"; +import { NextResponse } from "next/server"; + +export async function GET(request: Request) { + try { + const data = await prisma.setting.findMany({ + where: { + isActive: true, + id: { + contains: "mobile_" + } + }, + select: { + id: true, + name: true, + value: true + } + }) + + console.log('data', data) + + return NextResponse.json({ success: true, data }, { status: 200 }); + } catch (error) { + console.error(error); + return NextResponse.json({ success: false, reason: (error as Error).message, }, { status: 500 }); + } +} \ No newline at end of file diff --git a/src/app/api/user/[id]/route.ts b/src/app/api/user/[id]/route.ts index bea9fb9..d3bbc85 100644 --- a/src/app/api/user/[id]/route.ts +++ b/src/app/api/user/[id]/route.ts @@ -215,7 +215,7 @@ export async function PUT(request: Request, context: { params: { id: string } }) const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/app/api/user/profile/route.ts b/src/app/api/user/profile/route.ts index 515a6c8..1206db0 100644 --- a/src/app/api/user/profile/route.ts +++ b/src/app/api/user/profile/route.ts @@ -133,7 +133,7 @@ export async function PUT(request: Request) { const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/app/api/user/route.ts b/src/app/api/user/route.ts index fd9323f..2b8c345 100644 --- a/src/app/api/user/route.ts +++ b/src/app/api/user/route.ts @@ -207,7 +207,7 @@ export async function POST(request: Request) { const resize = await sharp(imageBuffer).resize(300).toBuffer(); // Convert buffer ke Blob - const blob = new Blob([resize], { type: file.type }); + const blob = new Blob([resize as any], { type: file.type }); // Convert Blob ke File const resizedFile = new File([blob], fileName, { diff --git a/src/module/seeder/data/setting.json b/src/module/seeder/data/setting.json new file mode 100644 index 0000000..8d64e4f --- /dev/null +++ b/src/module/seeder/data/setting.json @@ -0,0 +1,22 @@ +[ + { + "id": "mobile_latest_version", + "name": "latest version", + "value": "2.0.5" + }, + { + "id": "mobile_minimum_version", + "name": "minimum version", + "value": "2.0.5" + }, + { + "id": "mobile_maintenance", + "name": "maintenance", + "value": "false" + }, + { + "id": "mobile_message_update", + "name": "message update", + "value": "Kami telah meningkatkan performa aplikasi" + } +] \ No newline at end of file diff --git a/src/module/seeder/index.ts b/src/module/seeder/index.ts index 4256eaa..4a89e3d 100644 --- a/src/module/seeder/index.ts +++ b/src/module/seeder/index.ts @@ -12,9 +12,10 @@ import seederPosition from "./data/position.json"; import seederProject from "./data/project.json"; import seederProjectMember from "./data/project_member.json"; import seederProjectTask from "./data/project_task.json"; +import seederSetting from "./data/setting.json"; import seederTheme from "./data/theme.json"; import seederUser from "./data/user.json"; import seederUserRole from "./data/user_role.json"; -export { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederTheme, seederUser, seederUserRole }; +export { seederAdmin, seederAdminRole, seederAnnouncement, seederAnnouncementMember, seederDesa, seederDiscussion, seederDiscussionMember, seederDivision, seederDivisionMember, seederGroup, seederPosition, seederProject, seederProjectMember, seederProjectTask, seederSetting, seederTheme, seederUser, seederUserRole };