import mongooseModel from "mongoose";
import { toImageUrl } from "../utils/imageUrl";
const mongoose = require("mongoose");

const StoreInformation = mongoose.Schema(
  {
    vendorID: {
      type: mongoose.Schema.Types.ObjectId,
      ref: "User",
      required: true,
      unique: true,
    },
    storeImage: {
      type: String,
      default: "",
      required: false,
    },
    storeName: {
      type: String,
      default: "",
      required: true,
    },
    storeDescription: {
      type: String,
      default: "",
      required: true,
    },
    businessCategory: {
      type: String,
      default: "",
      required: true,
    },
    companySize: {
      type: String,
      default: "",
      required: false,
    },
    yearFounded: {
      type: String,
      default: "",
      required: false,
    },
    website: {
      type: String,
      default: "",
      required: false,
    },
    carrier: {
      type: Array<String>,
      default: [],
      required: false,
    },
    instagram: {
      type: String,
      default: "",
      required: false,
    },
    facebook: {
      type: String,
      default: "",
      required: false,
    },
    twitter: {
      type: String,
      default: "",
      required: false,
    },
  },
  {
    timestamps: true,
  },
);

const expandImageUrl = (_doc: any, ret: any) => {
  if (ret.storeImage) ret.storeImage = toImageUrl(ret.storeImage);
  return ret;
};
StoreInformation.set("toObject", { transform: expandImageUrl });
StoreInformation.set("toJSON", { transform: expandImageUrl });

export default mongoose.model("StoreInformation", StoreInformation);
