File: //var/www/javago-api-updates/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,
},
square_order_id: {
type: Sequelize.STRING,
allowNull: true,
},
tax: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0,
},
discount_amount: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0,
},
service_charge: {
type: Sequelize.DOUBLE(8, 2),
defaultValue: 0,
},
other_charge: {
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,
},
is_timer_completed: {
type: Sequelize.TINYINT(1),
defaultValue: 0,
comment: "0=No,1=Yes",
},
loyalty_stamp_id: {
type: Sequelize.BIGINT(20),
allowNull: true,
},
cafe_coupon_order_id: {
type: Sequelize.BIGINT(20),
allowNull: true,
},
cafe_coupon_expired_time: {
type: Sequelize.INTEGER(10),
defaultValue: 0,
},
universal_coupon_order_id: {
type: Sequelize.BIGINT(20),
allowNull: true,
},
universal_coupon_expired_time: {
type: Sequelize.INTEGER(10),
defaultValue: 0,
},
transaction_id: {
type: Sequelize.STRING,
allowNull: true,
},
estimated_arival_time: {
type: Sequelize.STRING,
allowNull: true,
},
is_individual_order: {
type: Sequelize.BOOLEAN,
defaultValue: 0,
comment: "0=No,1=Yes",
},
created_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0,
},
updated_at: {
type: Sequelize.INTEGER(10),
defaultValue: 0,
},
},
{
tableName: "orders",
timestamps: false,
}
);
sequelizePaginate.paginate(Order);
Order.sync();
export default Order;