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 | 11x 11x 11x 11x 11x 11x 11x 11x | import { Sequelize, DataTypes, Optional, Model, ModelStatic } from "sequelize";
import {
DumpsterCategoryAttributes,
DumpsterCategoryCreationAttributes,
} from "./DumpsterCategories";
import {
ContentTypeAttributes,
ContentTypeCreationAttributes,
} from "./ContentTypes";
import { DumpsterAttributes, DumpsterCreationAttributes } from "./dumpsters";
export interface CategoryAttributes {
categoryID: number;
name: string;
}
export interface CategoryCreationAttributes
extends Optional<CategoryAttributes, "categoryID"> {}
export class Categories
extends Model<CategoryAttributes, CategoryCreationAttributes>
implements CategoryAttributes {
public categoryID!: number;
public name!: string;
}
// Inject Sequelize
export function init(sequelize: Sequelize) {
Categories.init(
{
categoryID: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
},
name: {
type: DataTypes.STRING,
allowNull: false,
},
},
{
sequelize,
tableName: "Categories",
},
);
return Categories;
}
// The type is not defined yet, so use a substitute
export function associate({
DumpsterCategories,
Dumpsters,
ContentTypes,
}: {
DumpsterCategories: ModelStatic<
Model<DumpsterCategoryAttributes, DumpsterCategoryCreationAttributes>
>;
Dumpsters: ModelStatic<
Model<DumpsterAttributes, DumpsterCreationAttributes>
>;
ContentTypes: ModelStatic<
Model<ContentTypeAttributes, ContentTypeCreationAttributes>
>;
}) {
// do associations like
// Thing.hasMany()
// using the supplied Models object
// Categories.hasMany(Tags, { foreignKey: "dumpsterTypeID" });
Categories.hasMany(DumpsterCategories, {
as: "dumpsterCategories",
foreignKey: "categoryID",
});
Categories.belongsToMany(Dumpsters, {
// @ts-ignore TODO this is just dumb. typeof Model should be f-ing valid. god.
through: DumpsterCategories,
foreignKey: "categoryID",
});
}
|