forked from noxious/server
use camelcase file names from now on...
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
import { Server } from 'socket.io'
|
||||
import ZoneManager from '../managers/ZoneManager'
|
||||
import ZoneManager from '../managers/zoneManager'
|
||||
|
||||
type CommandInput = string[]
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/Types'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/types'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
type SocketResponseT = {
|
||||
character_id: number
|
@ -1,9 +1,10 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import { ZCharacterCreate } from '../../utilities/ZodTypes'
|
||||
import prisma from '../../utilities/Prisma'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
import { ZCharacterCreate } from '../../utilities/zodTypes'
|
||||
import prisma from '../../utilities/prisma'
|
||||
import logger from '../../utilities/logger'
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('character:create', async (data: any) => {
|
||||
@ -30,7 +31,7 @@ export default function (socket: TSocket, io: Server) {
|
||||
data: {
|
||||
name: data.name,
|
||||
userId: user_id,
|
||||
characterTypeId: 1 // @TODO set to chosen character type
|
||||
// characterTypeId: 1 // @TODO set to chosen character type
|
||||
}
|
||||
})
|
||||
|
||||
@ -38,8 +39,10 @@ export default function (socket: TSocket, io: Server) {
|
||||
|
||||
socket.emit('character:create:success')
|
||||
socket.emit('character:list', characters)
|
||||
|
||||
logger.info('character:create success')
|
||||
} catch (error: any) {
|
||||
console.log('character:create error', error)
|
||||
logger.error('character:create error', error)
|
||||
return socket.emit('notification', { message: 'Could not create character. Please try again (later).' })
|
||||
}
|
||||
})
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
type TypePayload = {
|
||||
character_id: number
|
@ -1,7 +1,7 @@
|
||||
import { Socket, Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
export default function CharacterList(socket: TSocket, io: Server) {
|
||||
socket.on('character:list', async (data: any) => {
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/Types'
|
||||
import ZoneManager from '../../managers/ZoneManager'
|
||||
import prisma from '../../utilities/Prisma'
|
||||
import { AStar } from '../../utilities/Player/AStar'
|
||||
import Rotation from '../../utilities/Player/Rotation'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/types'
|
||||
import ZoneManager from '../../managers/zoneManager'
|
||||
import prisma from '../../utilities/prisma'
|
||||
import { AStar } from '../../utilities/player/aStar'
|
||||
import Rotation from '../../utilities/player/rotation'
|
||||
|
||||
const moveTokens = new Map<number, symbol>()
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import ZoneRepository from '../../repositories/ZoneRepository'
|
||||
import ZoneManager from '../../managers/ZoneManager'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
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 '../../managers/ZoneManager'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
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 { getArgs, isCommand } from '../../../utilities/Chat'
|
||||
import CharacterRepository from '../../../repositories/CharacterRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { getArgs, isCommand } from '../../../utilities/chat'
|
||||
import CharacterRepository from '../../../repositories/characterRepository'
|
||||
|
||||
type TypePayload = {
|
||||
message: string
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import ZoneRepository from '../../repositories/ZoneRepository'
|
||||
import { isCommand } from '../../utilities/Chat'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
import { isCommand } from '../../utilities/chat'
|
||||
|
||||
type TypePayload = {
|
||||
message: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import ZoneManager from '../managers/ZoneManager'
|
||||
import { TSocket } from '../utilities/types'
|
||||
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 { TSocket } from '../../../utilities/types'
|
||||
import { Object } from '@prisma/client'
|
||||
import ObjectRepository from '../../../repositories/ObjectRepository'
|
||||
import ObjectRepository from '../../../repositories/objectRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface IPayload {
|
||||
object: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { writeFile } from 'node:fs/promises'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface IObjectData {
|
||||
[key: string]: Buffer
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
/**
|
||||
* Handle game master new sprite event
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Sprite } from '@prisma/client'
|
||||
import SpriteRepository from '../../../repositories/SpriteRepository'
|
||||
import SpriteRepository from '../../../repositories/spriteRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
import type { Prisma, SpriteAction } from '@prisma/client'
|
||||
import path from 'path'
|
||||
import { writeFile, mkdir } from 'node:fs/promises'
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Tile } from '@prisma/client'
|
||||
import TileRepository from '../../../repositories/TileRepository'
|
||||
import TileRepository from '../../../repositories/tileRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { writeFile } from 'node:fs/promises'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface ITileData {
|
||||
[key: string]: Buffer
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
name: string
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
zoneId: number
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Zone } from '@prisma/client'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { Zone } from '@prisma/client'
|
||||
|
||||
interface IPayload {
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { ZoneEventTile, ZoneObject } from '@prisma/client'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import zoneManager from '../../../managers/ZoneManager'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
import zoneManager from '../../../managers/zoneManager'
|
||||
|
||||
interface IPayload {
|
||||
zoneId: number
|
@ -1,5 +1,5 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import { TSocket } from '../utilities/types'
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('login', () => {
|
@ -1,4 +1,5 @@
|
||||
import { User } from '@prisma/client'
|
||||
import logger from '../utilities/logger'
|
||||
|
||||
type TLoggedInUsers = {
|
||||
users: User[]
|
||||
@ -9,7 +10,7 @@ class UserManager {
|
||||
|
||||
// Method to initialize user manager
|
||||
public async boot() {
|
||||
console.log('[✅] User manager loaded')
|
||||
logger.info('User manager loaded')
|
||||
}
|
||||
|
||||
// Function that adds user to logged in users
|
@ -1,7 +1,8 @@
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
import ZoneRepository from '../repositories/ZoneRepository'
|
||||
import ZoneService from '../services/ZoneService'
|
||||
import zoneRepository from '../repositories/ZoneRepository'
|
||||
import ZoneRepository from '../repositories/zoneRepository'
|
||||
import ZoneService from '../services/zoneService'
|
||||
import zoneRepository from '../repositories/zoneRepository'
|
||||
import logger from '../utilities/logger'
|
||||
|
||||
type TLoadedZone = {
|
||||
zone: Zone
|
||||
@ -25,7 +26,7 @@ class ZoneManager {
|
||||
await this.loadZone(zone)
|
||||
}
|
||||
|
||||
console.log('[✅] Zone manager loaded')
|
||||
logger.info('Zone manager loaded')
|
||||
}
|
||||
|
||||
// Method to handle individual zone loading
|
||||
@ -36,7 +37,7 @@ class ZoneManager {
|
||||
characters: [],
|
||||
grid
|
||||
})
|
||||
console.log(`[✅] Zone ID ${zone.id} loaded`)
|
||||
logger.info(`Zone ID ${zone.id} loaded`)
|
||||
}
|
||||
|
||||
// Method to handle individual zone unloading
|
||||
@ -44,7 +45,7 @@ class ZoneManager {
|
||||
this.loadedZones = this.loadedZones.filter((loadedZone) => {
|
||||
return loadedZone.zone.id !== zoneId
|
||||
})
|
||||
console.log(`[❌] Zone ID ${zoneId} unloaded`)
|
||||
logger.info(`Zone ID ${zoneId} unloaded`)
|
||||
}
|
||||
|
||||
// Getter for loaded zones
|
@ -1,8 +1,8 @@
|
||||
// socket io jwt auth middleware
|
||||
import { verify } from 'jsonwebtoken'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import config from '../utilities/Config'
|
||||
import UserRepository from '../repositories/UserRepository'
|
||||
import { TSocket } from '../utilities/types'
|
||||
import config from '../utilities/config'
|
||||
import UserRepository from '../repositories/userRepository'
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
export async function Authentication(socket: TSocket, next: any) {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Character } from '@prisma/client'
|
||||
|
||||
class CharacterRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Object } from '@prisma/client'
|
||||
|
||||
class ObjectRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Sprite, SpriteAction } from '@prisma/client'
|
||||
|
||||
class SpriteRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Tile } from '@prisma/client'
|
||||
|
||||
class TileRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
class UserRepository {
|
@ -1,5 +1,5 @@
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
|
||||
class ZoneRepository {
|
||||
async getFirst(): Promise<Zone | null> {
|
@ -1,22 +1,24 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import express, { Application } from 'express'
|
||||
import { createServer as httpServer } from 'http'
|
||||
import { addHttpRoutes } from './utilities/Http'
|
||||
import { createServer as httpServer, Server as HTTPServer } from 'http'
|
||||
import { addHttpRoutes } from './utilities/http'
|
||||
import cors from 'cors'
|
||||
import { Server as SocketServer } from 'socket.io'
|
||||
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 { 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'
|
||||
import logger from './utilities/logger'
|
||||
|
||||
|
||||
export class Server {
|
||||
private readonly app: Application
|
||||
private readonly http: any
|
||||
private readonly http: HTTPServer
|
||||
private readonly io: SocketServer
|
||||
|
||||
/**
|
||||
@ -39,17 +41,17 @@ export class Server {
|
||||
// Check prisma connection
|
||||
try {
|
||||
await prisma.$connect()
|
||||
console.log('[✅] Database connected')
|
||||
logger.info('Database connected')
|
||||
} catch (error: any) {
|
||||
throw new Error(`[❌] Database connection failed: ${error.message}`)
|
||||
logger.error(`Database connection failed: ${error.message}`)
|
||||
}
|
||||
|
||||
// Start the server
|
||||
try {
|
||||
await this.http.listen(config.PORT, config.HOST)
|
||||
console.log('[✅] Socket.IO running on port', config.PORT)
|
||||
logger.info(`Socket.IO running on port ${config.PORT}`)
|
||||
} catch (error: any) {
|
||||
throw new Error(`[❌] Socket.IO failed to start: ${error.message}`)
|
||||
logger.error(`Socket.IO failed to start: ${error.message}`)
|
||||
}
|
||||
|
||||
// Add http API routes
|
||||
@ -78,7 +80,7 @@ export class Server {
|
||||
try {
|
||||
await this.loadEventHandlers(eventsPath, socket)
|
||||
} catch (error: any) {
|
||||
throw new Error('[❌] Failed to load event handlers: ' + error.message)
|
||||
logger.error(`Failed to load event handlers: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,3 +103,5 @@ export class Server {
|
||||
// Start the server
|
||||
const server = new Server()
|
||||
server.start()
|
||||
|
||||
console.log('Server started')
|
@ -1,6 +1,6 @@
|
||||
import bcrypt from 'bcryptjs'
|
||||
import UserRepository from '../repositories/UserRepository'
|
||||
import prisma from '../utilities/Prisma'
|
||||
import UserRepository from '../repositories/userRepository'
|
||||
import prisma from '../utilities/prisma'
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
class UserService {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma'
|
||||
import prisma from '../utilities/prisma'
|
||||
|
||||
class ZoneService {
|
||||
async createDemoZone(): Promise<boolean> {
|
@ -1,14 +1,15 @@
|
||||
import { Application, Request, Response } from 'express'
|
||||
import UserService from '../services/UserService'
|
||||
import UserService from '../services/userService'
|
||||
import jwt from 'jsonwebtoken'
|
||||
import config from './Config'
|
||||
import { loginAccountSchema, registerAccountSchema } from './ZodTypes'
|
||||
import config from './config'
|
||||
import { loginAccountSchema, registerAccountSchema } from './zodTypes'
|
||||
import path from 'path'
|
||||
import { TAsset } from './Types'
|
||||
import tileRepository from '../repositories/TileRepository'
|
||||
import objectRepository from '../repositories/ObjectRepository'
|
||||
import spriteRepository from '../repositories/SpriteRepository'
|
||||
import { TAsset } from './types'
|
||||
import tileRepository from '../repositories/tileRepository'
|
||||
import objectRepository from '../repositories/objectRepository'
|
||||
import spriteRepository from '../repositories/spriteRepository'
|
||||
import fs from 'fs'
|
||||
import logger from './logger'
|
||||
|
||||
async function addHttpRoutes(app: Application) {
|
||||
app.get('/assets', async (req: Request, res: Response) => {
|
||||
@ -60,8 +61,6 @@ async function addHttpRoutes(app: Application) {
|
||||
assetPath = path.join(process.cwd(), 'public', assetType, fileName)
|
||||
}
|
||||
|
||||
console.log(`Attempting to serve: ${assetPath}`)
|
||||
|
||||
if (!fs.existsSync(assetPath)) {
|
||||
console.error(`File not found: ${assetPath}`)
|
||||
return res.status(404).send('Asset not found')
|
||||
@ -114,7 +113,7 @@ async function addHttpRoutes(app: Application) {
|
||||
return res.status(400).json({ message: 'Failed to register user' })
|
||||
})
|
||||
|
||||
console.log('[✅] Web routes added')
|
||||
logger.info('Web routes added')
|
||||
}
|
||||
|
||||
export { addHttpRoutes }
|
20
src/utilities/logger.ts
Normal file
20
src/utilities/logger.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import pino from 'pino'
|
||||
|
||||
const logger = pino({
|
||||
level: process.env.LOG_LEVEL || 'debug',
|
||||
transport: {
|
||||
target: 'pino/file',
|
||||
options: {
|
||||
destination: './logs/app.log',
|
||||
mkdir: true
|
||||
}
|
||||
},
|
||||
formatters: {
|
||||
level: (label) => {
|
||||
return { level: label.toUpperCase() }
|
||||
},
|
||||
},
|
||||
timestamp: pino.stdTimeFunctions.isoTime
|
||||
})
|
||||
|
||||
export default logger
|
Reference in New Issue
Block a user