forked from noxious/server
Made printWidth smaller for better readability, removed redundant services
This commit is contained in:
parent
ae269be196
commit
9bdafd5026
@ -3,6 +3,6 @@
|
||||
"semi": false,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"printWidth": 300,
|
||||
"printWidth": 200,
|
||||
"trailingComma": "none"
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
import { EntityManager } from '@mikro-orm/core'
|
||||
import { MikroORM } from '@mikro-orm/mysql'
|
||||
|
||||
import Logger, { LoggerType } from './logger'
|
||||
|
@ -152,7 +152,14 @@ export default class InitCommand extends BaseCommand {
|
||||
.save()
|
||||
|
||||
const characterType = new CharacterType()
|
||||
await characterType.setId('75b70c78-17f0-44c0-a4fa-15043cb95be0').setName('New character type').setGender(CharacterGender.MALE).setRace(CharacterRace.HUMAN).setIsSelectable(true).setSprite(characterSprite).save()
|
||||
await characterType
|
||||
.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> {
|
||||
|
@ -28,7 +28,16 @@ export default class MapObjectUpdateEvent extends BaseEvent {
|
||||
const mapObject = await mapObjectRepository.getById(data.id)
|
||||
if (!mapObject) return callback(false)
|
||||
|
||||
await mapObject.setName(data.name).setTags(data.tags).setOriginX(data.originX).setOriginY(data.originY).setIsAnimated(data.isAnimated).setFrameRate(data.frameRate).setFrameWidth(data.frameWidth).setFrameHeight(data.frameHeight).save()
|
||||
await mapObject
|
||||
.setName(data.name)
|
||||
.setTags(data.tags)
|
||||
.setOriginX(data.originX)
|
||||
.setOriginY(data.originY)
|
||||
.setIsAnimated(data.isAnimated)
|
||||
.setFrameRate(data.frameRate)
|
||||
.setFrameWidth(data.frameWidth)
|
||||
.setFrameHeight(data.frameHeight)
|
||||
.save()
|
||||
|
||||
return callback(true)
|
||||
} catch (error) {
|
||||
|
@ -96,7 +96,13 @@ export default class MapUpdateEvent extends BaseEvent {
|
||||
|
||||
// Create and add new map objects
|
||||
for (const object of data.placedMapObjects) {
|
||||
const mapObject = new PlacedMapObject().setMapObject(object.mapObject).setDepth(object.depth).setIsRotated(object.isRotated).setPositionX(object.positionX).setPositionY(object.positionY).setMap(map)
|
||||
const mapObject = new PlacedMapObject()
|
||||
.setMapObject(object.mapObject)
|
||||
.setDepth(object.depth)
|
||||
.setIsRotated(object.isRotated)
|
||||
.setPositionX(object.positionX)
|
||||
.setPositionY(object.positionY)
|
||||
.setMap(map)
|
||||
map.placedMapObjects.add(mapObject)
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,8 @@ class DateManager {
|
||||
|
||||
private async saveDate(): Promise<void> {
|
||||
try {
|
||||
await WorldService.update({ date: this.currentDate })
|
||||
const worldRepository = new WorldRepository()
|
||||
await (await worldRepository.getFirst())?.setDate(this.currentDate).save()
|
||||
} catch (error) {
|
||||
this.handleError('Failed to save date', error)
|
||||
}
|
||||
|
@ -113,7 +113,13 @@ class WeatherManager {
|
||||
|
||||
private async saveWeather(): Promise<void> {
|
||||
try {
|
||||
await WorldService.update(this.weatherState)
|
||||
const worldRepository = new WorldRepository()
|
||||
await (await worldRepository.getFirst())
|
||||
?.setIsRainEnabled(this.weatherState.isRainEnabled)
|
||||
.setRainPercentage(this.weatherState.rainPercentage)
|
||||
.setIsFogEnabled(this.weatherState.isFogEnabled)
|
||||
.setFogDensity(this.weatherState.fogDensity)
|
||||
.save()
|
||||
} catch (error) {
|
||||
this.logError('save', error)
|
||||
}
|
||||
|
@ -7,11 +7,13 @@ import config from '#application/config'
|
||||
import Database from '#application/database'
|
||||
import Logger, { LoggerType } from '#application/logger'
|
||||
import ConsoleManager from '#managers/consoleManager'
|
||||
import DateManager from '#managers/dateManager'
|
||||
import HttpManager from '#managers/httpManager'
|
||||
import MapManager from '#managers/mapManager'
|
||||
import QueueManager from '#managers/queueManager'
|
||||
import SocketManager from '#managers/socketManager'
|
||||
import UserManager from '#managers/userManager'
|
||||
import WeatherManager from '#managers/weatherManager'
|
||||
|
||||
export class Server {
|
||||
private readonly app: Application
|
||||
@ -36,7 +38,16 @@ export class Server {
|
||||
this.logger.info(`Server running on port ${config.PORT}`)
|
||||
|
||||
// Initialize managers
|
||||
await Promise.all([HttpManager.boot(this.app), SocketManager.boot(this.app, this.http), QueueManager.boot(), UserManager.boot(), MapManager.boot(), ConsoleManager.boot()])
|
||||
await Promise.all([
|
||||
HttpManager.boot(this.app),
|
||||
SocketManager.boot(this.app, this.http),
|
||||
QueueManager.boot(),
|
||||
UserManager.boot(),
|
||||
MapManager.boot(),
|
||||
DateManager.boot(),
|
||||
WeatherManager.boot(),
|
||||
ConsoleManager.boot()
|
||||
])
|
||||
} catch (error: any) {
|
||||
this.logger.error(`Server failed to start: ${error.message}`)
|
||||
process.exit(1)
|
||||
|
@ -1,26 +0,0 @@
|
||||
import { BaseService } from '#application/base/baseService'
|
||||
import passwordResetTokenRepository from '#repositories/passwordResetTokenRepository'
|
||||
|
||||
class PasswordResetTokenService extends BaseService {
|
||||
/**
|
||||
* Delete token
|
||||
* @param token
|
||||
*/
|
||||
public async delete(token: string): Promise<boolean> {
|
||||
try {
|
||||
const tokenData = await passwordResetTokenRepository.getByToken(token)
|
||||
if (!tokenData) {
|
||||
return false
|
||||
}
|
||||
|
||||
await tokenData.delete()
|
||||
|
||||
return true
|
||||
} catch (error: any) {
|
||||
this.logger.error(`Error deleting password reset token: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new PasswordResetTokenService()
|
@ -1,8 +1,6 @@
|
||||
import bcrypt from 'bcryptjs'
|
||||
import NodeMailer from 'nodemailer'
|
||||
|
||||
import PasswordResetTokenService from './passwordResetTokenService' // @TODO: Correctly implement this
|
||||
|
||||
import { BaseService } from '#application/base/baseService'
|
||||
import config from '#application/config'
|
||||
import { PasswordResetToken } from '#entities/passwordResetToken'
|
||||
@ -50,8 +48,7 @@ class UserService extends BaseService {
|
||||
}
|
||||
|
||||
const newUser = new User()
|
||||
newUser.setUsername(username).setEmail(email).setPassword(password)
|
||||
await newUser.save()
|
||||
await newUser.setUsername(username).setEmail(email).setPassword(password).save()
|
||||
|
||||
return newUser
|
||||
} catch (error: any) {
|
||||
@ -81,8 +78,7 @@ class UserService extends BaseService {
|
||||
|
||||
// Create new token using MikroORM
|
||||
const passwordResetToken = new PasswordResetToken()
|
||||
passwordResetToken.setUser(user).setToken(token)
|
||||
await passwordResetToken.save()
|
||||
await passwordResetToken.setUser(user).setToken(token).save()
|
||||
|
||||
const transporter = NodeMailer.createTransport({
|
||||
host: config.SMTP_HOST,
|
||||
|
@ -1,38 +0,0 @@
|
||||
import { BaseService } from '#application/base/baseService'
|
||||
import { World } from '#entities/world'
|
||||
import WorldRepository from '#repositories/worldRepository'
|
||||
|
||||
class WorldService extends BaseService {
|
||||
async update(worldData: Partial<World>): Promise<boolean> {
|
||||
try {
|
||||
let world = await WorldRepository.getFirst()
|
||||
if (!world) {
|
||||
world = new World()
|
||||
}
|
||||
|
||||
world.setDate(worldData.date || new Date())
|
||||
|
||||
if (worldData.isRainEnabled) {
|
||||
world.setIsRainEnabled(worldData.isRainEnabled)
|
||||
}
|
||||
if (worldData.rainPercentage) {
|
||||
world.setRainPercentage(worldData.rainPercentage)
|
||||
}
|
||||
if (worldData.isFogEnabled) {
|
||||
world.setIsFogEnabled(worldData.isFogEnabled)
|
||||
}
|
||||
if (worldData.fogDensity) {
|
||||
world.setFogDensity(worldData.fogDensity)
|
||||
}
|
||||
|
||||
await world.save()
|
||||
|
||||
return true
|
||||
} catch (error: any) {
|
||||
this.logger.error(`Failed to update world: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new WorldService()
|
Loading…
x
Reference in New Issue
Block a user