Cleanup
This commit is contained in:
parent
c47339dfcd
commit
e40a56825a
@ -3,6 +3,9 @@
|
|||||||
"semi": false,
|
"semi": false,
|
||||||
"tabWidth": 2,
|
"tabWidth": 2,
|
||||||
"singleQuote": true,
|
"singleQuote": true,
|
||||||
"printWidth": 200,
|
"printWidth": 300,
|
||||||
"trailingComma": "none"
|
"trailingComma": "none",
|
||||||
|
"plugins": ["@ianvs/prettier-plugin-sort-imports"],
|
||||||
|
"importOrderParserPlugins": ["typescript", "jsx", "decorators-legacy", "classProperties"],
|
||||||
|
"importOrderCaseSensitive": false
|
||||||
}
|
}
|
@ -1,42 +0,0 @@
|
|||||||
import eslint from '@eslint/js';
|
|
||||||
import tseslint from '@typescript-eslint/eslint-plugin';
|
|
||||||
import tsparser from '@typescript-eslint/parser';
|
|
||||||
import importPlugin from 'eslint-plugin-import';
|
|
||||||
|
|
||||||
export default [
|
|
||||||
eslint.configs.recommended,
|
|
||||||
{
|
|
||||||
files: ['**/*.ts'],
|
|
||||||
languageOptions: {
|
|
||||||
parser: tsparser,
|
|
||||||
parserOptions: {
|
|
||||||
project: './tsconfig.json',
|
|
||||||
ecmaVersion: 2023,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
plugins: {
|
|
||||||
'@typescript-eslint': tseslint,
|
|
||||||
'import': importPlugin,
|
|
||||||
},
|
|
||||||
rules: {
|
|
||||||
...tseslint.configs['recommended'].rules,
|
|
||||||
...tseslint.configs['recommended-requiring-type-checking'].rules,
|
|
||||||
'import/order': ['error', {
|
|
||||||
'groups': [
|
|
||||||
'builtin',
|
|
||||||
'external',
|
|
||||||
'internal',
|
|
||||||
['parent', 'sibling'],
|
|
||||||
'index',
|
|
||||||
'object',
|
|
||||||
'type'
|
|
||||||
],
|
|
||||||
'newlines-between': 'always',
|
|
||||||
'alphabetize': {
|
|
||||||
'order': 'asc',
|
|
||||||
'caseInsensitive': true
|
|
||||||
}
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
];
|
|
3102
package-lock.json
generated
3102
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
24
package.json
24
package.json
@ -4,23 +4,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "tsx src/server.ts",
|
"start": "tsx src/server.ts",
|
||||||
"dev": "nodemon --exec tsx src/server.ts",
|
"dev": "nodemon --exec tsx src/server.ts",
|
||||||
"format": "prettier --write src/",
|
"format": "prettier --write src/"
|
||||||
"lint": "eslint .",
|
|
||||||
"lint:fix": "eslint . --fix"
|
|
||||||
},
|
|
||||||
"imports": {
|
|
||||||
"#root/*": "./src/*.js",
|
|
||||||
"@/application/*": "./src/application/*.js",
|
|
||||||
"@/commands/*": "./src/commands/*.js",
|
|
||||||
"@/entities/*": "./src/entities/*.js",
|
|
||||||
"@/controllers/*": "./src/controllers/*.js",
|
|
||||||
"@/jobs/*": "./src/jobs/*.js",
|
|
||||||
"@/managers/*": "./src/managers/*.js",
|
|
||||||
"@/middleware/*": "./src/middleware/*.js",
|
|
||||||
"@/models/*": "./src/models/*.js",
|
|
||||||
"@/repositories/*": "./src/repositories/*.js",
|
|
||||||
"@/services/*": "./src/services/*.js",
|
|
||||||
"@/events/*": "./src/events/*.js"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@mikro-orm/cli": "^6.4.2",
|
"@mikro-orm/cli": "^6.4.2",
|
||||||
@ -55,13 +39,9 @@
|
|||||||
"@types/jsonwebtoken": "^9.0.6",
|
"@types/jsonwebtoken": "^9.0.6",
|
||||||
"@types/node": "^20.14.11",
|
"@types/node": "^20.14.11",
|
||||||
"@types/nodemailer": "^6.4.16",
|
"@types/nodemailer": "^6.4.16",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.18.2",
|
|
||||||
"@typescript-eslint/parser": "^8.18.2",
|
|
||||||
"eslint": "^9.17.0",
|
|
||||||
"eslint-config-prettier": "^9.1.0",
|
|
||||||
"eslint-plugin-import": "^2.31.0",
|
|
||||||
"nodemon": "^3.1.4",
|
"nodemon": "^3.1.4",
|
||||||
"prettier": "^3.3.3",
|
"prettier": "^3.3.3",
|
||||||
|
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
|
||||||
"tsx": "^4.19.2"
|
"tsx": "^4.19.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Server } from 'socket.io'
|
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import { Server } from 'socket.io'
|
||||||
|
|
||||||
export abstract class BaseCommand {
|
export abstract class BaseCommand {
|
||||||
protected readonly logger = Logger.type(LoggerType.COMMAND)
|
protected readonly logger = Logger.type(LoggerType.COMMAND)
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import type { Response } from 'express'
|
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import type { Response } from 'express'
|
||||||
|
|
||||||
export abstract class BaseController {
|
export abstract class BaseController {
|
||||||
protected readonly logger = Logger.type(LoggerType.HTTP)
|
protected readonly logger = Logger.type(LoggerType.HTTP)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { EntityManager } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import Database from '@/application/database'
|
import Database from '@/application/database'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import { EntityManager } from '@mikro-orm/core'
|
||||||
|
|
||||||
export abstract class BaseEntity {
|
export abstract class BaseEntity {
|
||||||
protected readonly logger = Logger.type(LoggerType.ENTITY)
|
protected readonly logger = Logger.type(LoggerType.ENTITY)
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import { Server } from 'socket.io'
|
|
||||||
|
|
||||||
import type { TSocket } from '@/application/types'
|
|
||||||
|
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import type { TSocket } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import CharacterRepository from '@/repositories/characterRepository'
|
import CharacterRepository from '@/repositories/characterRepository'
|
||||||
|
import { Server } from 'socket.io'
|
||||||
|
|
||||||
export abstract class BaseEvent {
|
export abstract class BaseEvent {
|
||||||
protected readonly logger = Logger.type(LoggerType.GAME)
|
protected readonly logger = Logger.type(LoggerType.GAME)
|
||||||
@ -31,7 +29,7 @@ export abstract class BaseEvent {
|
|||||||
|
|
||||||
protected async getCharacter(): Promise<Character | null> {
|
protected async getCharacter(): Promise<Character | null> {
|
||||||
const characterRepository = new CharacterRepository()
|
const characterRepository = new CharacterRepository()
|
||||||
return characterRepository.getById(this.socket.characterId!)
|
return characterRepository.getById(this.socket.characterId)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async isCharacterGM(): Promise<boolean> {
|
protected async isCharacterGM(): Promise<boolean> {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { EntityManager } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import Database from '@/application/database'
|
import Database from '@/application/database'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import { EntityManager } from '@mikro-orm/core'
|
||||||
|
|
||||||
export abstract class BaseRepository {
|
export abstract class BaseRepository {
|
||||||
protected readonly logger = Logger.type(LoggerType.REPOSITORY)
|
protected readonly logger = Logger.type(LoggerType.REPOSITORY)
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import { pathToFileURL } from 'url'
|
import { pathToFileURL } from 'url'
|
||||||
|
|
||||||
import type { Command } from '@/application/types'
|
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { Command } from '@/application/types'
|
||||||
|
|
||||||
export class CommandRegistry {
|
export class CommandRegistry {
|
||||||
private readonly commands: Map<string, Command> = new Map()
|
private readonly commands: Map<string, Command> = new Map()
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
|
||||||
export class LogReader {
|
export class LogReader {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { MikroORM } from '@mikro-orm/mariadb'
|
|
||||||
// import { MikroORM } from '@mikro-orm/mysql'
|
// import { MikroORM } from '@mikro-orm/mysql'
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import config from '@/root/mikro-orm.config'
|
import config from '@/root/mikro-orm.config'
|
||||||
|
import { MikroORM } from '@mikro-orm/mariadb'
|
||||||
|
|
||||||
class Database {
|
class Database {
|
||||||
private static orm: MikroORM
|
private static orm: MikroORM
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import pino from 'pino'
|
import pino from 'pino'
|
||||||
|
|
||||||
const logger = pino.pino
|
const logger = pino.pino
|
||||||
|
|
||||||
export enum LoggerType {
|
export enum LoggerType {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
|
|
||||||
import config from '@/application/config'
|
import config from '@/application/config'
|
||||||
|
|
||||||
class Storage {
|
class Storage {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import { Server, Socket } from 'socket.io'
|
|
||||||
|
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import { MapEventTile } from '@/entities/mapEventTile'
|
import { MapEventTile } from '@/entities/mapEventTile'
|
||||||
import { MapEventTileTeleport } from '@/entities/mapEventTileTeleport'
|
import { MapEventTileTeleport } from '@/entities/mapEventTileTeleport'
|
||||||
|
import { Server, Socket } from 'socket.io'
|
||||||
|
|
||||||
export type UUID = `${string}-${string}-${string}-${string}-${string}`
|
export type UUID = `${string}-${string}-${string}-${string}-${string}`
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import { Server } from 'socket.io'
|
|
||||||
|
|
||||||
import { BaseCommand } from '@/application/base/baseCommand'
|
import { BaseCommand } from '@/application/base/baseCommand'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import { Server } from 'socket.io'
|
||||||
|
|
||||||
type CommandInput = string[]
|
type CommandInput = string[]
|
||||||
|
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseCommand } from '@/application/base/baseCommand'
|
import { BaseCommand } from '@/application/base/baseCommand'
|
||||||
import { CharacterGender, CharacterRace } from '@/application/enums'
|
import { CharacterGender, CharacterRace } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import { CharacterHair } from '@/entities/characterHair'
|
import { CharacterHair } from '@/entities/characterHair'
|
||||||
import { CharacterType } from '@/entities/characterType'
|
import { CharacterType } from '@/entities/characterType'
|
||||||
@ -20,6 +16,7 @@ import { User } from '@/entities/user'
|
|||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
|
import sharp from 'sharp'
|
||||||
|
|
||||||
// @TODO : Replace this with seeding
|
// @TODO : Replace this with seeding
|
||||||
// https://mikro-orm.io/docs/seeding
|
// https://mikro-orm.io/docs/seeding
|
||||||
@ -273,14 +270,7 @@ export default class InitCommand extends BaseCommand {
|
|||||||
.save()
|
.save()
|
||||||
|
|
||||||
const characterType = new CharacterType()
|
const characterType = new CharacterType()
|
||||||
await characterType
|
await characterType.setId('75b70c78-17f0-44c0-a4fa-15043cb95be0').setName('New character type').setGender(CharacterGender.MALE).setRace(CharacterRace.HUMAN).setIsSelectable(true).setSprite(characterSprite).save()
|
||||||
.setId('75b70c78-17f0-44c0-a4fa-15043cb95be0')
|
|
||||||
.setName('New character type')
|
|
||||||
.setGender(CharacterGender.MALE)
|
|
||||||
.setRace(CharacterRace.HUMAN)
|
|
||||||
.setIsSelectable(true)
|
|
||||||
.setSprite(characterSprite)
|
|
||||||
.save()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async createCharacterHair(): Promise<void> {
|
private async createCharacterHair(): Promise<void> {
|
||||||
@ -355,7 +345,7 @@ export default class InitCommand extends BaseCommand {
|
|||||||
.setUser(user)
|
.setUser(user)
|
||||||
.setName('root')
|
.setName('root')
|
||||||
.setRole('gm')
|
.setRole('gm')
|
||||||
.setMap((await this.mapRepository.getFirst())!)
|
.setMap(await this.mapRepository.getFirst())
|
||||||
.setCharacterType(await this.characterTypeRepository.getFirst())
|
.setCharacterType(await this.characterTypeRepository.getFirst())
|
||||||
.setCharacterHair(await this.characterHairRepository.getFirst())
|
.setCharacterHair(await this.characterHairRepository.getFirst())
|
||||||
.save()
|
.save()
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
import { BaseCommand } from '@/application/base/baseCommand'
|
import { BaseCommand } from '@/application/base/baseCommand'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import sharp from 'sharp'
|
||||||
|
|
||||||
export default class TilesCommand extends BaseCommand {
|
export default class TilesCommand extends BaseCommand {
|
||||||
public async execute(): Promise<void> {
|
public async execute(): Promise<void> {
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import jwt from 'jsonwebtoken'
|
|
||||||
|
|
||||||
import type { Request, Response } from 'express'
|
|
||||||
|
|
||||||
import { BaseController } from '@/application/base/baseController'
|
import { BaseController } from '@/application/base/baseController'
|
||||||
import config from '@/application/config'
|
import config from '@/application/config'
|
||||||
import { loginAccountSchema, registerAccountSchema, resetPasswordSchema, newPasswordSchema } from '@/application/zodTypes'
|
import { loginAccountSchema, newPasswordSchema, registerAccountSchema, resetPasswordSchema } from '@/application/zodTypes'
|
||||||
import UserService from '@/services/userService'
|
import UserService from '@/services/userService'
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
import jwt from 'jsonwebtoken'
|
||||||
|
|
||||||
export class AuthController extends BaseController {
|
export class AuthController extends BaseController {
|
||||||
/**
|
/**
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
import type { Request, Response } from 'express'
|
|
||||||
|
|
||||||
import { BaseController } from '@/application/base/baseController'
|
import { BaseController } from '@/application/base/baseController'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
import CharacterRepository from '@/repositories/characterRepository'
|
import CharacterRepository from '@/repositories/characterRepository'
|
||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
import sharp from 'sharp'
|
||||||
|
|
||||||
interface AvatarOptions {
|
interface AvatarOptions {
|
||||||
characterTypeId: UUID
|
characterTypeId: UUID
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
import type { Request, Response } from 'express'
|
|
||||||
|
|
||||||
import { BaseController } from '@/application/base/baseController'
|
import { BaseController } from '@/application/base/baseController'
|
||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
@ -7,6 +5,7 @@ import MapObjectRepository from '@/repositories/mapObjectRepository'
|
|||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
import TileRepository from '@/repositories/tileRepository'
|
import TileRepository from '@/repositories/tileRepository'
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
export class CacheController extends BaseController {
|
export class CacheController extends BaseController {
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { Request, Response } from 'express'
|
|
||||||
|
|
||||||
import { BaseController } from '@/application/base/baseController'
|
import { BaseController } from '@/application/base/baseController'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { Request, Response } from 'express'
|
||||||
|
|
||||||
export class TexturesController extends BaseController {
|
export class TexturesController extends BaseController {
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { Collection, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { CharacterEquipment } from '@/entities/characterEquipment'
|
import type { CharacterEquipment } from '@/entities/characterEquipment'
|
||||||
import type { CharacterHair } from '@/entities/characterHair'
|
import type { CharacterHair } from '@/entities/characterHair'
|
||||||
@ -10,8 +8,7 @@ import type { CharacterType } from '@/entities/characterType'
|
|||||||
import type { Chat } from '@/entities/chat'
|
import type { Chat } from '@/entities/chat'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
import type { User } from '@/entities/user'
|
import type { User } from '@/entities/user'
|
||||||
|
import { Collection, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseCharacter extends BaseEntity {
|
export class BaseCharacter extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core'
|
import { CharacterEquipmentSlotType } from '@/application/enums'
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Character } from '@/entities/character'
|
import type { Character } from '@/entities/character'
|
||||||
import type { CharacterItem } from '@/entities/characterItem'
|
import type { CharacterItem } from '@/entities/characterItem'
|
||||||
|
import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
import { CharacterEquipmentSlotType } from '@/application/enums'
|
|
||||||
|
|
||||||
export class BaseCharacterEquipment extends BaseEntity {
|
export class BaseCharacterEquipment extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { CharacterGender } from '@/application/enums'
|
import { CharacterGender } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import { Sprite } from '@/entities/sprite'
|
import { Sprite } from '@/entities/sprite'
|
||||||
|
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseCharacterHair extends BaseEntity {
|
export class BaseCharacterHair extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Character } from '@/entities/character'
|
import type { Character } from '@/entities/character'
|
||||||
import type { Item } from '@/entities/item'
|
import type { Item } from '@/entities/item'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseCharacterItem extends BaseEntity {
|
export class BaseCharacterItem extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { CharacterGender, CharacterRace } from '@/application/enums'
|
import { CharacterGender, CharacterRace } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import { Sprite } from '@/entities/sprite'
|
import { Sprite } from '@/entities/sprite'
|
||||||
|
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseCharacterType extends BaseEntity {
|
export class BaseCharacterType extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Character } from '@/entities/character'
|
import type { Character } from '@/entities/character'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseChat extends BaseEntity {
|
export class BaseChat extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ItemType, ItemRarity } from '@/application/enums'
|
import { ItemRarity, ItemType } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { CharacterItem } from '@/entities/characterItem'
|
import { CharacterItem } from '@/entities/characterItem'
|
||||||
import { Sprite } from '@/entities/sprite'
|
import { Sprite } from '@/entities/sprite'
|
||||||
|
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseItem extends BaseEntity {
|
export class BaseItem extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { Collection, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { MapEffect } from '@/entities/mapEffect'
|
import type { MapEffect } from '@/entities/mapEffect'
|
||||||
import type { MapEventTile } from '@/entities/mapEventTile'
|
import type { MapEventTile } from '@/entities/mapEventTile'
|
||||||
import type { PlacedMapObject } from '@/entities/placedMapObject'
|
import type { PlacedMapObject } from '@/entities/placedMapObject'
|
||||||
|
import { Collection, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseMap extends BaseEntity {
|
export class BaseMap extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseMapEffect extends BaseEntity {
|
export class BaseMapEffect extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
import { MapEventTileType } from '@/application/enums'
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
import type { MapEventTileTeleport } from '@/entities/mapEventTileTeleport'
|
import type { MapEventTileTeleport } from '@/entities/mapEventTileTeleport'
|
||||||
|
import { Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
import { MapEventTileType } from '@/application/enums'
|
|
||||||
|
|
||||||
export class BaseMapEventTile extends BaseEntity {
|
export class BaseMapEventTile extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
import type { MapEventTile } from '@/entities/mapEventTile'
|
import type { MapEventTile } from '@/entities/mapEventTile'
|
||||||
|
import { ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BaseMapEventTileTeleport extends BaseEntity {
|
export class BaseMapEventTileTeleport extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
|
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseMapObject extends BaseEntity {
|
export class BaseMapObject extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { User } from '@/entities/user'
|
import type { User } from '@/entities/user'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BasePasswordResetToken extends BaseEntity {
|
export class BasePasswordResetToken extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,12 +1,9 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Map } from '@/entities/map'
|
import type { Map } from '@/entities/map'
|
||||||
import type { MapObject } from '@/entities/mapObject'
|
import type { MapObject } from '@/entities/mapObject'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export class BasePlacedMapObject extends BaseEntity {
|
export class BasePlacedMapObject extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { SpriteAction } from '@/entities/spriteAction'
|
import { SpriteAction } from '@/entities/spriteAction'
|
||||||
|
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseSprite extends BaseEntity {
|
export class BaseSprite extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,11 +1,8 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
import type { UUID } from '@/application/types'
|
||||||
import type { Sprite } from '@/entities/sprite'
|
import type { Sprite } from '@/entities/sprite'
|
||||||
|
import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
|
||||||
|
|
||||||
export interface SpriteImage {
|
export interface SpriteImage {
|
||||||
url: string
|
url: string
|
||||||
|
@ -1,10 +1,7 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
|
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseTile extends BaseEntity {
|
export class BaseTile extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import { randomUUID } from 'node:crypto'
|
import { randomUUID } from 'node:crypto'
|
||||||
|
|
||||||
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
import bcrypt from 'bcryptjs'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import { PasswordResetToken } from '@/entities/passwordResetToken'
|
import { PasswordResetToken } from '@/entities/passwordResetToken'
|
||||||
|
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
import bcrypt from 'bcryptjs'
|
||||||
|
|
||||||
export class BaseUser extends BaseEntity {
|
export class BaseUser extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseEntity } from '@/application/base/baseEntity'
|
import { BaseEntity } from '@/application/base/baseEntity'
|
||||||
|
import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
|
||||||
|
|
||||||
export class BaseWorld extends BaseEntity {
|
export class BaseWorld extends BaseEntity {
|
||||||
@PrimaryKey()
|
@PrimaryKey()
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseCharacter } from '@/entities/base/character'
|
import { BaseCharacter } from '@/entities/base/character'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Character extends BaseCharacter {}
|
export class Character extends BaseCharacter {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseCharacterEquipment } from '@/entities/base/characterEquipment'
|
import { BaseCharacterEquipment } from '@/entities/base/characterEquipment'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterEquipment extends BaseCharacterEquipment {}
|
export class CharacterEquipment extends BaseCharacterEquipment {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseCharacterHair } from '@/entities/base/characterHair'
|
import { BaseCharacterHair } from '@/entities/base/characterHair'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterHair extends BaseCharacterHair {
|
export class CharacterHair extends BaseCharacterHair {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseCharacterItem } from '@/entities/base/characterItem'
|
import { BaseCharacterItem } from '@/entities/base/characterItem'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterItem extends BaseCharacterItem {}
|
export class CharacterItem extends BaseCharacterItem {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseCharacterType } from '@/entities/base/characterType'
|
import { BaseCharacterType } from '@/entities/base/characterType'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterType extends BaseCharacterType {
|
export class CharacterType extends BaseCharacterType {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseChat } from '@/entities/base/chat'
|
import { BaseChat } from '@/entities/base/chat'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Chat extends BaseChat {}
|
export class Chat extends BaseChat {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseItem } from '@/entities/base/item'
|
import { BaseItem } from '@/entities/base/item'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Item extends BaseItem {}
|
export class Item extends BaseItem {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseMap } from '@/entities/base/map'
|
import { BaseMap } from '@/entities/base/map'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
export type MapCacheT = ReturnType<Map['cache']> | {}
|
export type MapCacheT = ReturnType<Map['cache']> | {}
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseMapEffect } from '@/entities/base/mapEffect'
|
import { BaseMapEffect } from '@/entities/base/mapEffect'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class MapEffect extends BaseMapEffect {}
|
export class MapEffect extends BaseMapEffect {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseMapEventTile } from '@/entities/base/mapEventTile'
|
import { BaseMapEventTile } from '@/entities/base/mapEventTile'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class MapEventTile extends BaseMapEventTile {}
|
export class MapEventTile extends BaseMapEventTile {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseMapEventTileTeleport } from '@/entities/base/mapEventTileTeleport'
|
import { BaseMapEventTileTeleport } from '@/entities/base/mapEventTileTeleport'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class MapEventTileTeleport extends BaseMapEventTileTeleport {}
|
export class MapEventTileTeleport extends BaseMapEventTileTeleport {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseMapObject } from '@/entities/base/mapObject'
|
import { BaseMapObject } from '@/entities/base/mapObject'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class MapObject extends BaseMapObject {
|
export class MapObject extends BaseMapObject {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BasePasswordResetToken } from '@/entities/base/passwordResetToken'
|
import { BasePasswordResetToken } from '@/entities/base/passwordResetToken'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class PasswordResetToken extends BasePasswordResetToken {}
|
export class PasswordResetToken extends BasePasswordResetToken {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BasePlacedMapObject } from '@/entities/base/placedMapObject'
|
import { BasePlacedMapObject } from '@/entities/base/placedMapObject'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class PlacedMapObject extends BasePlacedMapObject {}
|
export class PlacedMapObject extends BasePlacedMapObject {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseSprite } from '@/entities/base/sprite'
|
import { BaseSprite } from '@/entities/base/sprite'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Sprite extends BaseSprite {
|
export class Sprite extends BaseSprite {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseSpriteAction } from '@/entities/base/spriteAction'
|
import { BaseSpriteAction } from '@/entities/base/spriteAction'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class SpriteAction extends BaseSpriteAction {}
|
export class SpriteAction extends BaseSpriteAction {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseTile } from '@/entities/base/tile'
|
import { BaseTile } from '@/entities/base/tile'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Tile extends BaseTile {
|
export class Tile extends BaseTile {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseUser } from '@/entities/base/user'
|
import { BaseUser } from '@/entities/base/user'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class User extends BaseUser {}
|
export class User extends BaseUser {}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { Entity } from '@mikro-orm/core'
|
|
||||||
|
|
||||||
import { BaseWorld } from '@/entities/base/world'
|
import { BaseWorld } from '@/entities/base/world'
|
||||||
|
import { Entity } from '@mikro-orm/core'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class World extends BaseWorld {}
|
export class World extends BaseWorld {}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import MapManager from '@/managers/mapManager'
|
import MapManager from '@/managers/mapManager'
|
||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
import CharacterRepository from '@/repositories/characterRepository'
|
import CharacterRepository from '@/repositories/characterRepository'
|
||||||
@ -27,7 +26,7 @@ export default class CharacterConnectEvent extends BaseEvent {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const character = await this.characterRepository.getByUserAndId(this.socket.userId!, data.characterId)
|
const character = await this.characterRepository.getByUserAndId(this.socket.userId, data.characterId)
|
||||||
|
|
||||||
if (!character) {
|
if (!character) {
|
||||||
this.emitError('Character not found or does not belong to this user')
|
this.emitError('Character not found or does not belong to this user')
|
||||||
@ -63,7 +62,7 @@ export default class CharacterConnectEvent extends BaseEvent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async checkForActiveCharacters(): Promise<boolean> {
|
private async checkForActiveCharacters(): Promise<boolean> {
|
||||||
const characters = await this.characterRepository.getByUserId(this.socket.userId!)
|
const characters = await this.characterRepository.getByUserId(this.socket.userId)
|
||||||
return characters?.some((char) => MapManager.getCharacterById(char.id)) ?? false
|
return characters?.some((char) => MapManager.getCharacterById(char.id)) ?? false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
import { ZodError, z } from 'zod'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import { ZCharacterCreate } from '@/application/zodTypes'
|
import { ZCharacterCreate } from '@/application/zodTypes'
|
||||||
@ -8,6 +6,7 @@ import CharacterRepository from '@/repositories/characterRepository'
|
|||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
import UserRepository from '@/repositories/userRepository'
|
import UserRepository from '@/repositories/userRepository'
|
||||||
|
import { z, ZodError } from 'zod'
|
||||||
|
|
||||||
const MAX_CHARACTERS = 4
|
const MAX_CHARACTERS = 4
|
||||||
|
|
||||||
@ -33,7 +32,7 @@ export default class CharacterCreateEvent extends BaseEvent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async createCharacter(data: z.infer<typeof ZCharacterCreate>): Promise<void> {
|
private async createCharacter(data: z.infer<typeof ZCharacterCreate>): Promise<void> {
|
||||||
const user = await this.userRepository.getById(this.socket.userId!)
|
const user = await this.userRepository.getById(this.socket.userId)
|
||||||
if (!user) {
|
if (!user) {
|
||||||
throw new Error('You are not logged in')
|
throw new Error('You are not logged in')
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Character } from '@/entities/character'
|
import { Character } from '@/entities/character'
|
||||||
import CharacterRepository from '@/repositories/characterRepository'
|
import CharacterRepository from '@/repositories/characterRepository'
|
||||||
|
|
||||||
@ -21,8 +20,8 @@ export default class CharacterDeleteEvent extends BaseEvent {
|
|||||||
private async handleEvent(data: TypePayload, callback: (response: TypeResponse) => void): Promise<any> {
|
private async handleEvent(data: TypePayload, callback: (response: TypeResponse) => void): Promise<any> {
|
||||||
try {
|
try {
|
||||||
const characterRepository = new CharacterRepository()
|
const characterRepository = new CharacterRepository()
|
||||||
await (await characterRepository.getByUserAndId(this.socket.userId!, data.characterId))?.delete()
|
await (await characterRepository.getByUserAndId(this.socket.userId, data.characterId))?.delete()
|
||||||
const characters: Character[] = await characterRepository.getByUserId(this.socket.userId!)
|
const characters: Character[] = await characterRepository.getByUserId(this.socket.userId)
|
||||||
|
|
||||||
this.socket.emit(SocketEvent.CHARACTER_LIST, characters)
|
this.socket.emit(SocketEvent.CHARACTER_LIST, characters)
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
@ -11,7 +11,7 @@ export default class CharacterListEvent extends BaseEvent {
|
|||||||
private async handleEvent(data: any): Promise<void> {
|
private async handleEvent(data: any): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const characterRepository = new CharacterRepository()
|
const characterRepository = new CharacterRepository()
|
||||||
let characters: Character[] = await characterRepository.getByUserId(this.socket.userId!)
|
let characters: Character[] = await characterRepository.getByUserId(this.socket.userId)
|
||||||
|
|
||||||
this.socket.emit(SocketEvent.CHARACTER_LIST, characters)
|
this.socket.emit(SocketEvent.CHARACTER_LIST, characters)
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import MapManager from '@/managers/mapManager'
|
import MapManager from '@/managers/mapManager'
|
||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
import TeleportService from '@/services/characterTeleportService'
|
import TeleportService from '@/services/characterTeleportService'
|
||||||
|
@ -19,7 +19,7 @@ export default class ChatMessageEvent extends BaseEvent {
|
|||||||
return callback(false)
|
return callback(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
const mapCharacter = MapManager.getCharacterById(this.socket.characterId!)
|
const mapCharacter = MapManager.getCharacterById(this.socket.characterId)
|
||||||
if (!mapCharacter) {
|
if (!mapCharacter) {
|
||||||
this.logger.error('chat:message error', 'Character not found')
|
this.logger.error('chat:message error', 'Character not found')
|
||||||
return callback(false)
|
return callback(false)
|
||||||
|
@ -16,7 +16,7 @@ export default class DisconnectEvent extends BaseEvent {
|
|||||||
|
|
||||||
this.io.emit(SocketEvent.USER_DISCONNECT, this.socket.userId)
|
this.io.emit(SocketEvent.USER_DISCONNECT, this.socket.userId)
|
||||||
|
|
||||||
const mapCharacter = MapManager.getCharacterById(this.socket.characterId!)
|
const mapCharacter = MapManager.getCharacterById(this.socket.characterId)
|
||||||
if (!mapCharacter) {
|
if (!mapCharacter) {
|
||||||
this.logger.info('User disconnected but had no character set')
|
this.logger.info('User disconnected but had no character set')
|
||||||
return
|
return
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
|
|
||||||
interface IPayload {
|
interface IPayload {
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { CharacterGender, SocketEvent } from '@/application/enums'
|
||||||
import { CharacterGender } from '@/application/enums'
|
import type { UUID } from '@/application/types'
|
||||||
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
import CharacterHairRepository from '@/repositories/characterHairRepository'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
|
|
||||||
interface IPayload {
|
interface IPayload {
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { CharacterGender, CharacterRace, SocketEvent } from '@/application/enums'
|
||||||
import { CharacterGender, CharacterRace } from '@/application/enums'
|
import type { UUID } from '@/application/types'
|
||||||
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
import CharacterTypeRepository from '@/repositories/characterTypeRepository'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { ItemRarity, ItemType, SocketEvent } from '@/application/enums'
|
||||||
import { ItemRarity, ItemType } from '@/application/enums'
|
|
||||||
import { Item } from '@/entities/item'
|
import { Item } from '@/entities/item'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import ItemRepository from '@/repositories/itemRepository'
|
import ItemRepository from '@/repositories/itemRepository'
|
||||||
|
|
||||||
interface IPayload {
|
interface IPayload {
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { ItemRarity, ItemType, SocketEvent } from '@/application/enums'
|
||||||
import { ItemType, ItemRarity } from '@/application/enums'
|
import type { UUID } from '@/application/types'
|
||||||
import ItemRepository from '@/repositories/itemRepository'
|
import ItemRepository from '@/repositories/itemRepository'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import MapObjectRepository from '@/repositories/mapObjectRepository'
|
import MapObjectRepository from '@/repositories/mapObjectRepository'
|
||||||
|
|
||||||
interface IPayload {
|
interface IPayload {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import MapObjectRepository from '@/repositories/mapObjectRepository'
|
import MapObjectRepository from '@/repositories/mapObjectRepository'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import fs from 'fs/promises'
|
import fs from 'fs/promises'
|
||||||
import { writeFile } from 'node:fs/promises'
|
import { writeFile } from 'node:fs/promises'
|
||||||
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
import { MapObject } from '@/entities/mapObject'
|
import { MapObject } from '@/entities/mapObject'
|
||||||
|
import sharp from 'sharp'
|
||||||
|
|
||||||
interface IObjectData {
|
interface IObjectData {
|
||||||
[key: string]: Buffer
|
[key: string]: Buffer
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Sprite } from '@/entities/sprite'
|
import { Sprite } from '@/entities/sprite'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import fs from 'fs/promises'
|
import fs from 'fs/promises'
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import sharp from 'sharp'
|
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { SpriteAction } from '@/entities/spriteAction'
|
import { SpriteAction } from '@/entities/spriteAction'
|
||||||
import SpriteRepository from '@/repositories/spriteRepository'
|
import SpriteRepository from '@/repositories/spriteRepository'
|
||||||
|
import sharp from 'sharp'
|
||||||
|
|
||||||
interface SpriteImage {
|
interface SpriteImage {
|
||||||
url: string
|
url: string
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
import fs from 'fs/promises'
|
import fs from 'fs/promises'
|
||||||
|
|
||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import TileRepository from '@/repositories/tileRepository'
|
import TileRepository from '@/repositories/tileRepository'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import TileRepository from '@/repositories/tileRepository'
|
import TileRepository from '@/repositories/tileRepository'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import fs from 'fs/promises'
|
import fs from 'fs/promises'
|
||||||
import { writeFile } from 'node:fs/promises'
|
import { writeFile } from 'node:fs/promises'
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { MapCacheT } from '@/entities/map'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { MapCacheT } from '@/entities/map'
|
||||||
import { Map } from '@/entities/map'
|
import { Map } from '@/entities/map'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
|
|
||||||
type Payload = {
|
type Payload = {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Map } from '@/entities/map'
|
import { Map } from '@/entities/map'
|
||||||
import MapRepository from '@/repositories/mapRepository'
|
import MapRepository from '@/repositories/mapRepository'
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { MapEventTileType, SocketEvent } from '@/application/enums'
|
||||||
import { MapEventTileType } from '@/application/enums'
|
import type { UUID } from '@/application/types'
|
||||||
import { Map } from '@/entities/map'
|
import { Map } from '@/entities/map'
|
||||||
import { MapEffect } from '@/entities/mapEffect'
|
import { MapEffect } from '@/entities/mapEffect'
|
||||||
import { MapEventTile } from '@/entities/mapEventTile'
|
import { MapEventTile } from '@/entities/mapEventTile'
|
||||||
@ -87,7 +85,7 @@ export default class MapUpdateEvent extends BaseEvent {
|
|||||||
|
|
||||||
if (tile.teleport) {
|
if (tile.teleport) {
|
||||||
const teleport = new MapEventTileTeleport()
|
const teleport = new MapEventTileTeleport()
|
||||||
.setToMap((await mapRepository.getById(tile.teleport.toMap.id))!)
|
.setToMap(await mapRepository.getById(tile.teleport.toMap.id))
|
||||||
.setToPositionX(tile.teleport.toPositionX)
|
.setToPositionX(tile.teleport.toPositionX)
|
||||||
.setToPositionY(tile.teleport.toPositionY)
|
.setToPositionY(tile.teleport.toPositionY)
|
||||||
.setToRotation(tile.teleport.toRotation)
|
.setToRotation(tile.teleport.toRotation)
|
||||||
@ -117,7 +115,7 @@ export default class MapUpdateEvent extends BaseEvent {
|
|||||||
|
|
||||||
// Reload map from database to get fresh data
|
// Reload map from database to get fresh data
|
||||||
map = await mapRepository.getById(data.mapId)
|
map = await mapRepository.getById(data.mapId)
|
||||||
await mapRepository.getEntityManager().populate(map!, mapRepository.POPULATE_MAP_EDITOR as any)
|
await mapRepository.getEntityManager().populate(map, mapRepository.POPULATE_MAP_EDITOR as any)
|
||||||
|
|
||||||
if (!map) {
|
if (!map) {
|
||||||
this.logger.info(`User ${character!.getId()} tried to update map ${data.mapId} but it does not exist after update.`)
|
this.logger.info(`User ${character!.getId()} tried to update map ${data.mapId} but it does not exist after update.`)
|
||||||
|
@ -12,7 +12,7 @@ export default class CharacterMove extends BaseEvent {
|
|||||||
private async handleEvent(data: any, callback: (response: any) => void): Promise<void> {
|
private async handleEvent(data: any, callback: (response: any) => void): Promise<void> {
|
||||||
try {
|
try {
|
||||||
console.log('attack', this.socket.characterId)
|
console.log('attack', this.socket.characterId)
|
||||||
await this.characterAttackService.attack(this.socket.characterId!)
|
await this.characterAttackService.attack(this.socket.characterId)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error('map:character:attack error', error)
|
this.logger.error('map:character:attack error', error)
|
||||||
return callback(false)
|
return callback(false)
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
import type { MapEventTileWithTeleport } from '@/application/types'
|
|
||||||
|
|
||||||
import { BaseEvent } from '@/application/base/baseEvent'
|
import { BaseEvent } from '@/application/base/baseEvent'
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { MapEventTileWithTeleport } from '@/application/types'
|
||||||
import MapManager from '@/managers/mapManager'
|
import MapManager from '@/managers/mapManager'
|
||||||
import MapCharacter from '@/models/mapCharacter'
|
import MapCharacter from '@/models/mapCharacter'
|
||||||
import MapEventTileRepository from '@/repositories/mapEventTileRepository'
|
import MapEventTileRepository from '@/repositories/mapEventTileRepository'
|
||||||
@ -17,7 +16,7 @@ export default class CharacterMove extends BaseEvent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private async handleEvent({ positionX, positionY }: { positionX: number; positionY: number }): Promise<void> {
|
private async handleEvent({ positionX, positionY }: { positionX: number; positionY: number }): Promise<void> {
|
||||||
const mapCharacter = MapManager.getCharacterById(this.socket.characterId!)
|
const mapCharacter = MapManager.getCharacterById(this.socket.characterId)
|
||||||
if (!mapCharacter?.getCharacter()) {
|
if (!mapCharacter?.getCharacter()) {
|
||||||
this.logger.error('map:character:move error: Character not found or not initialized')
|
this.logger.error('map:character:move error: Character not found or not initialized')
|
||||||
return
|
return
|
||||||
@ -116,7 +115,7 @@ export default class CharacterMove extends BaseEvent {
|
|||||||
|
|
||||||
private async handleTeleportMapEventTile(mapEventTile: MapEventTileWithTeleport): Promise<void> {
|
private async handleTeleportMapEventTile(mapEventTile: MapEventTileWithTeleport): Promise<void> {
|
||||||
if (mapEventTile.getTeleport()) {
|
if (mapEventTile.getTeleport()) {
|
||||||
await TeleportService.teleportCharacter(this.socket.characterId!, {
|
await TeleportService.teleportCharacter(this.socket.characterId, {
|
||||||
targetMapId: mapEventTile.getTeleport()!.getToMap().getId(),
|
targetMapId: mapEventTile.getTeleport()!.getToMap().getId(),
|
||||||
targetX: mapEventTile.getTeleport()!.getToPositionX(),
|
targetX: mapEventTile.getTeleport()!.getToPositionX(),
|
||||||
targetY: mapEventTile.getTeleport()!.getToPositionY(),
|
targetY: mapEventTile.getTeleport()!.getToPositionY(),
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import { Server as SocketServer } from 'socket.io'
|
|
||||||
|
|
||||||
import type { TSocket } from '@/application/types'
|
|
||||||
|
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
|
import type { TSocket } from '@/application/types'
|
||||||
|
import { Server as SocketServer } from 'socket.io'
|
||||||
|
|
||||||
export default class SomeJob {
|
export default class SomeJob {
|
||||||
constructor(private params: any) {}
|
constructor(private params: any) {}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
import { Server } from 'socket.io'
|
|
||||||
|
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import { World } from '@/entities/world'
|
import { World } from '@/entities/world'
|
||||||
import SocketManager from '@/managers/socketManager'
|
import SocketManager from '@/managers/socketManager'
|
||||||
import WorldRepository from '@/repositories/worldRepository'
|
import WorldRepository from '@/repositories/worldRepository'
|
||||||
|
import { Server } from 'socket.io'
|
||||||
|
|
||||||
class DateManager {
|
class DateManager {
|
||||||
private static readonly CONFIG = {
|
private static readonly CONFIG = {
|
||||||
|
@ -1,16 +1,14 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import { createServer as httpServer, Server as HTTPServer } from 'http'
|
import { createServer as httpServer, Server as HTTPServer } from 'http'
|
||||||
import { createServer as httpsServer, Server as HTTPSServer } from 'https'
|
import { createServer as httpsServer, Server as HTTPSServer } from 'https'
|
||||||
|
|
||||||
import cors from 'cors'
|
|
||||||
import express, { type Application } from 'express'
|
|
||||||
|
|
||||||
import config from '@/application/config'
|
import config from '@/application/config'
|
||||||
import Logger, { LoggerType } from '@/application/logger.js'
|
import Logger, { LoggerType } from '@/application/logger.js'
|
||||||
import { AuthController } from '@/controllers/auth'
|
import { AuthController } from '@/controllers/auth'
|
||||||
import { AvatarController } from '@/controllers/avatar'
|
import { AvatarController } from '@/controllers/avatar'
|
||||||
import { CacheController } from '@/controllers/cache'
|
import { CacheController } from '@/controllers/cache'
|
||||||
import { TexturesController } from '@/controllers/textures'
|
import { TexturesController } from '@/controllers/textures'
|
||||||
|
import cors from 'cors'
|
||||||
|
import express, { type Application } from 'express'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* HTTP manager
|
* HTTP manager
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import type { UUID } from '@/application/types'
|
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import type { UUID } from '@/application/types'
|
||||||
import { Map } from '@/entities/map'
|
import { Map } from '@/entities/map'
|
||||||
import LoadedMap from '@/models/loadedMap'
|
import LoadedMap from '@/models/loadedMap'
|
||||||
import MapCharacter from '@/models/mapCharacter'
|
import MapCharacter from '@/models/mapCharacter'
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
|
|
||||||
import { Job, Queue, Worker } from 'bullmq'
|
|
||||||
import IORedis from 'ioredis'
|
|
||||||
import { Server as SocketServer } from 'socket.io'
|
|
||||||
|
|
||||||
import type { TSocket } from '@/application/types'
|
|
||||||
|
|
||||||
import config from '@/application/config'
|
import config from '@/application/config'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { TSocket } from '@/application/types'
|
||||||
import SocketManager from '@/managers/socketManager'
|
import SocketManager from '@/managers/socketManager'
|
||||||
|
import { Job, Queue, Worker } from 'bullmq'
|
||||||
|
import IORedis from 'ioredis'
|
||||||
|
import { Server as SocketServer } from 'socket.io'
|
||||||
|
|
||||||
class QueueManager {
|
class QueueManager {
|
||||||
private connection!: IORedis.Redis
|
private connection!: IORedis.Redis
|
||||||
|
@ -1,15 +1,12 @@
|
|||||||
import fs from 'fs'
|
import fs from 'fs'
|
||||||
import { Server as HTTPServer } from 'http'
|
import { Server as HTTPServer } from 'http'
|
||||||
import { pathToFileURL } from 'url'
|
import { pathToFileURL } from 'url'
|
||||||
|
|
||||||
import { Server as SocketServer } from 'socket.io'
|
|
||||||
|
|
||||||
import type { TSocket, UUID } from '@/application/types'
|
|
||||||
import type { Application } from 'express'
|
|
||||||
|
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import Storage from '@/application/storage'
|
import Storage from '@/application/storage'
|
||||||
|
import type { TSocket, UUID } from '@/application/types'
|
||||||
import { Authentication } from '@/middleware/authentication'
|
import { Authentication } from '@/middleware/authentication'
|
||||||
|
import type { Application } from 'express'
|
||||||
|
import { Server as SocketServer } from 'socket.io'
|
||||||
|
|
||||||
class SocketManager {
|
class SocketManager {
|
||||||
private io: SocketServer | null = null
|
private io: SocketServer | null = null
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
import { Server } from 'socket.io'
|
|
||||||
|
|
||||||
import { SocketEvent } from '@/application/enums'
|
import { SocketEvent } from '@/application/enums'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
import { World } from '@/entities/world'
|
import { World } from '@/entities/world'
|
||||||
import SocketManager from '@/managers/socketManager'
|
import SocketManager from '@/managers/socketManager'
|
||||||
import WorldRepository from '@/repositories/worldRepository'
|
import WorldRepository from '@/repositories/worldRepository'
|
||||||
|
import { Server } from 'socket.io'
|
||||||
|
|
||||||
type WeatherState = {
|
type WeatherState = {
|
||||||
rainPercentage: number
|
rainPercentage: number
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
import jwt from 'jsonwebtoken'
|
|
||||||
|
|
||||||
import type { TSocket } from '@/application/types'
|
|
||||||
|
|
||||||
import config from '@/application/config'
|
import config from '@/application/config'
|
||||||
import Logger, { LoggerType } from '@/application/logger'
|
import Logger, { LoggerType } from '@/application/logger'
|
||||||
|
import type { TSocket } from '@/application/types'
|
||||||
|
import jwt from 'jsonwebtoken'
|
||||||
|
|
||||||
class SocketAuthenticator {
|
class SocketAuthenticator {
|
||||||
private socket: TSocket
|
private socket: TSocket
|
||||||
|
@ -6,9 +6,7 @@ export class Migration20250207212301 extends Migration {
|
|||||||
`create table \`map\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`width\` int not null default 10, \`height\` int not null default 10, \`tiles\` json null, \`pvp\` tinyint(1) not null default false, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
`create table \`map\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`width\` int not null default 10, \`height\` int not null default 10, \`tiles\` json null, \`pvp\` tinyint(1) not null default false, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
||||||
)
|
)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`map_effect\` (\`id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`effect\` varchar(255) not null, \`strength\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`map_effect\` (\`id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`effect\` varchar(255) not null, \`strength\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`map_effect\` add index \`map_effect_map_id_index\`(\`map_id\`);`)
|
this.addSql(`alter table \`map_effect\` add index \`map_effect_map_id_index\`(\`map_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(
|
||||||
@ -33,9 +31,7 @@ export class Migration20250207212301 extends Migration {
|
|||||||
this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_id_index\`(\`map_id\`);`)
|
this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_id_index\`(\`map_id\`);`)
|
||||||
this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_object_id_index\`(\`map_object_id\`);`)
|
this.addSql(`alter table \`placed_map_object\` add index \`placed_map_object_map_object_id_index\`(\`map_object_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`sprite\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`sprite\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(
|
||||||
`create table \`item\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`description\` varchar(255) not null default '', \`item_type\` enum('WEAPON', 'HELMET', 'CHEST', 'LEGS', 'BOOTS', 'GLOVES', 'RING', 'NECKLACE') not null, \`stackable\` tinyint(1) not null default false, \`rarity\` enum('COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY') not null default 'COMMON', \`sprite_id\` varchar(255) null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
`create table \`item\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`description\` varchar(255) not null default '', \`item_type\` enum('WEAPON', 'HELMET', 'CHEST', 'LEGS', 'BOOTS', 'GLOVES', 'RING', 'NECKLACE') not null, \`stackable\` tinyint(1) not null default false, \`rarity\` enum('COMMON', 'UNCOMMON', 'RARE', 'EPIC', 'LEGENDARY') not null default 'COMMON', \`sprite_id\` varchar(255) null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
||||||
@ -57,19 +53,13 @@ export class Migration20250207212301 extends Migration {
|
|||||||
)
|
)
|
||||||
this.addSql(`alter table \`sprite_action\` add index \`sprite_action_sprite_id_index\`(\`sprite_id\`);`)
|
this.addSql(`alter table \`sprite_action\` add index \`sprite_action_sprite_id_index\`(\`sprite_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`tile\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`tags\` json null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`tile\` (\`id\` varchar(255) not null, \`name\` varchar(255) not null, \`tags\` json null, \`created_at\` datetime not null, \`updated_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`user\` (\`id\` varchar(255) not null, \`username\` varchar(255) not null, \`email\` varchar(255) not null, \`password\` varchar(255) not null, \`online\` tinyint(1) not null default false, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`user\` (\`id\` varchar(255) not null, \`username\` varchar(255) not null, \`email\` varchar(255) not null, \`password\` varchar(255) not null, \`online\` tinyint(1) not null default false, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`user\` add unique \`user_username_unique\`(\`username\`);`)
|
this.addSql(`alter table \`user\` add unique \`user_username_unique\`(\`username\`);`)
|
||||||
this.addSql(`alter table \`user\` add unique \`user_email_unique\`(\`email\`);`)
|
this.addSql(`alter table \`user\` add unique \`user_email_unique\`(\`email\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`password_reset_token\` (\`id\` varchar(255) not null, \`user_id\` varchar(255) not null, \`token\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`password_reset_token\` (\`id\` varchar(255) not null, \`user_id\` varchar(255) not null, \`token\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`password_reset_token\` add index \`password_reset_token_user_id_index\`(\`user_id\`);`)
|
this.addSql(`alter table \`password_reset_token\` add index \`password_reset_token_user_id_index\`(\`user_id\`);`)
|
||||||
this.addSql(`alter table \`password_reset_token\` add unique \`password_reset_token_token_unique\`(\`token\`);`)
|
this.addSql(`alter table \`password_reset_token\` add unique \`password_reset_token_token_unique\`(\`token\`);`)
|
||||||
|
|
||||||
@ -82,15 +72,11 @@ export class Migration20250207212301 extends Migration {
|
|||||||
this.addSql(`alter table \`character\` add index \`character_character_type_id_index\`(\`character_type_id\`);`)
|
this.addSql(`alter table \`character\` add index \`character_character_type_id_index\`(\`character_type_id\`);`)
|
||||||
this.addSql(`alter table \`character\` add index \`character_character_hair_id_index\`(\`character_hair_id\`);`)
|
this.addSql(`alter table \`character\` add index \`character_character_hair_id_index\`(\`character_hair_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`chat\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`message\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`chat\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`map_id\` varchar(255) not null, \`message\` varchar(255) not null, \`created_at\` datetime not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`chat\` add index \`chat_character_id_index\`(\`character_id\`);`)
|
this.addSql(`alter table \`chat\` add index \`chat_character_id_index\`(\`character_id\`);`)
|
||||||
this.addSql(`alter table \`chat\` add index \`chat_map_id_index\`(\`map_id\`);`)
|
this.addSql(`alter table \`chat\` add index \`chat_map_id_index\`(\`map_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`character_item\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`item_id\` varchar(255) not null, \`quantity\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`character_item\` (\`id\` varchar(255) not null, \`character_id\` varchar(255) not null, \`item_id\` varchar(255) not null, \`quantity\` int not null, primary key (\`id\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`character_item\` add index \`character_item_character_id_index\`(\`character_id\`);`)
|
this.addSql(`alter table \`character_item\` add index \`character_item_character_id_index\`(\`character_id\`);`)
|
||||||
this.addSql(`alter table \`character_item\` add index \`character_item_item_id_index\`(\`item_id\`);`)
|
this.addSql(`alter table \`character_item\` add index \`character_item_item_id_index\`(\`item_id\`);`)
|
||||||
|
|
||||||
@ -100,28 +86,18 @@ export class Migration20250207212301 extends Migration {
|
|||||||
this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_id_index\`(\`character_id\`);`)
|
this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_id_index\`(\`character_id\`);`)
|
||||||
this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_item_id_index\`(\`character_item_id\`);`)
|
this.addSql(`alter table \`character_equipment\` add index \`character_equipment_character_item_id_index\`(\`character_item_id\`);`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`create table \`world\` (\`date\` datetime not null, \`rain_percentage\` int not null default 0, \`fog_density\` int not null default 0, primary key (\`date\`)) default character set utf8mb4 engine = InnoDB;`)
|
||||||
`create table \`world\` (\`date\` datetime not null, \`rain_percentage\` int not null default 0, \`fog_density\` int not null default 0, primary key (\`date\`)) default character set utf8mb4 engine = InnoDB;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(`alter table \`map_effect\` add constraint \`map_effect_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`map_effect\` add constraint \`map_effect_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
|
|
||||||
this.addSql(`alter table \`map_event_tile\` add constraint \`map_event_tile_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`map_event_tile\` add constraint \`map_event_tile_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
this.addSql(
|
this.addSql(`alter table \`map_event_tile\` add constraint \`map_event_tile_teleport_id_foreign\` foreign key (\`teleport_id\`) references \`map_event_tile_teleport\` (\`id\`) on update cascade on delete set null;`)
|
||||||
`alter table \`map_event_tile\` add constraint \`map_event_tile_teleport_id_foreign\` foreign key (\`teleport_id\`) references \`map_event_tile_teleport\` (\`id\`) on update cascade on delete set null;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_map_event_tile_id_foreign\` foreign key (\`map_event_tile_id\`) references \`map_event_tile\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_map_event_tile_id_foreign\` foreign key (\`map_event_tile_id\`) references \`map_event_tile\` (\`id\`) on update cascade on delete cascade;`
|
this.addSql(`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_to_map_id_foreign\` foreign key (\`to_map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
)
|
|
||||||
this.addSql(
|
|
||||||
`alter table \`map_event_tile_teleport\` add constraint \`map_event_tile_teleport_to_map_id_foreign\` foreign key (\`to_map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(`alter table \`placed_map_object\` add constraint \`placed_map_object_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`placed_map_object\` add constraint \`placed_map_object_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
this.addSql(
|
this.addSql(`alter table \`placed_map_object\` add constraint \`placed_map_object_map_object_id_foreign\` foreign key (\`map_object_id\`) references \`map_object\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
`alter table \`placed_map_object\` add constraint \`placed_map_object_map_object_id_foreign\` foreign key (\`map_object_id\`) references \`map_object\` (\`id\`) on update cascade on delete cascade;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(`alter table \`item\` add constraint \`item_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete set null;`)
|
this.addSql(`alter table \`item\` add constraint \`item_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete set null;`)
|
||||||
|
|
||||||
@ -131,32 +107,20 @@ export class Migration20250207212301 extends Migration {
|
|||||||
|
|
||||||
this.addSql(`alter table \`sprite_action\` add constraint \`sprite_action_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`sprite_action\` add constraint \`sprite_action_sprite_id_foreign\` foreign key (\`sprite_id\`) references \`sprite\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`alter table \`password_reset_token\` add constraint \`password_reset_token_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
`alter table \`password_reset_token\` add constraint \`password_reset_token_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(`alter table \`character\` add constraint \`character_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`character\` add constraint \`character_user_id_foreign\` foreign key (\`user_id\`) references \`user\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
this.addSql(`alter table \`character\` add constraint \`character_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade;`)
|
this.addSql(`alter table \`character\` add constraint \`character_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade;`)
|
||||||
this.addSql(
|
this.addSql(`alter table \`character\` add constraint \`character_character_type_id_foreign\` foreign key (\`character_type_id\`) references \`character_type\` (\`id\`) on update cascade on delete set null;`)
|
||||||
`alter table \`character\` add constraint \`character_character_type_id_foreign\` foreign key (\`character_type_id\`) references \`character_type\` (\`id\`) on update cascade on delete set null;`
|
this.addSql(`alter table \`character\` add constraint \`character_character_hair_id_foreign\` foreign key (\`character_hair_id\`) references \`character_hair\` (\`id\`) on update cascade on delete set null;`)
|
||||||
)
|
|
||||||
this.addSql(
|
|
||||||
`alter table \`character\` add constraint \`character_character_hair_id_foreign\` foreign key (\`character_hair_id\`) references \`character_hair\` (\`id\`) on update cascade on delete set null;`
|
|
||||||
)
|
|
||||||
|
|
||||||
this.addSql(`alter table \`chat\` add constraint \`chat_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`chat\` add constraint \`chat_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
this.addSql(`alter table \`chat\` add constraint \`chat_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`chat\` add constraint \`chat_map_id_foreign\` foreign key (\`map_id\`) references \`map\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`alter table \`character_item\` add constraint \`character_item_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
`alter table \`character_item\` add constraint \`character_item_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`
|
|
||||||
)
|
|
||||||
this.addSql(`alter table \`character_item\` add constraint \`character_item_item_id_foreign\` foreign key (\`item_id\`) references \`item\` (\`id\`) on update cascade on delete cascade;`)
|
this.addSql(`alter table \`character_item\` add constraint \`character_item_item_id_foreign\` foreign key (\`item_id\`) references \`item\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
|
|
||||||
this.addSql(
|
this.addSql(`alter table \`character_equipment\` add constraint \`character_equipment_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
`alter table \`character_equipment\` add constraint \`character_equipment_character_id_foreign\` foreign key (\`character_id\`) references \`character\` (\`id\`) on update cascade on delete cascade;`
|
this.addSql(`alter table \`character_equipment\` add constraint \`character_equipment_character_item_id_foreign\` foreign key (\`character_item_id\`) references \`character_item\` (\`id\`) on update cascade on delete cascade;`)
|
||||||
)
|
|
||||||
this.addSql(
|
|
||||||
`alter table \`character_equipment\` add constraint \`character_equipment_character_item_id_foreign\` foreign key (\`character_item_id\`) references \`character_item\` (\`id\`) on update cascade on delete cascade;`
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
|
import serverConfig from '@/application/config'
|
||||||
import { defineConfig, MariaDbDriver } from '@mikro-orm/mariadb'
|
import { defineConfig, MariaDbDriver } from '@mikro-orm/mariadb'
|
||||||
// import { defineConfig, MySqlDriver } from '@mikro-orm/mysql'
|
// import { defineConfig, MySqlDriver } from '@mikro-orm/mysql'
|
||||||
import { Migrator } from '@mikro-orm/migrations'
|
import { Migrator } from '@mikro-orm/migrations'
|
||||||
import { TsMorphMetadataProvider } from '@mikro-orm/reflection'
|
import { TsMorphMetadataProvider } from '@mikro-orm/reflection'
|
||||||
|
|
||||||
import serverConfig from '@/application/config'
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
extensions: [Migrator],
|
extensions: [Migrator],
|
||||||
metadataProvider: TsMorphMetadataProvider,
|
metadataProvider: TsMorphMetadataProvider,
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user