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;