#293: Changed IDs to UUIDs for all entities

This commit is contained in:
2025-01-01 20:53:05 +01:00
parent 465219276d
commit 586bb0ca83
17 changed files with 79 additions and 52 deletions

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import { CharacterEquipment } from './characterEquipment'
@ -9,11 +11,12 @@ import { User } from './user'
import { Zone } from './zone'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class Character extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@ManyToOne(() => User)
user!: User
@ -85,7 +88,7 @@ export class Character extends BaseEntity {
@Property()
wisdom = 10
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Entity, Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core'
import { Character } from './character'
@ -5,11 +7,12 @@ import { CharacterItem } from './characterItem'
import { BaseEntity } from '#application/base/baseEntity'
import { CharacterEquipmentSlotType } from '#application/enums'
import { UUID } from '#application/types'
@Entity()
export class CharacterEquipment extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@Enum(() => CharacterEquipmentSlotType)
slot!: CharacterEquipmentSlotType
@ -20,7 +23,7 @@ export class CharacterEquipment extends BaseEntity {
@ManyToOne({ deleteRule: 'cascade' })
characterItem!: CharacterItem
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import { Character } from './character'
@ -5,11 +7,12 @@ import { Sprite } from './sprite'
import { BaseEntity } from '#application/base/baseEntity'
import { CharacterGender } from '#application/enums'
import { UUID } from '#application/types'
@Entity()
export class CharacterHair extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@Property()
name!: string
@ -23,7 +26,7 @@ export class CharacterHair extends BaseEntity {
@ManyToOne({ nullable: true })
sprite?: Sprite
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import { Character } from './character'
@ -5,11 +7,12 @@ import { CharacterEquipment } from './characterEquipment'
import { Item } from './item'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class CharacterItem extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@ManyToOne({ deleteRule: 'cascade' })
character!: Character
@ -20,7 +23,7 @@ export class CharacterItem extends BaseEntity {
@Property()
quantity!: number
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import { Character } from './character'
@ -5,11 +7,12 @@ import { Sprite } from './sprite'
import { BaseEntity } from '#application/base/baseEntity'
import { CharacterGender, CharacterRace } from '#application/enums'
import { UUID } from '#application/types'
@Entity()
export class CharacterType extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@Property()
name!: string
@ -35,7 +38,7 @@ export class CharacterType extends BaseEntity {
@Property()
updatedAt = new Date()
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,14 +1,17 @@
import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import { Character } from './character'
import { Zone } from './zone'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class Chat extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@ManyToOne({ deleteRule: 'cascade' })
character!: Character
@ -22,7 +25,7 @@ export class Chat extends BaseEntity {
@Property()
createdAt = new Date()
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,13 +1,16 @@
import { randomUUID } from 'node:crypto'
import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
import { User } from './user'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class PasswordResetToken extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@ManyToOne({ deleteRule: 'cascade' })
user!: User
@ -18,7 +21,7 @@ export class PasswordResetToken extends BaseEntity {
@Property()
createdAt = new Date()
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import bcrypt from 'bcryptjs'
@ -5,11 +7,12 @@ import { Character } from './character'
import { PasswordResetToken } from './passwordResetToken'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class User extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@Property({ unique: true })
username!: string
@ -29,7 +32,7 @@ export class User extends BaseEntity {
@OneToMany(() => PasswordResetToken, (token) => token.user)
passwordResetTokens = new Collection<PasswordResetToken>(this)
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}

View File

@ -1,3 +1,5 @@
import { randomUUID } from 'node:crypto'
import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
import { Character } from './character'
@ -8,11 +10,12 @@ import { ZoneEventTileTeleport } from './zoneEventTileTeleport'
import { ZoneObject } from './zoneObject'
import { BaseEntity } from '#application/base/baseEntity'
import { UUID } from '#application/types'
@Entity()
export class Zone extends BaseEntity {
@PrimaryKey()
id!: number
id = randomUUID()
@Property()
name!: string
@ -53,7 +56,7 @@ export class Zone extends BaseEntity {
@OneToMany(() => Chat, (chat) => chat.zone)
chats = new Collection<Chat>(this)
setId(id: number) {
setId(id: UUID) {
this.id = id
return this
}