SELECT u.id, u.email, u.first_name, u.middle_name, u.last_name, u.initials, u.nickname,
u.created_by_id, u.created_at, u.is_deleted, u.deleted_by_id, u.deleted_at,
u.is_active, u.deactivated_by_id, u.deactivated_at, a.password, a.password_salt,
- json_agg(r.*) as roles
+ a.is_locked, a.locked_date,
+ (select json_agg(r) from phase.user_roles ur inner join phase.roles r on ur.role_id = r.id ) as roles
FROM phase.users u
inner join phase.authentication a on u.id = a.user_id
- inner join phase.user_roles ur on u.id = ur.user_id
- inner join phase.roles r on ur.role_id = r.id
`;
this.base_list_query = `
SELECT u.id, u.email, u.first_name, u.middle_name, u.last_name, u.initials, u.nickname,
FROM phase.users u
`;
this.default_order_by = 'ORDER BY u.email ASC';
- this.group_by = 'group by u.id, u.email, u.first_name, u.middle_name, u.last_name, u.initials, u.nickname, u.created_by_id, u.created_at, u.is_deleted, u.deleted_by_id, u.deleted_at, u.is_active, u.deactivated_by_id, u.deactivated_at, a.password, a.password_salt';
this.instance = _props => new User(_props);
}