UNPKG

dungeon-sdk-drikkx

Version:

Shared types and entities for the Dungeon game

44 lines (33 loc) 864 B
import { Entity, Column, PrimaryGeneratedColumn, ManyToOne, JoinColumn } from 'typeorm'; import { UserEntity } from './user.entity'; import { KeyRarity } from '../types/key.types'; @Entity('keys') export class KeyEntity { @PrimaryGeneratedColumn() id!: number; @Column() type!: string; @Column({ type: 'enum', enum: KeyRarity }) rarity!: KeyRarity; @Column() level!: number; @Column() dungeonId!: number; @Column() quantity!: number; @Column({ nullable: true }) lastUsedAt?: Date; @ManyToOne(() => UserEntity, user => user.keys) @JoinColumn({ name: 'userId' }) user!: UserEntity; @Column() userId!: string; @Column({ type: 'timestamp' }) createdAt!: Date; constructor(partial: Partial<KeyEntity>) { Object.assign(this, partial); } }