import { Column, DeleteDateColumn } from 'typeorm'
import { UserModifiableEntity } from './user-modifiable.entity'

export class SoftDeleteEntity<T> extends UserModifiableEntity<T> {
	/**
	 * Date when the entity was removed.
	 * Used for softDelete entity
	 */
	@DeleteDateColumn()
	deletedAt?: Date

	/**
	 * Id of the user who deleted the entity
	 */
	@Column({
		type: 'uuid',
		nullable: true,
	})
	deletedBy?: string
}
