POC
This commit is contained in:
parent
e843213b0a
commit
0b4420f956
@ -1,5 +1,4 @@
|
|||||||
import { BaseEvent } from '#application/base/baseEvent'
|
import { BaseEvent } from '#application/base/baseEvent'
|
||||||
import Database from '#application/database'
|
|
||||||
import { CharacterHair } from '#entities/characterHair'
|
import { CharacterHair } from '#entities/characterHair'
|
||||||
import characterHairRepository from '#repositories/characterHairRepository'
|
import characterHairRepository from '#repositories/characterHairRepository'
|
||||||
|
|
||||||
@ -12,8 +11,8 @@ export default class characterHairListEvent extends BaseEvent {
|
|||||||
|
|
||||||
private async handleEvent(data: IPayload, callback: (response: CharacterHair[]) => void): Promise<void> {
|
private async handleEvent(data: IPayload, callback: (response: CharacterHair[]) => void): Promise<void> {
|
||||||
try {
|
try {
|
||||||
const items: CharacterHair[] = await characterHairRepository.getAllSelectable()
|
const items: CharacterHair[] = await characterHairRepository.getAllSelectable(['sprite'])
|
||||||
await Database.getEntityManager().populate(items, ['sprite'])
|
|
||||||
return callback(items)
|
return callback(items)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error('character:hair:list error', error)
|
this.logger.error('character:hair:list error', error)
|
||||||
|
@ -22,8 +22,10 @@ export default class CharacterConnectEvent extends BaseEvent {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
/// DOWN HERE
|
const character = await CharacterRepository.getByUserAndId(this.socket.userId!, data.characterId, [
|
||||||
const character = await CharacterRepository.getByUserAndId(this.socket.userId!, data.characterId, ['characterHair', 'characterHair'])
|
'characterType',
|
||||||
|
'characterHair'
|
||||||
|
])
|
||||||
|
|
||||||
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')
|
||||||
|
@ -14,7 +14,7 @@ export default class SpriteListEvent extends BaseEvent {
|
|||||||
if (!(await this.isCharacterGM())) return
|
if (!(await this.isCharacterGM())) return
|
||||||
|
|
||||||
// get all sprites
|
// get all sprites
|
||||||
const sprites = await SpriteRepository.getAll()
|
const sprites = await SpriteRepository.getAll(['*'])
|
||||||
callback(sprites)
|
callback(sprites)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,10 +23,10 @@ class CharacterHairRepository extends BaseRepository {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAllSelectable(): Promise<CharacterHair[]> {
|
async getAllSelectable(populate?: any): Promise<CharacterHair[]> {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(CharacterHair)
|
const repository = this.em.getRepository(CharacterHair)
|
||||||
return await repository.find({ isSelectable: true })
|
return await repository.find({ isSelectable: true }, { populate })
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
this.logger.error(`Failed to get selectable character hair: ${error instanceof Error ? error.message : String(error)}`)
|
this.logger.error(`Failed to get selectable character hair: ${error instanceof Error ? error.message : String(error)}`)
|
||||||
return []
|
return []
|
||||||
|
@ -3,35 +3,23 @@ import { UUID } from '#application/types'
|
|||||||
import { Sprite } from '#entities/sprite'
|
import { Sprite } from '#entities/sprite'
|
||||||
|
|
||||||
class SpriteRepository extends BaseRepository {
|
class SpriteRepository extends BaseRepository {
|
||||||
async getById(id: UUID) {
|
async getById(id: UUID, populate?: any) {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Sprite)
|
const repository = this.em.getRepository(Sprite)
|
||||||
return await repository.findOne({ id })
|
return await repository.findOne({ id }, { populate })
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async getAll(): Promise<any> {
|
async getAll(populate?: any): Promise<Sprite[]> {
|
||||||
try {
|
try {
|
||||||
const repository = this.em.getRepository(Sprite)
|
const repository = this.em.getRepository(Sprite)
|
||||||
return await repository.findAll()
|
return await repository.findAll({ populate })
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
return null
|
return []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @TODO: THIS BROKEY
|
|
||||||
// async getSpriteActions(spriteId: string): Promise<any> {
|
|
||||||
// try {
|
|
||||||
// const repository = this.em.getRepository(SpriteAction)
|
|
||||||
// return await repository.find({
|
|
||||||
// sprite: spriteId
|
|
||||||
// })
|
|
||||||
// } catch (error: any) {
|
|
||||||
// return null
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new SpriteRepository()
|
export default new SpriteRepository()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user