forked from noxious/server
Greatly improved server code base
This commit is contained in:
@ -6,37 +6,37 @@ class CharacterHairRepository extends BaseRepository {
|
||||
async getFirst() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
|
||||
return await repository.findOne({ id: { $exists: true } })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get first character hair: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
async getAll() {
|
||||
async getAll(): Promise<CharacterHair[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
return await repository.findAll({ populate: ['*'] })
|
||||
return await repository.findAll()
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get all character hair: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async getAllSelectable() {
|
||||
async getAllSelectable(): Promise<CharacterHair[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
return await repository.find({ isSelectable: true }, { populate: ['*'] })
|
||||
return await repository.find({ isSelectable: true })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get selectable character hair: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
return []
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id: number) {
|
||||
async getById(id: number): Promise<CharacterHair | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character hair by ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
|
@ -6,7 +6,7 @@ class CharacterRepository extends BaseRepository {
|
||||
async getByUserId(userId: number): Promise<Character[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Character)
|
||||
return await repository.find({ user: userId }, { populate: ['*'] })
|
||||
return await repository.find({ user: userId })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character by user ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return []
|
||||
@ -16,17 +16,17 @@ class CharacterRepository extends BaseRepository {
|
||||
async getByUserAndId(userId: number, characterId: number): Promise<Character | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Character)
|
||||
return await repository.findOne({ user: userId, id: characterId }, { populate: ['*'] })
|
||||
return await repository.findOne({ user: userId, id: characterId })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character by user ID and character ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
async getById(id: number): Promise<Character | null> {
|
||||
async getById(id: number, populate?: string[]): Promise<Character | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Character)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character by ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -36,7 +36,7 @@ class CharacterRepository extends BaseRepository {
|
||||
async getByName(name: string): Promise<Character | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Character)
|
||||
return await repository.findOne({ name }, { populate: ['*'] })
|
||||
return await repository.findOne({ name })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character by name: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
|
@ -6,7 +6,7 @@ class CharacterTypeRepository extends BaseRepository {
|
||||
async getFirst() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterType)
|
||||
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
|
||||
return await repository.findOne({ id: { $exists: true } })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get first character type: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -16,7 +16,7 @@ class CharacterTypeRepository extends BaseRepository {
|
||||
async getAll() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterType)
|
||||
return await repository.findAll({ populate: ['*'] })
|
||||
return await repository.findAll()
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get all character types: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -26,7 +26,7 @@ class CharacterTypeRepository extends BaseRepository {
|
||||
async getById(id: number) {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterType)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get character type by ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
|
@ -6,12 +6,9 @@ class ChatRepository extends BaseRepository {
|
||||
async getById(id: number): Promise<Chat[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Chat)
|
||||
return await repository.find(
|
||||
{
|
||||
id
|
||||
},
|
||||
{ populate: ['*'] }
|
||||
)
|
||||
return await repository.find({
|
||||
id
|
||||
})
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get chat by ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return []
|
||||
@ -21,7 +18,7 @@ class ChatRepository extends BaseRepository {
|
||||
async getAll(): Promise<Chat[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Chat)
|
||||
return await repository.findAll({ populate: ['*'] })
|
||||
return await repository.findAll()
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get all chats: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return []
|
||||
@ -31,7 +28,7 @@ class ChatRepository extends BaseRepository {
|
||||
async getByCharacterId(characterId: number): Promise<Chat[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Chat)
|
||||
return await repository.find({ character: characterId }, { populate: ['*'] })
|
||||
return await repository.find({ character: characterId })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get chats by character ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return []
|
||||
@ -41,7 +38,7 @@ class ChatRepository extends BaseRepository {
|
||||
async getByZoneId(zoneId: number): Promise<Chat[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Chat)
|
||||
return await repository.find({ zone: zoneId }, { populate: ['*'] })
|
||||
return await repository.find({ zone: zoneId })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get chats by zone ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return []
|
||||
|
@ -7,7 +7,7 @@ class SpriteRepository extends BaseRepository {
|
||||
async getById(id: FilterValue<`${string}-${string}-${string}-${string}-${string}`>) {
|
||||
try {
|
||||
const repository = this.em.getRepository(Sprite)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
return null
|
||||
}
|
||||
@ -16,7 +16,7 @@ class SpriteRepository extends BaseRepository {
|
||||
async getAll(): Promise<any> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Sprite)
|
||||
return await repository.findAll({ populate: ['*'] })
|
||||
return await repository.findAll()
|
||||
} catch (error: any) {
|
||||
return null
|
||||
}
|
||||
|
@ -2,9 +2,9 @@ import { FilterValue } from '@mikro-orm/core'
|
||||
|
||||
import { BaseRepository } from '#application/base/baseRepository'
|
||||
import { unduplicateArray } from '#application/utilities'
|
||||
import { FlattenZoneArray } from '#application/zone'
|
||||
import { Tile } from '#entities/tile'
|
||||
import { Zone } from '#entities/zone'
|
||||
import ZoneService from '#services/zoneService'
|
||||
|
||||
class TileRepository extends BaseRepository {
|
||||
async getById(id: FilterValue<`${string}-${string}-${string}-${string}-${string}`>): Promise<any> {
|
||||
@ -44,7 +44,7 @@ class TileRepository extends BaseRepository {
|
||||
const zone = await repository.findOne({ id: zoneId })
|
||||
if (!zone) return null
|
||||
|
||||
const zoneTileArray = unduplicateArray(FlattenZoneArray(JSON.parse(JSON.stringify(zone.tiles))))
|
||||
const zoneTileArray = unduplicateArray(ZoneService.flattenZoneArray(JSON.parse(JSON.stringify(zone.tiles))))
|
||||
|
||||
return await tileRepository.find({
|
||||
id: zoneTileArray
|
||||
|
@ -6,7 +6,7 @@ class UserRepository extends BaseRepository {
|
||||
async getById(id: number) {
|
||||
try {
|
||||
const repository = this.em.getRepository(User)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get user by ID: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -16,7 +16,7 @@ class UserRepository extends BaseRepository {
|
||||
async getByUsername(username: string) {
|
||||
try {
|
||||
const repository = this.em.getRepository(User)
|
||||
return await repository.findOne({ username }, { populate: ['*'] })
|
||||
return await repository.findOne({ username })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get user by username: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -26,7 +26,7 @@ class UserRepository extends BaseRepository {
|
||||
async getByEmail(email: string) {
|
||||
try {
|
||||
const repository = this.em.getRepository(User)
|
||||
return await repository.findOne({ email }, { populate: ['*'] })
|
||||
return await repository.findOne({ email })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get user by email: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
|
@ -8,7 +8,7 @@ class ZoneRepository extends BaseRepository {
|
||||
async getFirst(): Promise<Zone | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Zone)
|
||||
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
|
||||
return await repository.findOne({ id: { $exists: true } })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get first zone: ${error instanceof Error ? error.message : String(error)}`)
|
||||
return null
|
||||
@ -18,7 +18,7 @@ class ZoneRepository extends BaseRepository {
|
||||
async getAll(): Promise<Zone[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Zone)
|
||||
return await repository.findAll({ populate: ['*'] })
|
||||
return await repository.findAll()
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get all zone: ${error.message}`)
|
||||
return []
|
||||
@ -28,7 +28,7 @@ class ZoneRepository extends BaseRepository {
|
||||
async getById(id: number) {
|
||||
try {
|
||||
const repository = this.em.getRepository(Zone)
|
||||
return await repository.findOne({ id }, { populate: ['*'] })
|
||||
return await repository.findOne({ id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone by id: ${error.message}`)
|
||||
return null
|
||||
@ -38,7 +38,7 @@ class ZoneRepository extends BaseRepository {
|
||||
async getEventTiles(id: number): Promise<ZoneEventTile[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(ZoneEventTile)
|
||||
return await repository.find({ zone: id }, { populate: ['*'] })
|
||||
return await repository.find({ zone: id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone event tiles: ${error.message}`)
|
||||
return []
|
||||
@ -48,14 +48,11 @@ class ZoneRepository extends BaseRepository {
|
||||
async getFirstEventTile(zoneId: number, positionX: number, positionY: number): Promise<ZoneEventTile | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(ZoneEventTile)
|
||||
return await repository.findOne(
|
||||
{
|
||||
zone: zoneId,
|
||||
positionX: positionX,
|
||||
positionY: positionY
|
||||
},
|
||||
{ populate: ['*'] }
|
||||
)
|
||||
return await repository.findOne({
|
||||
zone: zoneId,
|
||||
positionX: positionX,
|
||||
positionY: positionY
|
||||
})
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone event tile: ${error.message}`)
|
||||
return null
|
||||
@ -65,7 +62,7 @@ class ZoneRepository extends BaseRepository {
|
||||
async getZoneObjects(id: number): Promise<ZoneObject[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(ZoneObject)
|
||||
return await repository.find({ zone: id }, { populate: ['*'] })
|
||||
return await repository.find({ zone: id })
|
||||
} catch (error: any) {
|
||||
appLogger.error(`Failed to get zone objects: ${error.message}`)
|
||||
return []
|
||||
|
Reference in New Issue
Block a user