This commit is contained in:
2025-07-21 15:23:50 +08:00
parent e2f75ff3ad
commit 9dfcda7687
31 changed files with 1001 additions and 240 deletions

View File

@@ -3,6 +3,7 @@ import PengelolaanSampah from "./pengelolaan-sampah";
import ProgramPenghijauan from "./program-penghijauan";
import DataLingkunganDesa from "./data-lingkungan-desa";
import EdukasiLingkungan from "./edukasi-lingkungan";
import KonservasiAdatBali from "./konservasi-adat-bali";
const Lingkungan = new Elysia({
prefix: "/api/lingkungan",
@@ -13,5 +14,7 @@ const Lingkungan = new Elysia({
.use(ProgramPenghijauan)
.use(DataLingkunganDesa)
.use(EdukasiLingkungan)
.use(KonservasiAdatBali)
export default Lingkungan;

View File

@@ -0,0 +1,33 @@
import prisma from "@/lib/prisma";
import { Context } from "elysia";
export default async function bentukKonservasiBerdasarkanAdatFindUnique(context: Context) {
try {
const id = context?.params?.slugs?.[0];
// If no ID provided, get the first profile
if (!id) {
const data = await prisma.bentukKonservasiBerdasarkanAdat.findFirst();
return {
success: true,
data,
};
}
const data = await prisma.bentukKonservasiBerdasarkanAdat.findUniqueOrThrow({
where: { id },
});
return {
success: true,
data,
};
} catch (error) {
console.error("Error fetching bentuk konservasi berdasarkan adat:", error);
return {
success: false,
message: error instanceof Error ? error.message : "Unknown error",
};
}
}

View File

@@ -0,0 +1,18 @@
import Elysia, { t } from "elysia";
import bentukKonservasiBerdasarkanAdatFindUnique from "./findUnique";
import bentukKonservasiBerdasarkanAdatUpdate from "./updt";
const BentukKonservasiBerdasarkanAdat = new Elysia({
prefix: "/bentukkonservasiberdasarkanadat",
tags: ["Lingkungan/Konservasi Adat Bali/Bentuk Konservasi Berdasarkan Adat"]
})
.get("/find-by-id", bentukKonservasiBerdasarkanAdatFindUnique)
.post("/update", bentukKonservasiBerdasarkanAdatUpdate, {
body: t.Object({
id: t.String(),
judul: t.String(),
deskripsi: t.String(),
})
})
export default BentukKonservasiBerdasarkanAdat

View File

@@ -0,0 +1,29 @@
import prisma from "@/lib/prisma";
import { Prisma } from "@prisma/client";
import { Context } from "elysia";
type FormCreate = Prisma.BentukKonservasiBerdasarkanAdatGetPayload<{
select: {
id: true;
judul: true;
deskripsi: true;
}
}>
export default async function bentukKonservasiBerdasarkanAdatUpdate(context: Context) {
const body = context.body as FormCreate;
await prisma.bentukKonservasiBerdasarkanAdat.update({
where: {
id: body.id
},
data: {
judul: body.judul,
deskripsi: body.deskripsi,
}
})
return {
success: true,
message: "Bentuk konservasi berdasarkan adat berhasil diupdate",
}
}

View File

@@ -0,0 +1,33 @@
import prisma from "@/lib/prisma";
import { Context } from "elysia";
export default async function filosofiTriHitaKaranaFindUnique(context: Context) {
try {
const id = context?.params?.slugs?.[0];
// If no ID provided, get the first profile
if (!id) {
const data = await prisma.filosofiTriHita.findFirst();
return {
success: true,
data,
};
}
const data = await prisma.filosofiTriHita.findUniqueOrThrow({
where: { id },
});
return {
success: true,
data,
};
} catch (error) {
console.error("Error fetching filosofi tri hita karana:", error);
return {
success: false,
message: error instanceof Error ? error.message : "Unknown error",
};
}
}

View File

@@ -0,0 +1,18 @@
import Elysia, { t } from "elysia";
import filosofiTriHitaKaranaFindUnique from "./findUnique";
import filosofiTriHitaKaranaUpdate from "./updt";
const FilosofiTriHitaKarana = new Elysia({
prefix: "/filosofitrihitakarana",
tags: ["Lingkungan/Konservasi Adat Bali/Filosofi Tri Hita Karana"]
})
.get("/find-by-id", filosofiTriHitaKaranaFindUnique)
.post("/update", filosofiTriHitaKaranaUpdate, {
body: t.Object({
id: t.String(),
judul: t.String(),
deskripsi: t.String(),
})
})
export default FilosofiTriHitaKarana

View File

@@ -0,0 +1,29 @@
import prisma from "@/lib/prisma";
import { Prisma } from "@prisma/client";
import { Context } from "elysia";
type FormCreate = Prisma.FilosofiTriHitaGetPayload<{
select: {
id: true;
judul: true;
deskripsi: true;
}
}>
export default async function filosofiTriHitaKaranaUpdate(context: Context) {
const body = context.body as FormCreate;
await prisma.filosofiTriHita.update({
where: {
id: body.id
},
data: {
judul: body.judul,
deskripsi: body.deskripsi,
}
})
return {
success: true,
message: "Filosofi tri hita karana berhasil diupdate",
}
}

View File

@@ -0,0 +1,15 @@
import Elysia from "elysia";
import BentukKonservasiBerdasarkanAdat from "./bentuk-konservasi-berdasarkan-adat";
import FilosofiTriHitaKarana from "./filosofi-tri-hita-karana";
import NilaiKonservasiAdatBali from "./nilai-konservasi-adat-bali";
const KonservasiAdatBali = new Elysia({
prefix: "/konservasiadatbali",
tags: ["Lingkungan/Konservasi Adat Bali"]
})
.use(BentukKonservasiBerdasarkanAdat)
.use(FilosofiTriHitaKarana)
.use(NilaiKonservasiAdatBali)
export default KonservasiAdatBali

View File

@@ -0,0 +1,33 @@
import prisma from "@/lib/prisma";
import { Context } from "elysia";
export default async function nilaiKonservasiAdatBaliFindUnique(context: Context) {
try {
const id = context?.params?.slugs?.[0];
// If no ID provided, get the first profile
if (!id) {
const data = await prisma.nilaiKonservasiAdat.findFirst();
return {
success: true,
data,
};
}
const data = await prisma.nilaiKonservasiAdat.findUniqueOrThrow({
where: { id },
});
return {
success: true,
data,
};
} catch (error) {
console.error("Error fetching nilai konservasi adat bali:", error);
return {
success: false,
message: error instanceof Error ? error.message : "Unknown error",
};
}
}

View File

@@ -0,0 +1,18 @@
import Elysia, { t } from "elysia";
import nilaiKonservasiAdatBaliFindUnique from "./findUnique";
import nilaiKonservasiAdatBaliUpdate from "./updt";
const NilaiKonservasiAdatBali = new Elysia({
prefix: "/nilaikonservasiadatbali",
tags: ["Lingkungan/Konservasi Adat Bali/Nilai Konservasi Adat Bali"]
})
.get("/find-by-id", nilaiKonservasiAdatBaliFindUnique)
.post("/update", nilaiKonservasiAdatBaliUpdate, {
body: t.Object({
id: t.String(),
judul: t.String(),
deskripsi: t.String(),
})
})
export default NilaiKonservasiAdatBali

View File

@@ -0,0 +1,29 @@
import prisma from "@/lib/prisma";
import { Prisma } from "@prisma/client";
import { Context } from "elysia";
type FormCreate = Prisma.NilaiKonservasiAdatGetPayload<{
select: {
id: true;
judul: true;
deskripsi: true;
}
}>
export default async function nilaiKonservasiAdatUpdate(context: Context) {
const body = context.body as FormCreate;
await prisma.nilaiKonservasiAdat.update({
where: {
id: body.id
},
data: {
judul: body.judul,
deskripsi: body.deskripsi,
}
})
return {
success: true,
message: "Nilai konservasi adat berhasil diupdate",
}
}