31 lines
718 B
TypeScript
31 lines
718 B
TypeScript
import { BaseModel, column, manyToMany } from "@adonisjs/lucid/orm"
|
|
import type { ManyToMany } from "@adonisjs/lucid/types/relations"
|
|
|
|
export default class Page extends BaseModel {
|
|
protected tableName = "pages"
|
|
|
|
@column({ columnName: "id", serializeAs: "id", isPrimary: true })
|
|
declare id: number
|
|
|
|
@column({
|
|
columnName: "title",
|
|
serializeAs: "title",
|
|
})
|
|
declare title: string
|
|
|
|
@manyToMany(
|
|
() => {
|
|
return Page
|
|
},
|
|
{
|
|
pivotTable: "internal_links",
|
|
localKey: "id",
|
|
relatedKey: "id",
|
|
pivotForeignKey: "from_page_id",
|
|
pivotRelatedForeignKey: "to_page_id",
|
|
serializeAs: "internalLinks",
|
|
},
|
|
)
|
|
declare internalLinks: ManyToMany<typeof Page>
|
|
}
|