import { Auth } from "src/modules/auth/entities/auth.entity"
import {
  Column,
  Entity,
  PrimaryGeneratedColumn,
  CreateDateColumn,
  ManyToOne,
  JoinColumn,
} from "typeorm"

@Entity("notifications")
export class Notification {
  @PrimaryGeneratedColumn()
  id: number

  @Column({ type: "int" })
  user_id: number

  @ManyToOne(() => Auth, (user) => user.userNotifications)
  @JoinColumn({ name: "user_id" })
  user: Auth

  @Column({ type: "varchar", length: 255, nullable: false })
  title: string

  @Column({ type: "text", nullable: false })
  message: string

  @Column({ type: "json", nullable: true })
  data: any

  @Column({ type: "boolean", default: false })
  is_read: boolean

  @CreateDateColumn({
    type: "timestamp",
    nullable: true,
    default: () => "NOW()",
  })
  created_at: Date
}
