UNPKG

dungeon-sdk-drikkx

Version:

Shared types and entities for the Dungeon game

52 lines (38 loc) 1.11 kB
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne, JoinColumn } from 'typeorm'; import { Role, ResourcesType, Skill } from '../types/character.types'; import { Equipment } from '../types/item.types'; import { DamageType, Stats } from '../types/stats.types'; import { UserEntity } from './user.entity'; @Entity('characters') export class CharacterEntity { @PrimaryGeneratedColumn() id!: number; @Column() name!: string; @Column() role!: Role; @Column() level!: number; @Column() experience!: number; @Column('jsonb') stats!: Stats; @Column('jsonb') skills!: Skill[]; @Column('jsonb') resources!: ResourcesType; @Column('jsonb') damageType!: DamageType; @Column('jsonb') equipments!: Equipment[]; @ManyToOne(() => UserEntity, user => user.characters) @JoinColumn({ name: 'userId' }) user!: UserEntity; @Column() userId!: string; @Column({ type: 'timestamp' }) createdAt!: Date; constructor(partial: Partial<CharacterEntity>) { Object.assign(this, partial); } }