1
0
forked from noxious/server

Added getter & setter functions to all entities

This commit is contained in:
2024-12-26 15:15:18 +01:00
parent 6a27ccff31
commit 691abb7c4f
33 changed files with 1500 additions and 168 deletions

View File

@ -64,7 +64,7 @@ export class CharacterService {
character.positionX = positionX
character.positionY = positionY
character.rotation = rotation
character.zone = await ZoneRepository.getById(zoneId) as Zone
character.zone = (await ZoneRepository.getById(zoneId)) as Zone
await character.save()

View File

@ -9,7 +9,6 @@ import CharacterRepository from '#repositories/characterRepository'
class ChatService {
async sendZoneMessage(io: Server, socket: TSocket, message: string, characterId: number, zoneId: number): Promise<boolean> {
try {
const character = await CharacterRepository.getById(characterId)
if (!character) return false
@ -18,9 +17,10 @@ class ChatService {
const newChat = new Chat()
newChat.character = character
newChat.zone = zone
newChat.message = message
newChat
.setCharacter(character)
.setZone(zone)
.setMessage(message)
await newChat.save()

View File

@ -48,9 +48,10 @@ class UserService {
const hashedPassword = await bcrypt.hash(password, 10)
const newUser = new User()
newUser.username = username
newUser.email = email
newUser.password = hashedPassword
newUser
.setUsername(username)
.setEmail(email)
.setPassword(hashedPassword)
await newUser.save()
return newUser
@ -81,8 +82,9 @@ class UserService {
// Create new token using MikroORM
const passwordResetToken = new PasswordResetToken()
passwordResetToken.user = user
passwordResetToken.token = token
passwordResetToken
.setUser(user)
.setToken(token)
await passwordResetToken.save()
const transporter = NodeMailer.createTransport({

View File

@ -10,19 +10,19 @@ class WorldService {
world = new World()
}
world.date = worldData.date || new Date()
world.setDate(worldData.date || new Date())
if (worldData.isRainEnabled) {
world.isRainEnabled = worldData.isRainEnabled
world.setIsRainEnabled(worldData.isRainEnabled)
}
if (worldData.rainPercentage) {
world.rainPercentage = worldData.rainPercentage
world.setRainPercentage(worldData.rainPercentage)
}
if (worldData.isFogEnabled) {
world.isFogEnabled = worldData.isFogEnabled
world.setIsFogEnabled(worldData.isFogEnabled)
}
if (worldData.fogDensity) {
world.fogDensity = worldData.fogDensity
world.setFogDensity(worldData.fogDensity)
}
await world.save()

View File

@ -6,7 +6,7 @@ import { ZoneEventTileTeleport } from '#entities/zoneEventTileTeleport'
export class ZoneEventTileService {
public async handleTeleport(io: Server, socket: TSocket, character: ExtendedCharacter, teleport: ZoneEventTileTeleport): Promise<void> {
if (teleport.toZone.id === character.zone.id) return
if (teleport.toZone.id === character.zone!.id) return
const loadedZone = ZoneManager.getZoneById(teleport.toZone.id)
if (!loadedZone) {
@ -16,15 +16,16 @@ export class ZoneEventTileService {
const zone = loadedZone.getZone()
const oldZoneId = character.zone.id
const oldZoneId = character.zone!.id
const newZoneId = teleport.toZone.id
// Update local character object
character.zone = teleport.toZone
character.rotation = teleport.toRotation
character.positionX = teleport.toPositionX
character.positionY = teleport.toPositionY
character.isMoving = false
// Update local character object
character
.setZone(teleport.toZone)
.setRotation(teleport.toRotation)
.setPositionX(teleport.toPositionX)
.setPositionY(teleport.toPositionY)
await character.save()