full
This commit is contained in:
@@ -42,11 +42,25 @@ const projectSchema = new mongoose.Schema({
|
||||
maxLength: 255,
|
||||
default: null
|
||||
},
|
||||
age_min: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
age_max: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
conversation_projects: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
country: {
|
||||
type: Object,
|
||||
default: null
|
||||
},
|
||||
province: {
|
||||
type: Object,
|
||||
default: null
|
||||
@@ -55,6 +69,30 @@ const projectSchema = new mongoose.Schema({
|
||||
type: Object,
|
||||
default: null
|
||||
},
|
||||
lat: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
lng: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
neighborhood: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 255,
|
||||
default: null
|
||||
},
|
||||
address: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 1024,
|
||||
default: null
|
||||
},
|
||||
offer_time: {
|
||||
type: String,
|
||||
required: false,
|
||||
@@ -71,6 +109,73 @@ const projectSchema = new mongoose.Schema({
|
||||
maxLength: 255,
|
||||
default: null
|
||||
},
|
||||
payment_method: {
|
||||
type: String,
|
||||
enum: ['monthly', 'daily', 'hourly', 'commission', 'negotiable'],
|
||||
required: false,
|
||||
default: undefined
|
||||
},
|
||||
start_date: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 64,
|
||||
default: null
|
||||
},
|
||||
work_hours_start: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 32,
|
||||
default: null
|
||||
},
|
||||
work_hours_end: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 32,
|
||||
default: null
|
||||
},
|
||||
collaboration_type: {
|
||||
type: String,
|
||||
enum: ['full_time', 'part_time', 'project', 'internship'],
|
||||
required: false,
|
||||
default: undefined
|
||||
},
|
||||
experience: {
|
||||
type: String,
|
||||
required: false,
|
||||
trim: true,
|
||||
maxLength: 64,
|
||||
default: null
|
||||
},
|
||||
roles: [{
|
||||
expertise: {
|
||||
type: String,
|
||||
required: true,
|
||||
trim: true
|
||||
},
|
||||
sub_expertise: {
|
||||
type: [String],
|
||||
default: []
|
||||
},
|
||||
number_of_person: {
|
||||
type: Number,
|
||||
default: 1
|
||||
},
|
||||
height_min: { type: Number, default: null },
|
||||
height_max: { type: Number, default: null },
|
||||
weight_min: { type: Number, default: null },
|
||||
weight_max: { type: Number, default: null },
|
||||
size_min: { type: Number, default: null },
|
||||
size_max: { type: Number, default: null },
|
||||
eye_color: { type: String, default: null },
|
||||
hair_color: { type: String, default: null },
|
||||
portfolio_required: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
}],
|
||||
description: {
|
||||
type: String,
|
||||
required: false,
|
||||
@@ -95,7 +200,7 @@ const projectSchema = new mongoose.Schema({
|
||||
// فیلد برای وضعیت پروژه
|
||||
status: {
|
||||
type: String,
|
||||
enum: ['pre_payment', 'paid', 'accepted', 'rejected', 'done', 'cancled', 'ongoing'],
|
||||
enum: ['pre_payment', 'paid', 'temp_accept', 'accepted', 'rejected', 'done', 'cancled', 'ongoing'],
|
||||
default: 'pre_payment'
|
||||
},
|
||||
public_status: {
|
||||
@@ -175,6 +280,11 @@ const projectSchema = new mongoose.Schema({
|
||||
isExpired: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
// آیا مبلغ باقیمانده (پس از کسر کارمزد) هنگام تکمیل پروژه واریز شده است
|
||||
completionShareCredited: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user