"use strict"; module.exports = (sequelize, DataTypes) => { const SearchRequest = sequelize.define("SearchRequest", { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, allowNull: false, primaryKey: true }, areaToSearch: { type: DataTypes.GEOMETRY("POINT", 4326), allowNull: false }, realEstateType: { type: DataTypes.TEXT, allowNull: false }, adType: { type: DataTypes.TEXT, allowNull: false }, email: DataTypes.TEXT, locality: DataTypes.TEXT, municipality: DataTypes.TEXT, city: DataTypes.TEXT, region: DataTypes.TEXT, entity: DataTypes.TEXT, country: DataTypes.TEXT, sizeMin: { type: DataTypes.INTEGER, allowNull: false }, sizeMax: { type: DataTypes.INTEGER, allowNull: false }, priceMin: { type: DataTypes.INTEGER, allowNull: false }, priceMax: { type: DataTypes.INTEGER, allowNull: false }, gardenSizeMin: DataTypes.INTEGER, gardenSizeMax: DataTypes.INTEGER, subscribed: { type: DataTypes.BOOLEAN, allowNull: false } }); SearchRequest.associate = models => { SearchRequest.belongsToMany(models.SearchRequestMatch, { through: "SearchRequestMatch" }); }; return SearchRequest; };