32 lines
939 B
TypeScript
32 lines
939 B
TypeScript
import { BaseModel, column, manyToMany } from '@adonisjs/lucid/orm'
|
|
import type { ManyToMany } from '@adonisjs/lucid/types/relations'
|
|
import { DateTime } from 'luxon'
|
|
import Admin from '#base_modules/Admin/model/admin'
|
|
|
|
export default class Tenant extends BaseModel {
|
|
@column({ isPrimary: true, columnName: 'id' })
|
|
declare id: number
|
|
|
|
@column({ columnName: 'name' })
|
|
declare name: string
|
|
|
|
@column({ columnName: 'slug' })
|
|
declare slug: string
|
|
|
|
@column({ columnName: 'status' })
|
|
declare status: 'active' | 'inactive'
|
|
|
|
@column.dateTime({ autoCreate: true, columnName: 'created_at' })
|
|
declare createdAt: DateTime
|
|
|
|
@column.dateTime({ autoCreate: true, autoUpdate: true, columnName: 'updated_at' })
|
|
declare updatedAt: DateTime | null
|
|
|
|
@manyToMany(() => Admin, {
|
|
pivotTable: 'admin_tenants',
|
|
pivotForeignKey: 'tenant_id',
|
|
pivotRelatedForeignKey: 'admin_id',
|
|
})
|
|
declare admins: ManyToMany<typeof Admin>
|
|
}
|