const Schema = require('@d3v4pp/validate');
const {email, phone} = require('@d3v4pp/rex')
const {phoneMessages, loginMessages, firstnameMessages, lastnameMessages} = require("./ValidatorsMessagesFR");
const doubleRex = /^(\d{1,11})?(\.?\d{1,2})$/;
const percentRex = /^([0-9]{0,3}[.])?[0-9]{0,2}$/;
/**
* @memberof Myintranet.Validators
*/
const CoptationsValidator = new Schema({
idq: {
type: String,
length: {max: 200},
message: {
length: "la longeur de l'idq ne doit pas depasser 200 charractéres",
match: "Ce champs doit être une idq valid",
type: 'la idq doit être une chaine de carractéres.',
required: 'La siret est un champ obligatoir.'
}
},
formule: {
type: String,
length: {max: 200},
message: {
length: "la longeur de la formule ne doit pas depasser 200 charractéres",
match: "Ce champs doit être une formule valid",
type: 'la formule doit être une chaine de carractéres.',
required: 'La siret est un champ obligatoir.'
}
},
firstname: {
type: String,
required: true,
length: {max: 200},
message: {
length: "la longeur du nom ne doit pas depasser 200 charractéres",
match: "Ce champs doit être une siret valid",
type: 'la siret doit être une chaine de carractéres.',
required: 'Le nom est un champ obligatoir.'
}
},
lastname: {
type: String,
required: true,
length: {max: 200},
message: {
length: "la longeur du prénom ne doit pas depasser 200 charractéres",
match: "Ce champs doit être une siret valid",
type: 'la siret doit être une chaine de carractéres.',
required: 'Le prénom est un champ obligatoir.'
}
},
apporteurName: {
type: String,
required: true,
length: {max: 400},
message: {
length: "la longeur du nom du rapporteur ne doit pas depasser 400 charractéres'",
match: "Ce champs doit être une apporteurName valid",
type: 'la apporteurName doit être une chaine de carractéres.',
required: 'Le nom du rapporteur est un champ obligatoir.'
}
},
tjm: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la siret n'est pas cohérante",
match: "Ce champs doit être une tjm valid",
type: 'la tjm doit être une chaine de carractéres.',
required: 'La tjm est un champ obligatoir.'
}
},
heureBase: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la siret n'est pas cohérante",
match: "Ce champs doit être une heureBase valid",
type: 'la heureBase doit être une chaine de carractéres.',
required: 'La siret est un champ obligatoir.'
}
},
tauxHorraire: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la tauxHorraire n'est pas cohérante",
match: "Ce champs doit être une tauxHorraire valid",
type: 'la tauxHorraire doit être une chaine de carractéres.',
required: 'La tauxHorraire est un champ obligatoir.'
}
},
brutBase: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la brutBase n'est pas cohérante",
match: "Ce champs doit être une brutBase valid",
type: 'la brutBase doit être une chaine de carractéres.',
required: 'La brutBase est un champ obligatoir.'
}
},
nbHeuresabs: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la nbHeuresabs n'est pas cohérante",
match: "Ce champs doit être une nbHeuresabs valid",
type: 'la nbHeuresabs doit être une chaine de carractéres.',
required: 'La nbHeuresabs est un champ obligatoir.'
}
},
montantabs: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la montantabs n'est pas cohérante",
match: "Ce champs doit être une montantabs valid",
type: 'la montantabs doit être une chaine de carractéres.',
required: 'La montantabs est un champ obligatoir.'
}
},
montantdeduit: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la siret n'est pas cohérante",
match: "Ce champs doit être une siret valid",
type: 'la siret doit être une chaine de carractéres.',
required: 'La siret est un champ obligatoir.'
}
},
icp10: {
type: String,
required: true,
match: percentRex,
message: {
length: "la longeur de la montantdeduit n'est pas cohérante",
match: "Ce champs doit être une montantdeduit valid",
type: 'la montantdeduit doit être une chaine de carractéres.',
required: 'La montantdeduit est un champ obligatoir.'
}
},
brutMajore: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la brutMajore n'est pas cohérante",
match: "Ce champs doit être une brutMajore valid",
type: 'la brutMajore doit être une chaine de carractéres.',
required: 'La brutMajore est un champ obligatoir.'
}
},
netAVImpot: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la netAVImpot n'est pas cohérante",
match: "Ce champs doit être une netAVImpot valid",
type: 'la netAVImpot doit être une chaine de carractéres.',
required: 'La netAVImpot est un champ obligatoir.'
}
}, netAPAYER: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la netAPAYER n'est pas cohérante",
match: "Ce champs doit être une netAPAYER valid",
type: 'la netAPAYER doit être une chaine de carractéres.',
required: 'La netAPAYER est un champ obligatoir.'
}
}, escompte: {
type: String,
required: true,
match: percentRex,
message: {
length: "la longeur de la escompte n'est pas cohérante",
match: "Ce champs doit être une escompte valid",
type: 'la escompte doit être une chaine de carractéres.',
required: 'La escompte est un champ obligatoir.'
}
},
nbjourouvre: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la nbjourouvre n'est pas cohérante",
match: "Ce champs doit être une nbjourouvre valid",
type: 'la nbjourouvre doit être une chaine de carractéres.',
required: 'La nbjourouvre est un champ obligatoir.'
}
},
Nbjourtravaille: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la Nbjourtravaille n'est pas cohérante",
match: "Ce champs doit être une Nbjourtravaille valid",
type: 'la Nbjourtravaille doit être une chaine de carractéres.',
required: 'La Nbjourtravaille est un champ obligatoir.'
}
},
Nbjourabs: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la Nbjourabs n'est pas cohérante",
match: "Ce champs doit être une Nbjourabs valid",
type: 'la Nbjourabs doit être une chaine de carractéres.',
required: 'La Nbjourabs est un champ obligatoir.'
}
},
percent: {
type: String,
required: true,
match: percentRex,
message: {
length: "la longeur de la percent n'est pas cohérante",
match: "Ce champs doit être une percent valid",
type: 'la percent doit être une chaine de carractéres.',
required: 'La percent est un champ obligatoir.'
}
},
tauxGarantie: {
type: String,
required: true,
match: percentRex,
message: {
length: "la longeur de la tauxGarantie n'est pas cohérante",
match: "Ce champs doit être une tauxGarantie valid",
type: 'la tauxGarantie doit être une chaine de carractéres.',
required: 'La tauxGarantie est un champ obligatoir.'
}
},
nbkmAR: {
type: String,
required: true,
match: doubleRex,
message: {
length: "la longeur de la nbkmAR n'est pas cohérante",
match: "Ce champs doit être une nbkmAR valid",
type: 'la nbkmAR doit être une chaine de carractéres.',
required: 'La nbkmAR est un champ obligatoir.'
}
},
commentaires: {
type: String,
required: true,
length: {max: 600},
message: {
length: "la longeur de la commentaires n'est pas cohérante",
match: "Ce champs doit être une commentaires valid",
type: 'la commentaires doit être une chaine de carractéres.',
required: 'La commentaires est un champ obligatoir.'
}
},
Societe: {
type: String,
required: true,
length: {max: 200},
message: {
length: "la longeur de la Societe n'est pas cohérante",
match: "Ce champs doit être une Societe valid",
type: 'la Societe doit être une chaine de carractéres.',
required: 'La Societe est un champ obligatoir.'
}
}
})
module.exports = CoptationsValidator;