1
0
forked from noxious/server

Improved entities, ran formatting, utilise getters and setters

This commit is contained in:
2024-12-26 16:45:00 +01:00
parent 691abb7c4f
commit 4a963b4359
18 changed files with 68 additions and 97 deletions

View File

@ -6,7 +6,7 @@ class CharacterHairRepository extends BaseRepository {
async getFirst() {
try {
const repository = this.em.getRepository(CharacterHair)
return await repository.findOne({ id: { $exists: true } })
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get first character hair: ${error instanceof Error ? error.message : String(error)}`)
return null
@ -16,7 +16,7 @@ class CharacterHairRepository extends BaseRepository {
async getAll() {
try {
const repository = this.em.getRepository(CharacterHair)
return await repository.findAll()
return await repository.findAll({ populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get all character hair: ${error instanceof Error ? error.message : String(error)}`)
return null
@ -26,9 +26,7 @@ class CharacterHairRepository extends BaseRepository {
async getAllSelectable() {
try {
const repository = this.em.getRepository(CharacterHair)
return await repository.find({
isSelectable: true
})
return await repository.find({ isSelectable: true }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get selectable character hair: ${error instanceof Error ? error.message : String(error)}`)
return null
@ -38,12 +36,7 @@ class CharacterHairRepository extends BaseRepository {
async getById(id: number) {
try {
const repository = this.em.getRepository(CharacterHair)
return await repository.findOne(
{ id },
{
populate: ['sprite.spriteActions']
}
)
return await repository.findOne({ id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character hair by ID: ${error instanceof Error ? error.message : String(error)}`)
return null

View File

@ -6,9 +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
})
return await repository.find({ user: userId }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character by user ID: ${error instanceof Error ? error.message : String(error)}`)
return []
@ -18,10 +16,7 @@ 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
})
return await repository.findOne({ user: userId, id: characterId }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character by user ID and character ID: ${error instanceof Error ? error.message : String(error)}`)
return null
@ -31,7 +26,7 @@ class CharacterRepository extends BaseRepository {
async getById(id: number): Promise<Character | null> {
try {
const repository = this.em.getRepository(Character)
return await repository.findOne({ id })
return await repository.findOne({ id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character by ID: ${error instanceof Error ? error.message : String(error)}`)
return null
@ -41,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 })
return await repository.findOne({ name }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character by name: ${error instanceof Error ? error.message : String(error)}`)
return null

View File

@ -6,7 +6,7 @@ class CharacterTypeRepository extends BaseRepository {
async getFirst() {
try {
const repository = this.em.getRepository(CharacterType)
return await repository.findOne({ id: { $exists: true } })
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
} 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()
return await repository.findAll({ populate: ['*'] })
} 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 })
return await repository.findOne({ id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get character type by ID: ${error instanceof Error ? error.message : String(error)}`)
return null

View File

@ -6,9 +6,12 @@ class ChatRepository extends BaseRepository {
async getById(id: number): Promise<Chat[]> {
try {
const repository = this.em.getRepository(Chat)
return await repository.find({
id
})
return await repository.find(
{
id
},
{ populate: ['*'] }
)
} catch (error: any) {
appLogger.error(`Failed to get chat by ID: ${error instanceof Error ? error.message : String(error)}`)
return []
@ -18,7 +21,7 @@ class ChatRepository extends BaseRepository {
async getAll(): Promise<Chat[]> {
try {
const repository = this.em.getRepository(Chat)
return await repository.findAll()
return await repository.findAll({ populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get all chats: ${error instanceof Error ? error.message : String(error)}`)
return []
@ -28,9 +31,7 @@ class ChatRepository extends BaseRepository {
async getByCharacterId(characterId: number): Promise<Chat[]> {
try {
const repository = this.em.getRepository(Chat)
return await repository.find({
character: characterId
})
return await repository.find({ character: characterId }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get chats by character ID: ${error instanceof Error ? error.message : String(error)}`)
return []
@ -40,9 +41,7 @@ class ChatRepository extends BaseRepository {
async getByZoneId(zoneId: number): Promise<Chat[]> {
try {
const repository = this.em.getRepository(Chat)
return await repository.find({
zone: zoneId
})
return await repository.find({ zone: zoneId }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get chats by zone ID: ${error instanceof Error ? error.message : String(error)}`)
return []

View File

@ -6,7 +6,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 })
return await repository.findOne({ id }, { populate: ['*'] })
} catch (error: any) {
return null
}
@ -15,7 +15,7 @@ class SpriteRepository extends BaseRepository {
async getAll(): Promise<any> {
try {
const repository = this.em.getRepository(Sprite)
return await repository.findAll()
return await repository.findAll({ populate: ['*'] })
} catch (error: any) {
return null
}

View File

@ -6,7 +6,7 @@ class UserRepository extends BaseRepository {
async getById(id: number) {
try {
const repository = this.em.getRepository(User)
return await repository.findOne({ id })
return await repository.findOne({ id }, { populate: ['*'] })
} 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 })
return await repository.findOne({ username }, { populate: ['*'] })
} 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 })
return await repository.findOne({ email }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get user by email: ${error instanceof Error ? error.message : String(error)}`)
return null

View File

@ -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 } })
return await repository.findOne({ id: { $exists: true } }, { populate: ['*'] })
} 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()
return await repository.findAll({ populate: ['*'] })
} 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 })
return await repository.findOne({ id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get zone by id: ${error.message}`)
return null
@ -38,9 +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
})
return await repository.find({ zone: id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get zone event tiles: ${error.message}`)
return []
@ -50,11 +48,14 @@ 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
})
return await repository.findOne(
{
zone: zoneId,
positionX: positionX,
positionY: positionY
},
{ populate: ['*'] }
)
} catch (error: any) {
appLogger.error(`Failed to get zone event tile: ${error.message}`)
return null
@ -64,9 +65,7 @@ class ZoneRepository extends BaseRepository {
async getZoneObjects(id: number): Promise<ZoneObject[]> {
try {
const repository = this.em.getRepository(ZoneObject)
return await repository.find({
zone: id
})
return await repository.find({ zone: id }, { populate: ['*'] })
} catch (error: any) {
appLogger.error(`Failed to get zone objects: ${error.message}`)
return []