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/cafes.model.js
import Sequelize from "sequelize";
import sequelize from "../config/database.config.js";
import sequelizePaginate from "sequelize-paginate";

const Cafes = sequelize.define(
  "cafes",
  {
    id: {
      type: Sequelize.BIGINT,
      primaryKey: true,
      autoIncrement: true,
      allowNull: false,
    },
    cafe_name: {
      type: Sequelize.STRING,
    },
    phone: {
      type: Sequelize.STRING,
    },
    bio: {
      type: Sequelize.TEXT,
    },
    email: {
      type: Sequelize.STRING,
    },
    password: {
      type: Sequelize.STRING,
    },
    remember_token: {
      type: Sequelize.STRING,
    },
    banner_image: {
      type: Sequelize.STRING,
    },
    address: {
      type: Sequelize.STRING,
    },
    postcode: {
      type: Sequelize.STRING,
    },
    latitude: {
      type: Sequelize.STRING,
    },
    longitude: {
      type: Sequelize.STRING,
    },
    stripe_account_id: {
      type: Sequelize.STRING,
    },
    square_access_token: {
      type: Sequelize.STRING,
      allowNull: true,
    },
    square_location_id: {
      type: Sequelize.STRING,
      allowNull: true,
    },
    square_refresh_token: {
      type: Sequelize.STRING,
      allowNull: true,
    },
    square_onboarding_completed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = completed, 0 = pending",
    },
    stripe_customer_id: {
      type: Sequelize.STRING,
    },
    website: {
      type: Sequelize.STRING,
    },
    fcm_token: {
      type: Sequelize.STRING,
      allowNull: true,
    },
    otp: {
      type: Sequelize.TINYINT,
    },
    cafe_type: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = mobile cart , 0 = cafe",
    },
    is_active: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = active, 0 = inactive",
    },
    approved: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = approved, 0 = rejected	",
    },
    signup_completed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = completed, 0 = pending",
    },
    profile_completed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = completed, 0 = pending",
    },
    menu_completed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = completed, 0 = pending",
    },
    loyalty_completed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = completed, 0 = pending",
    },
    is_listed: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = yes, 0 = no",
    },
    is_open: {
      type: Sequelize.TINYINT,
      defaultValue: 0,
      comment: "1 = open, 0 = close",
    },
    cafe_filter: {
      type: Sequelize.STRING,
      defaultValue: "",
      allowNull: false,
    },
    cafe_tax: {
      type: Sequelize.DOUBLE.UNSIGNED,
      defaultValue: 20,
      comment: "in %",
    },
    deleted_at: {
      type: Sequelize.INTEGER,
      defaultValue: 0,
      comment: "1 = deleted, 0 = not deleted",
    },
    created_at: {
      type: Sequelize.INTEGER,
    },
    updated_at: {
      type: Sequelize.INTEGER,
    },
  },
  {
    tableName: "cafes",
    timestamps: false,
  }
);
sequelizePaginate.paginate(Cafes);
export default Cafes;