import { Model, Table, HasMany, Column } from "sequelize-typescript"; import { RecordProperty } from "./RecordProperty"; @Table({ tableName: "records", paranoid: false }) export class RecordMultipleAssociationShim extends Model { @Column({ primaryKey: true }) id: string; @Column createdAt: Date; @Column state: string; // include multiple associations to RecordProperty for group membership searching @HasMany(() => RecordProperty, { as: "RecordProperties_1", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_2", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_3", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_4", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_5", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_6", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_7", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_8", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_9", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { as: "RecordProperties_10", foreignKey: "recordId", }) @HasMany(() => RecordProperty, { foreignKey: "recordId" }) recordProperties: RecordProperty[]; }