uawdijnntqw1x1x1
IP : 216.73.216.76
Hostname : server.zoomride.app
Kernel : Linux server.zoomride.app 4.18.0-553.158.1.el8_10.x86_64 #1 SMP Wed Aug 26 03:18:33 EDT 2026 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
zoomride2022
/
public_html
/
backend.survo.app
/
models
/
agency.model.js
/
/
const { LOGIN_TYPE, AGENCY_REQUEST_STATUS, VERIFY_DOCUMENT_TYPE, VERIFY_DOCUMENT_STATUS } = require("../types/constant"); const mongoose = require("mongoose"); const agencySchema = new mongoose.Schema( { firstName: { type: String, default: "" }, lastName: { type: String, default: "" }, userName: { type: String, default: "" }, mobileNumber: { type: String, default: "" }, email: { type: String, default: "" }, password: { type: String, default: "" }, identity: { type: String, default: "" }, fcmToken: { type: String, default: null }, uniqueId: { type: String, unique: true, default: "" }, profileImage: { type: String, default: "storage/defaultAgencyImg.png" }, language: { type: Array, default: [] }, expertise: { type: Array, default: [] }, designation: { type: String, default: "" }, yourSelf: { type: String, default: "" }, identityProofs: [ { documentId: { type: String, default: "" }, documentType: { type: Number, enum: VERIFY_DOCUMENT_TYPE }, status: { type: Number, enum: VERIFY_DOCUMENT_STATUS, default: 1 }, }, ], commission: { title: { type: String, trim: true, default: "" }, commission: { type: Number, default: 0 }, commissionType: { type: Number, default: 0 }, isActive: { type: Boolean, default: true }, }, service: [ { serviceId: { type: mongoose.Schema.Types.ObjectId, ref: "Service" }, name: { type: String, default: "" }, image: { type: String, default: "" }, isActive: { type: Boolean, default: true }, price: { type: Number, default: 0 }, duration: { type: Number, default: 0 }, //min blockSize: { type: Number, default: 0 }, // Max bookings allowed at the same time avgRating: { type: Number, default: 0 }, // Average rating for this service reviewCount: { type: Number, default: 0 }, // Total number of reviews for this service }, ], allowCities: [ { country: { type: String, trim: true }, city: { type: String, trim: true }, }, ], country: { type: String, default: "" }, latitude: { type: String, default: "" }, longitude: { type: String, default: "" }, loginType: { type: Number, enum: LOGIN_TYPE }, date: { type: String, default: "" }, lastlogin: { type: String, default: "" }, reviewCount: { type: Number, default: 0 }, avgRating: { type: Number, default: 0 }, status: { type: Number, enum: AGENCY_REQUEST_STATUS, default: 1 }, reason: { type: String, default: "" }, earning: { type: Number, default: 0 }, //after booking completed at check out time at that time he will earn commission timeSlot: { type: Number, default: 30 }, schedule: [ { day: { type: String, default: "" }, startTime: { type: String, default: "" }, endTime: { type: String, default: "" }, breakStartTime: { type: String, default: "" }, breakEndTime: { type: String, default: "" }, timeSlot: { type: Number, default: 30 }, isBreak: { type: Boolean, default: true }, }, ], isBlock: { type: Boolean, default: false }, isOnline: { type: Boolean, default: false }, isBusy: { type: Boolean, default: false }, callId: { type: String, default: "" }, //for videoCall isActive: { type: Boolean, default: true }, }, { timestamps: true, versionKey: false, } ); agencySchema.index({ isBlock: 1 }); agencySchema.index({ createdAt: -1 }); module.exports = mongoose.model("Agency", agencySchema);
/home/zoomride2022/public_html/backend.survo.app/models/agency.model.js