HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
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;