somewhere

This commit is contained in:
Swift
2023-08-17 13:05:51 +03:30
parent 30c7eb0e7b
commit 53843207cc
429 changed files with 117489 additions and 1 deletions
+111
View File
@@ -0,0 +1,111 @@
const mongoose = require('mongoose')
function file(file) {
return '/uploads/representation_docs/' + this.name
}
const FilesSchema = mongoose.Schema({
name: String
})
FilesSchema.virtual('url').get(file)
const RepresentationSchema = mongoose.Schema({
// user info
user_id: { type: mongoose.ObjectId, ref: 'User' },
representation_code: String,
agent_code: String,
editAccess: { type: Boolean, default: false },
// personal info
full_name: String,
birth_date: String,
id_number: String,
place_of_issue: String,
national_code: String,
fathers_name: String,
education_level: String,
military_status: String,
certificates: String,
// contact info
store_name: String,
province_name: String,
province_id: String,
city_name: String,
city_id: String,
postal_code: String,
mobile_number: String,
tel_number: String,
fax_number: String,
economic_code: String,
email: String,
address: String,
// location info
business_license: Boolean,
ownership_type: { type: String, enum: ['owner', 'rent', 'rghit_of_business'] },
total_area: String,
repair_area: String,
stock_area: String,
customer_reference_floor: String,
place_location: { type: String, enum: ['tech_passage', 'other'] },
geo_location: { type: String, enum: ['main_street', 'side_street', 'alley', 'inside_passage', 'outside_passage'] },
banner_info: String,
repair_technicians: String,
repair_masters: String,
office_workers: String,
bike_deliveries: String,
// experience info
computer_repair_exp: String,
multimedia_repair_exp: String,
business_exp: String,
// common questions
representation_type: {
type: String,
enum: ['verity', 'panatech', 'both'],
default: 'both'
},
know_asanServ_from: {
type: String,
enum: ['company_agents', 'website', 'company_workers', 'exhibition', 'introduced', 'other']
},
introducer_info: String,
asanServ_products_knowledge: { type: Number, enum: [0, 1, 2, 3, 4] },
computer_saling_exp: Boolean,
computer_saling_description: String,
other_representations: [
{
trademark: String,
company_name: String,
cooperation_history: String,
cooperation_start_year: String
}
],
more_descriptions: String,
// admins
status: {
type: String,
enum: ['registered', 'ongoing', 'verification', 'accepted', 'rejected'],
default: 'registered'
},
// files
upload: { type: Boolean, default: true },
tradeUnion: [FilesSchema],
expertise: [FilesSchema],
ownership: [FilesSchema],
repairShop: [FilesSchema],
itEmployee: [FilesSchema],
itExpert: [FilesSchema],
financialGuarantees: [FilesSchema],
//
archived: { type: Boolean, default: false },
_updatedBy: { type: mongoose.ObjectId, ref: 'User' },
_revoked: { type: Boolean, default: false },
_revokedBy: { type: mongoose.ObjectId, ref: 'User' }
})
module.exports = mongoose.model('Representation', RepresentationSchema)