UNPKG

dungeon-sdk-drikkx

Version:

Shared types and entities for the Dungeon game

35 lines (26 loc) 919 B
import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn, OneToMany } from 'typeorm'; import { CharacterEntity } from './character.entity'; import { KeyEntity } from './key.entity'; import { TeamSlots } from '../frontend'; @Entity() export class UserEntity { @PrimaryGeneratedColumn() id!: number; @Column({ unique: true }) walletAddress!: string; @Column() nonce!: string; @Column('json', { nullable: true, default: { tank: null, melee: null, ranged: null, healer: null } }) team!: TeamSlots; @OneToMany(() => CharacterEntity, character => character.user, { eager: false }) characters!: CharacterEntity[]; @OneToMany(() => KeyEntity, key => key.user, { eager: false }) keys!: KeyEntity[]; @CreateDateColumn() createdAt!: Date; @UpdateDateColumn() updatedAt!: Date; constructor(partial: Partial<UserEntity>) { Object.assign(this, partial); } }