PHP 7.4.33
Preview: leadModel.js Size: 1.75 KB
/var/www/web-koncept/server/src/models/leadModel.js
import mongoose from "mongoose";

const leadSchema = new mongoose.Schema({
  company_name: { type: String, required: true },
  meeting_address: {
    value: { type: String, required: false }, // Full formatted address
    lat: { type: Number, required: false }, // Latitude
    lng: { type: Number, required: false }, // Longitude
    postal_code: { type: String, required: false }, // Postal code (optional)
    city: { type: String, required: false }, // City
    state: { type: String, required: false }, // State
    country: { type: String, required: false }, // Country
    formatted: { type: String, required: false }, // Formatted full address
    map_in_sync: { type: Boolean, required: false, default: true }, // Map sync flag
  },
  time_period: {
    start_date: { type: String, required: false, default: null }, // Start date in UTC
    end_date: { type: String, required: false, default: null }, // End date in UTC
  },
  item_id: { type: Number, required: true, unique: true },
  sales_rep_id: { type: [Number], required: false, default: [] },
  responsible_id: { type: Number, required: false },
  status: { type: String, required: false },
  mode_booker: { type: [String], required: false },
});

// Create an index for the time_period start_date and end_date
leadSchema.index({ "time_period.start_date": 1, "time_period.end_date": 1 });

leadSchema.pre('find', function () {
  this.where({ status: { $in: ["Møde Booket", "Andet"] } });
});

leadSchema.pre('findOne', function () {
  this.where({ status: { $in: ["Møde Booket", "Andet"] } });
});

leadSchema.pre('aggregate', function() {
  this.pipeline().unshift({
    $match: {
      status: { $in: ["Møde Booket", "Andet"] }
    }
  });
});

const leadModel = mongoose.model("Lead", leadSchema);
export default leadModel;

Directory Contents

Dirs: 0 × Files: 4
Name Size Perms Modified Actions
1.75 KB lrw-r--r-- 2024-11-04 12:03:48
Edit Download
466 B lrw-r--r-- 2024-11-04 12:03:48
Edit Download
759 B lrw-r--r-- 2024-11-05 04:29:08
Edit Download
366 B lrw-r--r-- 2024-11-04 12:03:48
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).