feat(renown): add Reputation/Renown/TurnIn entities and update Character/ItemDefinition/CombatReward
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import {
|
||||
Column,
|
||||
Entity,
|
||||
Index,
|
||||
JoinColumn,
|
||||
ManyToOne,
|
||||
PrimaryGeneratedColumn,
|
||||
} from 'typeorm';
|
||||
import { Character } from '../../characters/entities/character.entity';
|
||||
import { RenownMilestoneDefinition } from './renown-milestone-definition.entity';
|
||||
|
||||
@Entity({ name: 'character_renown_milestones' })
|
||||
@Index('IDX_character_renown_milestones_character_milestone', ['characterId', 'milestoneId'], {
|
||||
unique: true,
|
||||
})
|
||||
export class CharacterRenownMilestone {
|
||||
@PrimaryGeneratedColumn('uuid', { name: 'id' })
|
||||
id!: string;
|
||||
|
||||
@Column({ name: 'character_id', type: 'uuid' })
|
||||
characterId!: string;
|
||||
|
||||
@Column({ name: 'milestone_id', type: 'uuid' })
|
||||
milestoneId!: string;
|
||||
|
||||
@Column({ name: 'completed_at', type: 'timestamptz' })
|
||||
completedAt!: Date;
|
||||
|
||||
@Column({ name: 'times_completed', type: 'integer' })
|
||||
timesCompleted!: number;
|
||||
|
||||
@ManyToOne(() => Character, { onDelete: 'CASCADE' })
|
||||
@JoinColumn({ name: 'character_id' })
|
||||
character!: Character;
|
||||
|
||||
@ManyToOne(() => RenownMilestoneDefinition, { onDelete: 'RESTRICT' })
|
||||
@JoinColumn({ name: 'milestone_id' })
|
||||
milestone!: RenownMilestoneDefinition;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
import {
|
||||
Column,
|
||||
CreateDateColumn,
|
||||
Entity,
|
||||
Index,
|
||||
PrimaryGeneratedColumn,
|
||||
UpdateDateColumn,
|
||||
} from 'typeorm';
|
||||
|
||||
@Entity({ name: 'renown_milestone_definitions' })
|
||||
@Index('IDX_renown_milestone_definitions_key', ['key'], { unique: true })
|
||||
export class RenownMilestoneDefinition {
|
||||
@PrimaryGeneratedColumn('uuid', { name: 'id' })
|
||||
id!: string;
|
||||
|
||||
@Column({ name: 'key', type: 'varchar', length: 100 })
|
||||
key!: string;
|
||||
|
||||
@Column({ name: 'name', type: 'varchar', length: 150 })
|
||||
name!: string;
|
||||
|
||||
@Column({ name: 'description', type: 'text' })
|
||||
description!: string;
|
||||
|
||||
@Column({ name: 'renown_reward', type: 'integer' })
|
||||
renownReward!: number;
|
||||
|
||||
@Column({ name: 'repeatable', type: 'boolean' })
|
||||
repeatable!: boolean;
|
||||
|
||||
@Column({ name: 'enabled', type: 'boolean' })
|
||||
enabled!: boolean;
|
||||
|
||||
@CreateDateColumn({ name: 'created_at', type: 'timestamptz' })
|
||||
createdAt!: Date;
|
||||
|
||||
@UpdateDateColumn({ name: 'updated_at', type: 'timestamptz' })
|
||||
updatedAt!: Date;
|
||||
}
|
||||
Reference in New Issue
Block a user