added zone demo logic for dev purposes
This commit is contained in:
parent
b3a2d8bfaa
commit
c49a2563f8
@ -1,5 +1,6 @@
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
import ZoneRepository from "./repositories/zone.repository";
|
||||
import ZoneService from "./services/zone.service";
|
||||
|
||||
interface ILoadedZone {
|
||||
zone: Zone;
|
||||
@ -23,6 +24,12 @@ class ZoneManager {
|
||||
// Method to initialize zone loading
|
||||
public async boot() {
|
||||
const zoneRepository = new ZoneRepository();
|
||||
|
||||
if (!await zoneRepository.getById(1)) {
|
||||
const zoneService = new ZoneService();
|
||||
await zoneService.createDemoZone();
|
||||
}
|
||||
|
||||
const zones = await zoneRepository.getAll();
|
||||
|
||||
for (const zone of zones) {
|
||||
|
@ -19,6 +19,35 @@ class ZoneRepository {
|
||||
throw new Error(`Failed to get all zone: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id: number): Promise<Zone | null> {
|
||||
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<Zone> {
|
||||
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 ZoneRepository;
|
@ -1,13 +1,26 @@
|
||||
import {LoadedZoneEntity} from "../entities/LoadedZoneEntity";
|
||||
import {Zone} from "@prisma/client";
|
||||
import ZoneRepository from "../repositories/zone.repository";
|
||||
|
||||
class ZoneService
|
||||
{
|
||||
public loaded: LoadedZoneEntity[] = [];
|
||||
|
||||
public boot() {
|
||||
// Load all zones
|
||||
// const zones = await new ZoneRepository().getAll();
|
||||
// this.loadedZones = zones;
|
||||
async createDemoZone(): Promise<boolean>
|
||||
{
|
||||
const zoneRepo = new ZoneRepository();
|
||||
await zoneRepo.create("Demo Zone", 10, 10, [
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 1, 1, 1, 1, 1, 1, 1, 1, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
])
|
||||
console.log("Demo zone created.");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export default ZoneService;
|
@ -26,7 +26,7 @@ async function addAuthRoutes(app: any) {
|
||||
return res.status(400).json({ message: 'Failed to register user' });
|
||||
});
|
||||
|
||||
console.log('[🕸️] Auth routes added');
|
||||
console.log('[✅] Auth routes added');
|
||||
}
|
||||
|
||||
export default { addAuthRoutes };
|
Loading…
x
Reference in New Issue
Block a user