masaaki e1693a7323 Merged PR 356: license_historyテーブルを消し込む
## 概要
[Task2456: license_historyテーブルを消し込む](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/2456)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- 何をどう変更したか、追加したライブラリなど
  - プロダクト バックログ項目 1226: 第五として、自アカウント内ユーザーにライセンスを割り当てたい
    にてライセンス割り当て履歴テーブル(license_allocation_history)を作成したのですが、過去にlicenses_historyという名で同様のテーブルを作成していることが判明しました。
  - 影響調査の結果、過去作成したlicenses_historyについては、使用していないことが分かったので、削除するよう対応を行いました。

- このPull Requestでの対象/対象外
  - すべて対象
- 影響範囲(他の機能にも影響があるか)
  - ソースコードgrepにより、licenses_historyテーブルを使用していないことを確認済

## レビューポイント
- 特にレビューしてほしい箇所
- 軽微なものや自明なものは記載不要
- 修正範囲が大きい場合などに記載
- 全体的にや仕様を満たしているか等は本当に必要な時のみ記載
  - 特にありません。

## UIの変更
- 特にありません。

## 動作確認状況
- 全ユニットテスト実施し正常に通ることを確認

## 補足
- 相談、参考資料などがあれば
2023-08-25 05:53:58 +00:00

188 lines
3.0 KiB
TypeScript

import {
Entity,
Column,
PrimaryGeneratedColumn,
CreateDateColumn,
UpdateDateColumn,
OneToOne,
JoinColumn,
ManyToOne,
} from 'typeorm';
import { User } from '../../users/entity/user.entity';
@Entity({ name: 'license_orders' })
export class LicenseOrder {
@PrimaryGeneratedColumn()
id: number;
@Column()
po_number: string;
@Column()
from_account_id: number;
@Column()
to_account_id: number;
@CreateDateColumn()
ordered_at: Date;
@Column({ nullable: true })
issued_at?: Date;
@Column()
quantity: number;
@Column()
status: string;
@Column({ nullable: true })
canceled_at?: Date;
@Column({ nullable: true })
created_by: string;
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
updated_by: string;
@UpdateDateColumn()
updated_at: Date;
}
@Entity({ name: 'licenses' })
export class License {
@PrimaryGeneratedColumn()
id: number;
@Column({ nullable: true })
expiry_date: Date;
@Column()
account_id: number;
@Column()
type: string;
@Column()
status: string;
@Column({ nullable: true })
allocated_user_id: number;
@Column({ nullable: true })
order_id: number;
@Column({ nullable: true })
deleted_at: Date;
@Column({ nullable: true })
delete_order_id: number;
@Column({ nullable: true })
created_by: string;
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
updated_by: string;
@UpdateDateColumn()
updated_at: Date;
@OneToOne(() => User, (user) => user.license)
@JoinColumn({ name: 'allocated_user_id' })
user?: User;
}
@Entity({ name: 'card_license_issue' })
export class CardLicenseIssue {
@PrimaryGeneratedColumn()
id: number;
@Column()
issued_at: Date;
@Column({ nullable: true })
created_by: string;
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
updated_by: string;
@UpdateDateColumn()
updated_at: Date;
}
@Entity({ name: 'card_licenses' })
export class CardLicense {
@PrimaryGeneratedColumn()
license_id: number;
@Column()
issue_id: number;
@Column()
card_license_key: string;
@Column({ nullable: true })
activated_at: Date;
@Column({ nullable: true })
created_by: string;
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
updated_by: string;
@UpdateDateColumn({})
updated_at: Date;
}
@Entity({ name: 'license_allocation_history' })
export class LicenseAllocationHistory {
@PrimaryGeneratedColumn()
id: number;
@Column()
user_id: number;
@Column()
license_id: number;
@Column()
is_allocated: boolean;
@Column()
executed_at: Date;
@Column()
switch_from_type: string;
@Column({ nullable: true })
deleted_at: Date;
@Column({ nullable: true })
created_by: string;
@CreateDateColumn()
created_at: Date;
@Column({ nullable: true })
updated_by: string;
@UpdateDateColumn()
updated_at: Date;
@ManyToOne(() => License, (licenses) => licenses.id)
@JoinColumn({ name: 'license_id' })
license?: License;
}