File: /var/www/api.javaapp.co.uk_old/src/models/orders.model.js
import Sequelize from "sequelize";
import sequelize from "../config/database.config.js";
import sequelizePaginate from "sequelize-paginate";
const Order = sequelize.define(
"orders",
{
id: {
type: Sequelize.INTEGER,
primaryKey: true,
autoIncrement: true,
allowNull: false,
},
order_number: {
type: Sequelize.STRING,
allowNull: false,
defaultValue: ''
},
user_id: {
type: Sequelize.BIGINT,
allowNull: false
},
cafe_id: {
type: Sequelize.BIGINT,
allowNull: false
},
group_id: {
type: Sequelize.BIGINT,
allowNull: true
},
group_coffee_run_id: {
type: Sequelize.BIGINT,
allowNull: true
},
is_main_order: {
type: Sequelize.TINYINT(1),
defaultValue: 1,
comment: '0-sub order,1-main order'
},
order_item_array: {
type: Sequelize.TEXT('long'),
allowNull: true
},
additional_note: {
type: Sequelize.TEXT,
allowNull: true
},
total_amount: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0
},
tax: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0
},
discount_amount: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0
},
request_unique_id: {
type: Sequelize.STRING(20),
allowNull: true
},
order_placed_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0
},
order_collected_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0
},
status: {
type: Sequelize.TINYINT(4),
defaultValue: 0
},
loyalty_stamp_id: {
type: Sequelize.BIGINT(20),
allowNull:true
},
created_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0
},
updated_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0
},
},
{
tableName: 'orders',
timestamps: false,
}
);
sequelizePaginate.paginate(Order);
export default Order;