api/resources/KYC/KycModel.js
2024-08-02 17:57:36 +05:30

124 lines
2.3 KiB
JavaScript

import mongoose, { Schema, model } from "mongoose";
const KycSchema = new Schema(
{
name: {
type: String,
required: true,
maxlength: [50, "Name cannot be more than 50 characters"],
},
trade_name: {
type: String,
required: true,
maxlength: [50, "Trade Name cannot be more than 50 characters"],
},
address: {
type: String,
required: true,
},
state: {
type: String,
required: true,
},
city: {
type: String,
required: true,
},
district: {
type: String,
required: true,
},
pincode: {
type: String,
required: true,
},
mobile_number: {
type: String,
required: true,
},
principal_distributer: {
type: Schema.Types.ObjectId,
ref: "User",
required: true,
},
pan_number: {
type: String,
required: true,
},
pan_img: {
type: Object,
required: true,
},
aadhar_number: {
type: String,
required: true,
},
aadhar_img: {
type: Object,
required: true,
},
gst_number: {
type: String,
required: true,
},
gst_img: {
type: Object,
required: true,
},
pesticide_license_img: {
type: Object,
required: true,
},
fertilizer_license_img: {
type: Object,
},
selfie_entrance_img: {
type: Object,
required: true,
},
status: {
type: String,
enum: ["new", "reject", "approved"],
default: "new",
},
rejection_reason: {
type: String,
},
addedBy: {
type: mongoose.Schema.Types.ObjectId,
refPath: "userType",
// required: true,
},
userType: {
type: String,
// required: true,
enum: ["SalesCoOrdinator", "TerritoryManager"],
},
notes: [
{
message: {
type: String,
default: "",
},
user: {
type: String,
enum: [
"Principal Distributer",
"Sales Co-ordinator",
"Territory Manager",
],
// required: true,
},
replyDate: {
type: Date,
default: Date.now,
},
},
],
},
{ timestamps: true }
);
export const KYC = model("KYC", KycSchema);