forked from noxious/server
Added update & delete rules to entities
This commit is contained in:
@ -32,7 +32,7 @@ export class Character extends BaseEntity {
|
||||
|
||||
// Position
|
||||
@ManyToOne()
|
||||
zone!: Zone
|
||||
zone!: Zone // @TODO: Update to spawn point when current zone is not found
|
||||
|
||||
@Property()
|
||||
positionX = 0
|
||||
@ -44,10 +44,10 @@ export class Character extends BaseEntity {
|
||||
rotation = 0
|
||||
|
||||
// Customization
|
||||
@ManyToOne()
|
||||
@ManyToOne({ deleteRule: 'set null' })
|
||||
characterType?: CharacterType | null | undefined
|
||||
|
||||
@ManyToOne()
|
||||
@ManyToOne({ deleteRule: 'set null' })
|
||||
characterHair?: CharacterHair | null | undefined
|
||||
|
||||
// Inventory
|
||||
|
@ -14,10 +14,10 @@ export class CharacterEquipment extends BaseEntity {
|
||||
@Enum(() => CharacterEquipmentSlotType)
|
||||
slot!: CharacterEquipmentSlotType
|
||||
|
||||
@ManyToOne(() => Character)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
character!: Character
|
||||
|
||||
@ManyToOne(() => CharacterItem)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
characterItem!: CharacterItem
|
||||
|
||||
setId(id: number) {
|
||||
|
@ -20,12 +20,9 @@ export class CharacterHair extends BaseEntity {
|
||||
@Property()
|
||||
isSelectable = false
|
||||
|
||||
@ManyToOne(() => Sprite, { nullable: true })
|
||||
@ManyToOne({ nullable: true })
|
||||
sprite?: Sprite
|
||||
|
||||
@OneToMany(() => Character, (character) => character.characterHair)
|
||||
characters = new Collection<Character>(this)
|
||||
|
||||
setId(id: number) {
|
||||
this.id = id
|
||||
return this
|
||||
@ -70,13 +67,4 @@ export class CharacterHair extends BaseEntity {
|
||||
getSprite() {
|
||||
return this.sprite
|
||||
}
|
||||
|
||||
setCharacters(characters: Collection<Character>) {
|
||||
this.characters = characters
|
||||
return this
|
||||
}
|
||||
|
||||
getCharacters() {
|
||||
return this.characters
|
||||
}
|
||||
}
|
||||
|
@ -11,18 +11,15 @@ export class CharacterItem extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id!: number
|
||||
|
||||
@ManyToOne(() => Character)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
character!: Character
|
||||
|
||||
@ManyToOne(() => Item)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
item!: Item
|
||||
|
||||
@Property()
|
||||
quantity!: number
|
||||
|
||||
@OneToMany(() => CharacterEquipment, (equipment) => equipment.characterItem)
|
||||
characterEquipment = new Collection<CharacterEquipment>(this)
|
||||
|
||||
setId(id: number) {
|
||||
this.id = id
|
||||
return this
|
||||
@ -58,13 +55,4 @@ export class CharacterItem extends BaseEntity {
|
||||
getQuantity() {
|
||||
return this.quantity
|
||||
}
|
||||
|
||||
setCharacterEquipment(characterEquipment: Collection<CharacterEquipment>) {
|
||||
this.characterEquipment = characterEquipment
|
||||
return this
|
||||
}
|
||||
|
||||
getCharacterEquipment() {
|
||||
return this.characterEquipment
|
||||
}
|
||||
}
|
||||
|
@ -10,10 +10,10 @@ export class Chat extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id!: number
|
||||
|
||||
@ManyToOne(() => Character)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
character!: Character
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
zone!: Zone
|
||||
|
||||
@Property()
|
||||
|
@ -38,9 +38,6 @@ export class Item extends BaseEntity {
|
||||
@Property()
|
||||
updatedAt = new Date()
|
||||
|
||||
@OneToMany(() => CharacterItem, (characterItem) => characterItem.item)
|
||||
characters = new Collection<CharacterItem>(this)
|
||||
|
||||
setId(id: UUID) {
|
||||
this.id = id
|
||||
return this
|
||||
@ -121,13 +118,4 @@ export class Item extends BaseEntity {
|
||||
getUpdatedAt() {
|
||||
return this.updatedAt
|
||||
}
|
||||
|
||||
setCharacters(characters: Collection<CharacterItem>) {
|
||||
this.characters = characters
|
||||
return this
|
||||
}
|
||||
|
||||
getCharacters() {
|
||||
return this.characters
|
||||
}
|
||||
}
|
||||
|
@ -42,9 +42,6 @@ export class MapObject extends BaseEntity {
|
||||
@Property()
|
||||
updatedAt = new Date()
|
||||
|
||||
@OneToMany(() => ZoneObject, (zoneObject) => zoneObject.mapObject)
|
||||
zoneObjects = new Collection<ZoneObject>(this)
|
||||
|
||||
setId(id: UUID) {
|
||||
this.id = id
|
||||
return this
|
||||
@ -143,13 +140,4 @@ export class MapObject extends BaseEntity {
|
||||
getUpdatedAt() {
|
||||
return this.updatedAt
|
||||
}
|
||||
|
||||
setZoneObjects(zoneObjects: Collection<ZoneObject>) {
|
||||
this.zoneObjects = zoneObjects
|
||||
return this
|
||||
}
|
||||
|
||||
getZoneObjects() {
|
||||
return this.zoneObjects
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ export class PasswordResetToken extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id!: number
|
||||
|
||||
@ManyToOne(() => User)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
user!: User
|
||||
|
||||
@Property({ unique: true })
|
||||
|
@ -12,7 +12,7 @@ export class SpriteAction extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id = randomUUID()
|
||||
|
||||
@ManyToOne(() => Sprite)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
sprite!: Sprite
|
||||
|
||||
@Property()
|
||||
|
@ -29,6 +29,12 @@ export class Zone extends BaseEntity {
|
||||
@Property()
|
||||
pvp = false
|
||||
|
||||
@Property()
|
||||
createdAt = new Date()
|
||||
|
||||
@Property()
|
||||
updatedAt = new Date()
|
||||
|
||||
@OneToMany(() => ZoneEffect, (effect) => effect.zone)
|
||||
zoneEffects = new Collection<ZoneEffect>(this)
|
||||
|
||||
@ -47,12 +53,6 @@ export class Zone extends BaseEntity {
|
||||
@OneToMany(() => Chat, (chat) => chat.zone)
|
||||
chats = new Collection<Chat>(this)
|
||||
|
||||
@Property()
|
||||
createdAt = new Date()
|
||||
|
||||
@Property()
|
||||
updatedAt = new Date()
|
||||
|
||||
setId(id: number) {
|
||||
this.id = id
|
||||
return this
|
||||
@ -107,6 +107,24 @@ export class Zone extends BaseEntity {
|
||||
return this.pvp
|
||||
}
|
||||
|
||||
setCreatedAt(createdAt: Date) {
|
||||
this.createdAt = createdAt
|
||||
return this
|
||||
}
|
||||
|
||||
getCreatedAt() {
|
||||
return this.createdAt
|
||||
}
|
||||
|
||||
setUpdatedAt(updatedAt: Date) {
|
||||
this.updatedAt = updatedAt
|
||||
return this
|
||||
}
|
||||
|
||||
getUpdatedAt() {
|
||||
return this.updatedAt
|
||||
}
|
||||
|
||||
setZoneEffects(zoneEffects: Collection<ZoneEffect>) {
|
||||
this.zoneEffects = zoneEffects
|
||||
return this
|
||||
@ -160,22 +178,4 @@ export class Zone extends BaseEntity {
|
||||
getChats() {
|
||||
return this.chats
|
||||
}
|
||||
|
||||
setCreatedAt(createdAt: Date) {
|
||||
this.createdAt = createdAt
|
||||
return this
|
||||
}
|
||||
|
||||
getCreatedAt() {
|
||||
return this.createdAt
|
||||
}
|
||||
|
||||
setUpdatedAt(updatedAt: Date) {
|
||||
this.updatedAt = updatedAt
|
||||
return this
|
||||
}
|
||||
|
||||
getUpdatedAt() {
|
||||
return this.updatedAt
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ export class ZoneEffect extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id = randomUUID()
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
zone!: Zone
|
||||
|
||||
@Property()
|
||||
|
@ -14,7 +14,7 @@ export class ZoneEventTile extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id = randomUUID()
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
zone!: Zone
|
||||
|
||||
@Enum(() => ZoneEventTileType)
|
||||
|
@ -13,10 +13,10 @@ export class ZoneEventTileTeleport extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id = randomUUID()
|
||||
|
||||
@OneToOne(() => ZoneEventTile)
|
||||
@OneToOne({ deleteRule: 'cascade' })
|
||||
zoneEventTile!: ZoneEventTile
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
toZone!: Zone
|
||||
|
||||
@Property()
|
||||
|
@ -14,10 +14,10 @@ export class ZoneObject extends BaseEntity {
|
||||
@PrimaryKey()
|
||||
id = randomUUID()
|
||||
|
||||
@ManyToOne(() => Zone)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
zone!: Zone
|
||||
|
||||
@ManyToOne(() => MapObject)
|
||||
@ManyToOne({ deleteRule: 'cascade' })
|
||||
mapObject!: MapObject
|
||||
|
||||
@Property()
|
||||
|
Reference in New Issue
Block a user