|
|
|
|
module.exports = { schemaObject: {
|
|
|
|
|
|
|
|
|
|
username: {
|
|
|
|
|
type: "this.DataTypes.STRING(50)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "نام کاربری",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
regex: "[^a-zA-Z0-9@_./-]+",
|
|
|
|
|
},
|
|
|
|
|
password: {
|
|
|
|
|
type: "this.DataTypes.TEXT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "کلمهی عبور",
|
|
|
|
|
},
|
|
|
|
|
firstName: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "نام",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
regex: "[^ آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیئ]+",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
},
|
|
|
|
|
lastName: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "نام خانوادگی",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
regex: "[^ آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیئ]+",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
},
|
|
|
|
|
displayName: {
|
|
|
|
|
type: "this.DataTypes.STRING(128)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "نام نمایشی",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
regex: "[^ آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیئ]+",
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
nationalId: {
|
|
|
|
|
type: "this.DataTypes.STRING(16)",
|
|
|
|
|
allowNull: false,
|
|
|
|
|
desc: "کد ملی",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
inputType: "number",
|
|
|
|
|
maxLength: 16,
|
|
|
|
|
},
|
|
|
|
|
birthDate: {
|
|
|
|
|
type: "this.DataTypes.DATE",
|
|
|
|
|
allowNull: false,
|
|
|
|
|
desc: "تاریخ تولد",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
max: "now()",
|
|
|
|
|
},
|
|
|
|
|
gender: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "جنسیت",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
options: {
|
|
|
|
|
0: "مرد",
|
|
|
|
|
1: "زن",
|
|
|
|
|
2: "دوجنس و نامشخص",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
fatherName: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "نام پدر",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
regex: "[^ آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهیئ]+",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
},
|
|
|
|
|
status: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
defaultValue: 1,
|
|
|
|
|
desc: "وضعیت",
|
|
|
|
|
options: {
|
|
|
|
|
"-1": "مسدود شده",
|
|
|
|
|
0: "غیر فعال",
|
|
|
|
|
1: "فعال",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cellphone: {
|
|
|
|
|
type: "this.DataTypes.CHAR(11)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
validate: { is: /^09[0-9]{9}/ },
|
|
|
|
|
desc: "تلفن همراه",
|
|
|
|
|
required: true,
|
|
|
|
|
category: "اطلاعات تماس",
|
|
|
|
|
inputType: "number",
|
|
|
|
|
maxLength: 11,
|
|
|
|
|
},
|
|
|
|
|
phone: {
|
|
|
|
|
type: "this.DataTypes.CHAR(11)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تلفن ثابت",
|
|
|
|
|
category: "اطلاعات تماس",
|
|
|
|
|
inputType: "number",
|
|
|
|
|
maxLength: 11,
|
|
|
|
|
},
|
|
|
|
|
email: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "ایمیل",
|
|
|
|
|
category: "اطلاعات تماس",
|
|
|
|
|
},
|
|
|
|
|
address: {
|
|
|
|
|
type: "this.DataTypes.TEXT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "آدرس",
|
|
|
|
|
category: "اطلاعات تماس",
|
|
|
|
|
},
|
|
|
|
|
postalCode: {
|
|
|
|
|
type: "this.DataTypes.CHAR(10)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "کد پستی",
|
|
|
|
|
category: "اطلاعات تماس",
|
|
|
|
|
inputType: "number",
|
|
|
|
|
maxLength: 10,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
education: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
validate: { min: 0, max: 10 },
|
|
|
|
|
desc: `میزان تحصیلات`,
|
|
|
|
|
options: {
|
|
|
|
|
0: "بیسواد",
|
|
|
|
|
1: "ابتدایی",
|
|
|
|
|
2: "راهنمایی",
|
|
|
|
|
3: "دیپلم",
|
|
|
|
|
4: "کاردانی",
|
|
|
|
|
5: "کارشناسی",
|
|
|
|
|
6: "کارشناسی ارشد",
|
|
|
|
|
7: "دکترای عمومی",
|
|
|
|
|
8: "دکترای حرفهای",
|
|
|
|
|
9: "دکترای تخصصی",
|
|
|
|
|
10: "فوق تخصص",
|
|
|
|
|
},
|
|
|
|
|
category: "تحصیلات کاربر",
|
|
|
|
|
},
|
|
|
|
|
studiesField: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "رشتهی تحصیلی",
|
|
|
|
|
category: "تحصیلات کاربر",
|
|
|
|
|
maxLength: 32,
|
|
|
|
|
},
|
|
|
|
|
graduationYear: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
maxLength: 4,
|
|
|
|
|
desc: "سال اخذ مدرک",
|
|
|
|
|
category: "تحصیلات کاربر",
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
referenceId: {
|
|
|
|
|
type: "this.DataTypes.BIGINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "معرف",
|
|
|
|
|
maxLength: 32,
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
isForeigner: {
|
|
|
|
|
type: "this.DataTypes.BOOLEAN",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
defaultValue: false,
|
|
|
|
|
desc: "آیا کاربر از اتباع خارجی است؟",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
options: {
|
|
|
|
|
0: "خیر",
|
|
|
|
|
1: "بله",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
civilRegValidation: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
defaultValue: 0,
|
|
|
|
|
desc: "وضعیت استعلام ثبت احوال",
|
|
|
|
|
options: {
|
|
|
|
|
"-1": "استعلام ناموفق",
|
|
|
|
|
0: "استعلام نشده",
|
|
|
|
|
1: "استعلام موفق",
|
|
|
|
|
},
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
childCount: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تعداد فرزندان",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
maxLength: 2,
|
|
|
|
|
},
|
|
|
|
|
maritalStatus: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: `وضعیت تاهل`,
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
options: {
|
|
|
|
|
0: "مجرد",
|
|
|
|
|
1: "متاهل",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
militaryServiceStatus: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: `وضعیت نظام وظیفه`,
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
options: {
|
|
|
|
|
1: "معافیت پزشکی",
|
|
|
|
|
2: "معافیت غیر پزشکی",
|
|
|
|
|
3: "انجام شده",
|
|
|
|
|
4: "انجام نشده",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
reasonOfExemption: {
|
|
|
|
|
type: "this.DataTypes.TEXT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "علت معافیت",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
yearOfExemption: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "سال معافیت",
|
|
|
|
|
maxLength: 4,
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
paraghraphOfExemption: {
|
|
|
|
|
type: "this.DataTypes.STRING(4)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "بند معافیت",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
noteOfExemption: {
|
|
|
|
|
type: "this.DataTypes.STRING(4)",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "ماده معافیت",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
maxLength: 32,
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
permitIssueDate: {
|
|
|
|
|
type: "this.DataTypes.DATEONLY",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تاریخ صدور مجوز",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
permitExpirationDate: {
|
|
|
|
|
type: "this.DataTypes.DATEONLY",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تاریخ پایان اعتبار مجوز",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
},
|
|
|
|
|
premitFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل مجوز",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
experienceYears: {
|
|
|
|
|
type: "this.DataTypes.SMALLINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تعداد سالهای تجربهی کار",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
maxLength: "2",
|
|
|
|
|
},
|
|
|
|
|
nationalCardFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل کارت ملی",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
birthCertificateFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل شناسنامه",
|
|
|
|
|
category: "اطلاعات هویتی",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
militaryServiceCardFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل پایان خدمت",
|
|
|
|
|
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
policeClearanceFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل عدم سوء پیشینه",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
personalImageFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل عکس پرسنلی",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
healthCardFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "فایل کارت بهداشت",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
relation: "file",
|
|
|
|
|
inputType: "file",
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lastUserRoleId: {
|
|
|
|
|
type: "this.DataTypes.BIGINT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "آخرین نقش و سمت انتخاب شده",
|
|
|
|
|
relation: "userRole",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
category: "اطلاعات ورود",
|
|
|
|
|
},
|
|
|
|
|
signatureFile: {
|
|
|
|
|
type: "this.DataTypes.TEXT",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
inputType: "sign",
|
|
|
|
|
},
|
|
|
|
|
signatureFileId: {
|
|
|
|
|
type: "this.DataTypes.STRING",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "تصویر امضا",
|
|
|
|
|
relation: "file",
|
|
|
|
|
category: "ضمائم",
|
|
|
|
|
},
|
|
|
|
|
lastSuccessfulLogin: {
|
|
|
|
|
type: "this.DataTypes.DATE",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "زمان آخرین ورود موفق",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
category: "اطلاعات ورود",
|
|
|
|
|
},
|
|
|
|
|
lastFailedLogin: {
|
|
|
|
|
type: "this.DataTypes.DATE",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "زمان آخرین تلاش ورود ناموفق",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
category: "اطلاعات ورود",
|
|
|
|
|
},
|
|
|
|
|
consecutiveLoginFailures: {
|
|
|
|
|
type: "this.DataTypes.INTEGER",
|
|
|
|
|
allowNull: false,
|
|
|
|
|
defaultValue: 0,
|
|
|
|
|
desc: "تعداد دفعات ورود ناموفق قبل از ورود موفق",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
category: "اطلاعات ورود",
|
|
|
|
|
},
|
|
|
|
|
loginRestrictionEnd: {
|
|
|
|
|
type: "this.DataTypes.DATE",
|
|
|
|
|
allowNull: true,
|
|
|
|
|
desc: "زمان پایان محدودیت ورود",
|
|
|
|
|
readOnly: true,
|
|
|
|
|
category: "اطلاعات ورود",
|
|
|
|
|
}
|
|
|
|
|
} }
|