convert schema objects to model with nodejs
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

379 lines
10 KiB

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