76 lines
1.4 KiB
JavaScript
76 lines
1.4 KiB
JavaScript
const { DataTypes } = require('sequelize');
|
|
const sequelize = require('../config/database');
|
|
|
|
const ItemRequest = sequelize.define('ItemRequest', {
|
|
id: {
|
|
type: DataTypes.UUID,
|
|
defaultValue: DataTypes.UUIDV4,
|
|
primaryKey: true
|
|
},
|
|
title: {
|
|
type: DataTypes.STRING,
|
|
allowNull: false
|
|
},
|
|
description: {
|
|
type: DataTypes.TEXT,
|
|
allowNull: false
|
|
},
|
|
address1: {
|
|
type: DataTypes.STRING
|
|
},
|
|
address2: {
|
|
type: DataTypes.STRING
|
|
},
|
|
city: {
|
|
type: DataTypes.STRING
|
|
},
|
|
state: {
|
|
type: DataTypes.STRING
|
|
},
|
|
zipCode: {
|
|
type: DataTypes.STRING
|
|
},
|
|
country: {
|
|
type: DataTypes.STRING
|
|
},
|
|
latitude: {
|
|
type: DataTypes.DECIMAL(10, 8)
|
|
},
|
|
longitude: {
|
|
type: DataTypes.DECIMAL(11, 8)
|
|
},
|
|
maxPricePerHour: {
|
|
type: DataTypes.DECIMAL(10, 2)
|
|
},
|
|
maxPricePerDay: {
|
|
type: DataTypes.DECIMAL(10, 2)
|
|
},
|
|
preferredStartDate: {
|
|
type: DataTypes.DATE
|
|
},
|
|
preferredEndDate: {
|
|
type: DataTypes.DATE
|
|
},
|
|
isFlexibleDates: {
|
|
type: DataTypes.BOOLEAN,
|
|
defaultValue: true
|
|
},
|
|
status: {
|
|
type: DataTypes.ENUM('open', 'fulfilled', 'closed'),
|
|
defaultValue: 'open'
|
|
},
|
|
requesterId: {
|
|
type: DataTypes.UUID,
|
|
allowNull: false,
|
|
references: {
|
|
model: 'Users',
|
|
key: 'id'
|
|
}
|
|
},
|
|
responseCount: {
|
|
type: DataTypes.INTEGER,
|
|
defaultValue: 0
|
|
}
|
|
});
|
|
|
|
module.exports = ItemRequest; |