|
|
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: "اطلاعات ورود", |
|
|
} |
|
|
} } |