Renamed folder utilities > application, added baseEntity class, updated baseRepo class, removed prisma helper

This commit is contained in:
2024-12-25 16:50:01 +01:00
parent f5a7a348e0
commit f4746722af
120 changed files with 423 additions and 378 deletions

View File

@ -1,7 +1,7 @@
import { Server } from 'socket.io'
import { CharacterHair } from '@prisma/client'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import characterHairRepository from '#repositories/characterHairRepository'
import { CharacterHair } from '#entities/characterHair'
interface IPayload {}
@ -15,7 +15,7 @@ export default class characterHairListEvent {
this.socket.on('character:hair:list', this.handleEvent.bind(this))
}
private async handleEvent(data: IPayload, callback: (response: CharacterHair[]) => void): Promise<void> {
private async handleEvent(data: IPayload, callback: (response: CharacterHair[] | null) => void): Promise<void> {
const items = await characterHairRepository.getAllSelectable()
callback(items)
}

View File

@ -1,7 +1,7 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
import { CharacterService } from '#services/characterService'

View File

@ -1,10 +1,10 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { Character } from '@prisma/client'
import { TSocket } from '#application/types'
import { Character } from '#entities/character'
import CharacterRepository from '#repositories/characterRepository'
import { CharacterService } from '#services/characterService'
import { ZCharacterCreate } from '#utilities/zodTypes'
import { gameLogger } from '#utilities/logger'
import { ZCharacterCreate } from '#application/zodTypes'
import { gameLogger } from '#application/logger'
import { ZodError } from 'zod'
export default class CharacterCreateEvent {

View File

@ -1,8 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { Character, Zone } from '@prisma/client'
import { TSocket } from '#application/types'
import CharacterRepository from '#repositories/characterRepository'
import { CharacterService } from '#services/characterService'
import { Character } from '#entities/character'
import { Zone } from '#entities/zone'
type TypePayload = {
characterId: number

View File

@ -1,8 +1,8 @@
import { Socket, Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { Character } from '@prisma/client'
import { TSocket } from '#application/types'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import { Character } from '#entities/character'
export default class CharacterListEvent {
constructor(

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { getArgs, isCommand } from '#utilities/chat'
import { TSocket } from '#application/types'
import { getArgs, isCommand } from '#application/chat'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
type TypePayload = {
message: string

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { getArgs, isCommand } from '#utilities/chat'
import { TSocket } from '#application/types'
import { getArgs, isCommand } from '#application/chat'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import DateManager from '#managers/dateManager'
type TypePayload = {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { getArgs, isCommand } from '#utilities/chat'
import { TSocket } from '#application/types'
import { getArgs, isCommand } from '#application/chat'
import ZoneRepository from '#repositories/zoneRepository'
import { gameLogger, gameMasterLogger } from '#utilities/logger'
import { gameLogger, gameMasterLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
import ZoneCharacter from '#models/zoneCharacter'
import zoneManager from '#managers/zoneManager'

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { isCommand } from '#utilities/chat'
import { TSocket } from '#application/types'
import { isCommand } from '#application/chat'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import WeatherManager from '#managers/weatherManager'
type TypePayload = {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { isCommand } from '#utilities/chat'
import { TSocket } from '#application/types'
import { isCommand } from '#application/chat'
import CharacterRepository from '#repositories/characterRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import WeatherManager from '#managers/weatherManager'
type TypePayload = {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { isCommand } from '#utilities/chat'
import { gameLogger } from '#utilities/logger'
import { isCommand } from '#application/chat'
import { gameLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
import ChatService from '#services/chatService'

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { gameLogger } from '#utilities/logger'
import { TSocket } from '#application/types'
import { gameLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
export default class DisconnectEvent {

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
export default class CharacterHairCreateEvent {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {
id: number

View File

@ -1,7 +1,7 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { CharacterHair } from '@prisma/client'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
import characterRepository from '#repositories/characterRepository'
import characterHairRepository from '#repositories/characterHairRepository'

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { CharacterGender, CharacterRace } from '@prisma/client'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
type Payload = {
id: number

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { CharacterGender, CharacterRace } from '@prisma/client'

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {
id: number

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { CharacterType } from '@prisma/client'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
import CharacterTypeRepository from '#repositories/characterTypeRepository'
interface IPayload {}

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { CharacterGender, CharacterRace } from '@prisma/client'

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
export default class ItemCreateEvent {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {
id: string

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { Item } from '@prisma/client'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
import itemRepository from '#repositories/itemRepository'
interface IPayload {}

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { ItemType, ItemRarity } from '@prisma/client'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
type Payload = {
id: string

View File

@ -1,5 +1,5 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { Object } from '@prisma/client'
import ObjectRepository from '#repositories/objectRepository'
import characterRepository from '#repositories/characterRepository'

View File

@ -1,10 +1,10 @@
import fs from 'fs'
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { getPublicPath } from '#utilities/storage'
import { gameLogger, gameMasterLogger } from '#utilities/logger'
import { getPublicPath } from '#application/storage'
import { gameLogger, gameMasterLogger } from '#application/logger'
interface IPayload {
object: string

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
type Payload = {

View File

@ -1,12 +1,12 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { writeFile } from 'node:fs/promises'
import fs from 'fs/promises'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import sharp from 'sharp'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { getPublicPath } from '#utilities/storage'
import { gameMasterLogger } from '#application/logger'
import { getPublicPath } from '#application/storage'
interface IObjectData {
[key: string]: Buffer

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
import type { Prisma } from '@prisma/client'
interface CopyPayload {

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import fs from 'fs/promises'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { getPublicPath } from '#utilities/storage'
import { getPublicPath } from '#application/storage'
export default class SpriteCreateEvent {
constructor(

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import fs from 'fs'
import prisma from '#utilities/prisma'
import { gameMasterLogger } from '#utilities/logger'
import { getPublicPath } from '#utilities/storage'
import prisma from '#application/prisma'
import { gameMasterLogger } from '#application/logger'
import { getPublicPath } from '#application/storage'
import CharacterRepository from '#repositories/characterRepository'
type Payload = {

View File

@ -1,5 +1,5 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { Sprite } from '@prisma/client'
import SpriteRepository from '#repositories/spriteRepository'
import characterRepository from '#repositories/characterRepository'

View File

@ -1,12 +1,12 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import type { Prisma, SpriteAction } from '@prisma/client'
import { writeFile, mkdir } from 'node:fs/promises'
import sharp from 'sharp'
import { getPublicPath } from '#utilities/storage'
import { getPublicPath } from '#application/storage'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
// Constants
const ISOMETRIC_CONFIG = {

View File

@ -1,10 +1,10 @@
import fs from 'fs/promises'
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { getPublicPath } from '#utilities/storage'
import { gameMasterLogger } from '#application/logger'
import { getPublicPath } from '#application/storage'
type Payload = {
id: string

View File

@ -1,5 +1,5 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { Tile } from '@prisma/client'
import TileRepository from '#repositories/tileRepository'
import characterRepository from '#repositories/characterRepository'

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import prisma from '#utilities/prisma'
import { TSocket } from '#application/types'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
type Payload = {

View File

@ -1,11 +1,11 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { writeFile } from 'node:fs/promises'
import fs from 'fs/promises'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import characterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { getPublicPath } from '#utilities/storage'
import { gameMasterLogger } from '#application/logger'
import { getPublicPath } from '#application/storage'
interface ITileData {
[key: string]: Buffer

View File

@ -1,10 +1,10 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { Zone } from '@prisma/client'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
type Payload = {
name: string

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
type Payload = {
zoneId: number

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import { Zone } from '@prisma/client'
import ZoneRepository from '#repositories/zoneRepository'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {}

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { Zone } from '@prisma/client'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {
zoneId: number

View File

@ -1,11 +1,11 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { Zone, ZoneEffect, ZoneEventTileType, ZoneObject } from '@prisma/client'
import prisma from '#utilities/prisma'
import prisma from '#application/prisma'
import zoneManager from '#managers/zoneManager'
import CharacterRepository from '#repositories/characterRepository'
import { gameMasterLogger } from '#utilities/logger'
import { gameMasterLogger } from '#application/logger'
interface IPayload {
zoneId: number

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { gameLogger } from '#utilities/logger'
import { TSocket } from '#application/types'
import { gameLogger } from '#application/logger'
import UserRepository from '#repositories/userRepository'
export default class LoginEvent {

View File

@ -1,8 +1,8 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { Zone } from '@prisma/client'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import CharacterRepository from '#repositories/characterRepository'
import ZoneManager from '#managers/zoneManager'
import zoneCharacter from '#models/zoneCharacter'

View File

@ -1,7 +1,7 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { TSocket } from '#application/types'
import ZoneRepository from '#repositories/zoneRepository'
import { gameLogger } from '#utilities/logger'
import { gameLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
import CharacterRepository from '#repositories/characterRepository'

View File

@ -1,9 +1,9 @@
import { Server } from 'socket.io'
import { TSocket, ZoneEventTileWithTeleport } from '#utilities/types'
import { TSocket, ZoneEventTileWithTeleport } from '#application/types'
import { CharacterService } from '#services/characterService'
import { ZoneEventTileService } from '#services/zoneEventTileService'
import Rotation from '#utilities/character/rotation'
import { gameLogger } from '#utilities/logger'
import Rotation from '#application/character/rotation'
import { gameLogger } from '#application/logger'
import ZoneManager from '#managers/zoneManager'
import ZoneCharacter from '#models/zoneCharacter'
import zoneEventTileRepository from '#repositories/zoneEventTileRepository'

View File

@ -1,6 +1,6 @@
import { Server } from 'socket.io'
import { TSocket } from '#utilities/types'
import { gameLogger } from '#utilities/logger'
import { TSocket } from '#application/types'
import { gameLogger } from '#application/logger'
import WeatherManager from '#managers/weatherManager'
export default class Weather {