Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | 11x 11x 11x 11x 11x 11x 11x 11x 11x | import { Sequelize, DataTypes, Optional, Model, ModelStatic } from "sequelize";
import { CategoryAttributes, CategoryCreationAttributes } from "./Categories";
import { DumpsterAttributes, DumpsterCreationAttributes } from "./dumpsters";
import {
StandardContentTypeAttributes,
StandardContentTypeCreationAttributes,
} from "./StandardContentTypes";
import {
DumpsterContentsAttributes,
DumpsterContentsCreationAttributes,
} from "./DumpsterContents";
import {
DumpsterPositionAttributes,
DumpsterPositionCreationAttributes,
} from "./DumpsterPositions";
export interface ContentTypeAttributes {
contentID: number;
categoryID: number;
name: string;
}
export interface ContentTypeCreationAttributes
extends Optional<ContentTypeAttributes, "contentID"> {}
export class ContentTypes
extends Model<ContentTypeAttributes, ContentTypeCreationAttributes>
implements ContentTypeAttributes {
contentID!: number;
categoryID!: number;
name!: string;
}
// Inject Sequelize
export function init(sequelize: Sequelize) {
ContentTypes.init(
{
contentID: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
},
categoryID: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: false,
},
name: {
type: DataTypes.STRING,
allowNull: false,
},
},
{
sequelize,
tableName: "ContentTypes",
},
);
return ContentTypes;
}
// The type is not defined yet, so use a substitute
export function associate({
DumpsterPositions,
DumpsterContents,
StandardContentTypes,
}: {
DumpsterPositions: ModelStatic<
Model<DumpsterPositionAttributes, DumpsterPositionCreationAttributes>
>;
DumpsterContents: ModelStatic<
Model<DumpsterContentsAttributes, DumpsterContentsCreationAttributes>
>;
StandardContentTypes: ModelStatic<
Model<
StandardContentTypeAttributes,
StandardContentTypeCreationAttributes
>
>;
}) {
ContentTypes.hasMany(DumpsterContents, {
as: "contentTypess",
foreignKey: "contentID",
});
ContentTypes.belongsToMany(DumpsterPositions, {
through: DumpsterContents,
foreignKey: "contentID",
});
ContentTypes.hasMany(StandardContentTypes, { foreignKey: "contentID" });
}
|