Improved folder structures for better maintainability
This commit is contained in:
parent
88820178cf
commit
62b9b4ec5c
12
Dockerfile
12
Dockerfile
@ -2,7 +2,7 @@
|
||||
FROM node:22.4.1-alpine
|
||||
|
||||
# Set the working directory in the container
|
||||
WORKDIR /usr/src/app
|
||||
WORKDIR /usr/src/
|
||||
|
||||
# Copy package.json and package-lock.json (if available)
|
||||
COPY package*.json ./
|
||||
@ -26,10 +26,10 @@ RUN npm run build
|
||||
EXPOSE 80
|
||||
|
||||
# Create a shell script to run migrations and start the application
|
||||
RUN echo '#!/bin/sh' > /usr/src/app/start.sh && \
|
||||
echo 'npx prisma migrate deploy' >> /usr/src/app/start.sh && \
|
||||
echo 'node dist/server.js' >> /usr/src/app/start.sh && \
|
||||
chmod +x /usr/src/app/start.sh
|
||||
RUN echo '#!/bin/sh' > /usr/src/start.sh && \
|
||||
echo 'npx prisma migrate deploy' >> /usr/src/start.sh && \
|
||||
echo 'node dist/server.js' >> /usr/src/start.sh && \
|
||||
chmod +x /usr/src/start.sh
|
||||
|
||||
# Use the shell script as the entry point
|
||||
CMD ["/usr/src/app/start.sh"]
|
||||
CMD ["/usr/src/start.sh"]
|
@ -1,5 +0,0 @@
|
||||
version: '3'
|
||||
services:
|
||||
app:
|
||||
volumes:
|
||||
- ./persistent_data:/usr/src/app/public
|
@ -1,5 +1,5 @@
|
||||
import { Server } from "socket.io";
|
||||
import ZoneManager from "../ZoneManager";
|
||||
import ZoneManager from "../managers/ZoneManager";
|
||||
|
||||
type CommandInput = string[]
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../utilities/Types";
|
||||
import ZoneManager from "../ZoneManager";
|
||||
import ZoneManager from "../managers/ZoneManager";
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('disconnect', (data: any) => {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../utilities/Types";
|
||||
import CharacterRepository from "../../repositories/CharacterRepository";
|
||||
import ZoneManager from "../../ZoneManager";
|
||||
import ZoneManager from "../../managers/ZoneManager";
|
||||
|
||||
type SocketResponseT = {
|
||||
position_x: number,
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../utilities/Types";
|
||||
import ZoneRepository from "../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../ZoneManager";
|
||||
import ZoneManager from "../../managers/ZoneManager";
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../utilities/Types";
|
||||
import ZoneRepository from "../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../ZoneManager";
|
||||
import ZoneManager from "../../managers/ZoneManager";
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
|
||||
interface IPayload {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../../utilities/Types";
|
||||
import ZoneRepository from "../../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../../ZoneManager";
|
||||
import ZoneManager from "../../../managers/ZoneManager";
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
|
||||
interface IPayload {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../../utilities/Types";
|
||||
import ZoneRepository from "../../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../../ZoneManager";
|
||||
import ZoneManager from "../../../managers/ZoneManager";
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
|
||||
interface IPayload {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from "socket.io";
|
||||
import {TSocket} from "../../../utilities/Types";
|
||||
import ZoneRepository from "../../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../../ZoneManager";
|
||||
import ZoneManager from "../../../managers/ZoneManager";
|
||||
import { Character, Zone, ZoneEventTile, ZoneObject } from '@prisma/client'
|
||||
|
||||
interface IPayload {
|
@ -1,6 +1,6 @@
|
||||
import {Character, Zone} from "@prisma/client";
|
||||
import ZoneRepository from "./repositories/ZoneRepository";
|
||||
import ZoneService from "./services/ZoneService";
|
||||
import ZoneRepository from "../repositories/ZoneRepository";
|
||||
import ZoneService from "../services/ZoneService";
|
||||
|
||||
type TLoadedZone = {
|
||||
zone: Zone;
|
@ -2,16 +2,16 @@ import fs from "fs";
|
||||
import path from "path";
|
||||
import express, {Application} from 'express';
|
||||
import {createServer as httpServer} from 'http';
|
||||
import {addHttpRoutes} from './app/utilities/Http';
|
||||
import {addHttpRoutes} from './utilities/Http';
|
||||
import cors from 'cors';
|
||||
import {Server as SocketServer} from 'socket.io';
|
||||
import {TSocket} from "./app/utilities/Types";
|
||||
import config from './app/utilities/Config';
|
||||
import prisma from './app/utilities/Prisma';
|
||||
import ZoneManager from "./app/ZoneManager";
|
||||
import UserManager from "./app/UserManager";
|
||||
import {Authentication} from "./app/middleware/Authentication";
|
||||
import CommandManager from "./app/CommandManager";
|
||||
import {TSocket} from "./utilities/Types";
|
||||
import config from './utilities/Config';
|
||||
import prisma from './utilities/Prisma';
|
||||
import ZoneManager from "./managers/ZoneManager";
|
||||
import UserManager from "./managers/UserManager";
|
||||
import {Authentication} from "./middleware/Authentication";
|
||||
import CommandManager from "./managers/CommandManager";
|
||||
import {Dirent} from "node:fs";
|
||||
|
||||
export class Server
|
||||
|
Loading…
x
Reference in New Issue
Block a user