@tomei/sso
Version:
Tomei SSO Package
80 lines (71 loc) • 2.5 kB
text/typescript
import { ClassError, ObjectBase } from '@tomei/general';
import { UserObjectPrivilegeRepository } from './user-object-privilege.repository';
import { IUserObjectPrivilegeAttr } from '../../interfaces/user-object-privilege.interface';
import { ObjectStatus } from '../../enum/object-status.enum';
export class UserObjectPrivilege extends ObjectBase {
TableName = 'sso_UserObjectPrivilege';
ObjectName: string;
ObjectPrivilegeId: number;
UserId: number;
SystemPrivilegeId: string;
ObjectId: string;
ObjectType: string;
Status: ObjectStatus;
private _CreatedAt: Date;
private _UpdatedAt: Date;
private _CreatedById: number;
private _UpdatedById: number;
get CreatedAt() {
return this._CreatedAt;
}
get UpdatedAt() {
return this._UpdatedAt;
}
get CreatedById() {
return this._CreatedById;
}
get UpdatedById() {
return this._UpdatedById;
}
private static _Repository = new UserObjectPrivilegeRepository();
private constructor(userObjectPrivilegeAttr?: IUserObjectPrivilegeAttr) {
super();
if (userObjectPrivilegeAttr) {
this.ObjectPrivilegeId = userObjectPrivilegeAttr.ObjectPrivilegeId;
this.UserId = userObjectPrivilegeAttr.UserId;
this.SystemPrivilegeId = userObjectPrivilegeAttr.SystemPrivilegeId;
this.ObjectId = userObjectPrivilegeAttr.ObjectId;
this.ObjectType = userObjectPrivilegeAttr.ObjectType;
this.Status = userObjectPrivilegeAttr.Status;
this._CreatedAt = userObjectPrivilegeAttr.CreatedAt;
this._UpdatedAt = userObjectPrivilegeAttr.UpdatedAt;
this._CreatedById = userObjectPrivilegeAttr.CreatedById;
this._UpdatedById = userObjectPrivilegeAttr.UpdatedById;
}
}
public static async init(dbTransaction?: any, ObjectPrivilegeId?: number) {
try {
const userObjectPrivilege = new UserObjectPrivilege();
if (ObjectPrivilegeId) {
const userObjectPrivilegeAttr = await this._Repository.findOne({
where: { ObjectPrivilegeId },
transaction: dbTransaction,
});
if (userObjectPrivilegeAttr) {
return new UserObjectPrivilege(
userObjectPrivilegeAttr.get({ plain: true }),
);
} else {
throw new ClassError(
'UserObjectPrivilege',
'UserObjectPrivilegeErrMsg00',
'UserObjectPrivilege not found',
);
}
}
return userObjectPrivilege;
} catch (error) {
throw error;
}
}
}