Duffer Derek

Current Path : /var/www/api-mk-planner.bitkit.dk/httpdocs/Backend/src/database/models/
Upload File :
Current File : /var/www/api-mk-planner.bitkit.dk/httpdocs/Backend/src/database/models/inquiry.js

import Sequelize from "sequelize";
import dbConnection from "../config/database.js";

const sequelize = dbConnection;

const inquiry = sequelize.define(
  "inquiry",
  {
    id: {
      allowNull: false,
      autoIncrement: true,
      primaryKey: true,
      type: Sequelize.INTEGER,
    },
    item_id: {
      type: Sequelize.BIGINT,
      allowNull: true,
      defaultValue: null,
    },
    title: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    first_name: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    last_name: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    full_address: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    housing_type: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    phone_number: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    email: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_postal_code: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_description: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_start_preferred_date: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    agreed_followup: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    followup_status: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    subcontractor_conversation_note: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    conversation_comment: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    inspection_date_start: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    inspection_date_end: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    status: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    painterkanon_employee: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    region: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    gk_service_manager: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    gk_total_price: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    gk_discounted_price: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    gk_full_address: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    floor_cannon_employee: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    gk_rooms_to_sand: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    area_sqm: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    number_of_m_two_planing: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    stairs_count: {
      type: Sequelize.INTEGER,
      allowNull: true,
    },
    performed_in_two_stages: {
      type: Sequelize.INTEGER,
      allowNull: true,
    },
    task_based_on_invoice: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_description_invoice: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    offer_section: {
      type: Sequelize.JSON,
      allowNull: true,
    },
    estimated_material_usage: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_description_offer_pdf: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    task_price_estimate: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    hourly_rate: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    estimated_hours: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    estimate_sent_date: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    offer_sent_date: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    add_product: {
      type: Sequelize.BIGINT,
      allowNull: true,
    },
    price_for_the_task: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    estimated_days: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    additional_services_text: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    not_included_in_offer: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    free_of_charge: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    offer_section_2: {
      type: Sequelize.JSON,
      allowNull: true,
    },
    task_description_offer2: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    offer_price_2: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    offer_sent_date_2: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    additional_info: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    floor_area_size: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    rooms_to_paint: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    price: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    mk_standard_offer_price_text: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    partner_trigger: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    partner: {
      type: Sequelize.BIGINT,
      allowNull: true,
    },
    price_evaluation: {
      type: Sequelize.JSON,
      allowNull: true,
    },
    material_cost: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    trigger_price_evaluation: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    calc_price_for_painter: {
      type: Sequelize.JSON,
      allowNull: true,
    },
    painter_final_price: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    calc_price_for_painter_input: {
      type: Sequelize.DECIMAL(10, 2),
      allowNull: true,
    },
    revenue_per_hour: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    output_material_cost: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    output_employee_salary_cost: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    execution_date_start: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    execution_date_end: {
      type: Sequelize.DATE,
      allowNull: true,
    },
    is_english: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    other_images_from_website: {
      type: Sequelize.TEXT,
      allowNull: true,
    },
    office_partner: {
      type: Sequelize.BIGINT,
      allowNull: true,
      defaultValue: null,
    },
    created_at: {
      allowNull: false,
      type: Sequelize.DATE,
    },
    updated_at: {
      allowNull: false,
      type: Sequelize.DATE,
    },
  },
  {
    tableName: "inquiry",
    timestamps: true,
    updatedAt: "updated_at",
    createdAt: "created_at",
  }
);

// Add association with files
import files from "./files.js";
files.belongsTo(inquiry, { foreignKey: "item_id", targetKey: "item_id" });
inquiry.hasMany(files, { foreignKey: "item_id", sourceKey: "item_id" });

export default inquiry;


Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists