forked from noxious/server
Added README.md, started refactoring init. command
This commit is contained in:
File diff suppressed because one or more lines are too long
@ -1,3 +1,4 @@
|
||||
import { randomUUID } from 'node:crypto'
|
||||
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
|
||||
import { BaseEntity } from '#application/bases/baseEntity'
|
||||
import { Zone } from './zone'
|
||||
@ -5,7 +6,7 @@ import { Zone } from './zone'
|
||||
@Entity()
|
||||
export class ZoneEffect extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id!: string
|
||||
id = randomUUID()
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
zone!: Zone
|
||||
|
@ -3,6 +3,16 @@ import { BaseRepository } from '#application/bases/baseRepository'
|
||||
import { CharacterHair } from '#entities/characterHair'
|
||||
|
||||
class CharacterHairRepository extends BaseRepository {
|
||||
async getFirst() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
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() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterHair)
|
||||
|
@ -3,6 +3,16 @@ import { BaseRepository } from '#application/bases/baseRepository'
|
||||
import { CharacterType } from '#entities/characterType'
|
||||
|
||||
class CharacterTypeRepository extends BaseRepository {
|
||||
async getFirst() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterType)
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
async getAll() {
|
||||
try {
|
||||
const repository = this.em.getRepository(CharacterType)
|
||||
|
@ -5,6 +5,16 @@ import { ZoneObject } from '#entities/zoneObject'
|
||||
import { Zone } from '#entities/zone'
|
||||
|
||||
class ZoneRepository extends BaseRepository {
|
||||
async getFirst(): Promise<Zone | null> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Zone)
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
async getAll(): Promise<Zone[]> {
|
||||
try {
|
||||
const repository = this.em.getRepository(Zone)
|
||||
|
@ -38,7 +38,9 @@ export default class CharacterCreateEvent {
|
||||
}
|
||||
|
||||
const characterService = new CharacterService()
|
||||
const character: Character = await characterService.create(data.name, user_id)
|
||||
const character = await characterService.create(data.name, user_id)
|
||||
|
||||
if (!character) return this.socket.emit('notification', { message: 'Failed to create character. Please try again (later).' })
|
||||
|
||||
characters = [...characters, character]
|
||||
|
||||
|
Reference in New Issue
Block a user