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.

423 lines
8.7 KiB

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