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 | 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x 11x | import { Sequelize, DataTypes, Optional, Model, ModelStatic } from "sequelize";
import { DumpsterAttributes, DumpsterCreationAttributes } from "./dumpsters";
export interface DumpsterPositionAttributes {
dumpsterID: number;
position: object;
revisionID?: number | null;
}
export interface DumpsterPositionCreationAttributes
extends Optional<DumpsterPositionAttributes, "dumpsterID"> {}
class DumpsterPositions
extends Model<
DumpsterPositionAttributes,
DumpsterPositionCreationAttributes
>
implements DumpsterPositionAttributes {
dumpsterID!: number;
position!: object;
revisionID?: number | null;
}
// Inject Sequelize
export function init(sequelize: Sequelize) {
DumpsterPositions.init(
{
dumpsterID: {
type: DataTypes.INTEGER.UNSIGNED,
autoIncrement: true,
primaryKey: true,
},
position: {
type: DataTypes.GEOMETRY("POINT"),
allowNull: false,
},
revisionID: {
type: DataTypes.INTEGER.UNSIGNED,
},
},
{
sequelize,
tableName: "DumpsterPositions",
},
);
// do associations like
// Thing.hasMany()
return DumpsterPositions;
}
// The type is not defined yet, so use a substitute
export function associate({
Dumpsters,
DumpsterReports,
Ratings,
Comments,
Photos,
DumpsterContents,
ContentTypes,
DumpsterCategories,
}: {
Dumpsters: ModelStatic<
Model<DumpsterAttributes, DumpsterCreationAttributes>
>;
DumpsterReports: ModelStatic<Model<any, any>>;
Ratings: ModelStatic<Model<any, any>>;
Comments: ModelStatic<Model<any, any>>;
Photos: ModelStatic<Model<any, any>>;
DumpsterContents: ModelStatic<Model<any, any>>;
ContentTypes: ModelStatic<Model<any, any>>;
DumpsterCategories: ModelStatic<Model<any, any>>;
}) {
// do associations like
// Thing.hasMany()
// using the supplied Models object
DumpsterPositions.hasMany(Dumpsters, { foreignKey: "dumpsterID" });
DumpsterPositions.hasMany(DumpsterReports, { foreignKey: "dumpsterID" });
DumpsterPositions.hasMany(Ratings, { foreignKey: "dumpsterID" });
DumpsterPositions.hasMany(Comments, { foreignKey: "dumpsterID" });
DumpsterPositions.hasMany(Photos, { foreignKey: "dumpsterID" });
DumpsterPositions.hasMany(DumpsterContents, {
as: "dumpsterContents",
foreignKey: "dumpsterID",
});
// DumpsterPositions.hasMany(Tags, { foreignKey: "dumpsterID" }); // TODO eeeeh?
DumpsterPositions.hasMany(DumpsterCategories, { foreignKey: "dumpsterID" });
}
|