import { Zone } from '@prisma/client'; import prisma from '../utilities/Prisma'; // Import the global Prisma instance class ZoneRepository { async getFirst(): Promise { try { return await prisma.zone.findFirst(); } catch (error: any) { // Handle error throw new Error(`Failed to get first zone: ${error.message}`); } } async getAll(): Promise { try { return await prisma.zone.findMany(); } catch (error: any) { // Handle error throw new Error(`Failed to get all zone: ${error.message}`); } } async getById(id: number): Promise { try { return await prisma.zone.findUnique({ where: { id: id } }); } catch (error: any) { // Handle error throw new Error(`Failed to get zone by id: ${error.message}`); } } async create(name: string, width: number, height: number, tiles: any): Promise { try { return await prisma.zone.create({ data: { name: name, width: width, height: height, tiles: tiles } }); } catch (error: any) { // Handle error throw new Error(`Failed to create zone: ${error.message}`); } } } export default new ZoneRepository;