diff --git a/src/repositories/authorization/permissionsRepository.js b/src/repositories/authorization/permissionsRepository.js index b6e45a6..14cc0f4 100644 --- a/src/repositories/authorization/permissionsRepository.js +++ b/src/repositories/authorization/permissionsRepository.js @@ -12,8 +12,10 @@ const _permissionsQuery = (_pagination = '') => ({count}) => ({uuid, action, end acloc.permissions as p LEFT JOIN acloc.endpoints as e ON p.fk_endpoint = e.id - AND e.created <= :now + WHERE + e.created <= :now AND (e.deleted > :now OR e.deleted IS NULL) + AND p.created <= :now AND (p.deleted > :now OR p.deleted IS NULL) @@ -31,11 +33,11 @@ const getPermissionsQuery = ({ limit, page, ...rest }) => const countPermissionsQuery = rest => _permissionsQuery()({ count: 'COUNT(*) AS count' })(rest); -const insertPermissionsQuery = () => { - return ` +const insertPermissionsQuery = (createdBy) => { + const createdByCondition = createdBy ? ':createdBy' : null; + return ` INSERT INTO acloc.permissions ( uuid, - name, action, fk_endpoint, created, @@ -43,21 +45,20 @@ const insertPermissionsQuery = () => { ) VALUES ( :uuid, - :name, :action, (SELECT id FROM acloc.endpoints WHERE route = :endpoint), :now, - :createdBy + ${createdByCondition} ); SELECT * FROM acloc.permissions WHERE uuid = :uuid; - ` + ` } const modifyPermissionsQuery = (action, endpoint) => { const actionCondition = action ? 'action = :action ,' : ''; const endpointCondition = endpoint ? 'fk_endpoint = (SELECT id from acloc.endpoints WHERE route = :endpoint),' : ''; return ` - UPDATE acloc.permissions + UPDATE acloc.permissions AS permissions SET ${actionCondition} ${endpointCondition} @@ -73,13 +74,13 @@ const modifyPermissionsQuery = (action, endpoint) => { const softDeletePermissionsQuery = () => { return ` UPDATE - acloc.permissions + acloc.permissions AS permissions SET deleted = :now, deletedBy = :deletedBy WHERE permissions.uuid = :uuid AND - permissions.deleted IS NULL + permissions.deleted IS NULL; SELECT * FROM acloc.permissions WHERE uuid = :uuid; ` } diff --git a/src/repositories/authorization/userRepository.js b/src/repositories/authorization/userRepository.js index 5f9a1c2..085da90 100644 --- a/src/repositories/authorization/userRepository.js +++ b/src/repositories/authorization/userRepository.js @@ -23,7 +23,7 @@ const _userListSelectQuery = (_pagination = '') => ${count || `users.*, r.name AS role`} FROM acloc.users as users - LEFT JOIN acloc.roles as r ON acloc.fk_role = r.id + LEFT JOIN acloc.roles as r ON users.fk_role = r.id WHERE users.created <= :now AND @@ -63,7 +63,7 @@ const countUserListQuery = rest => const insertUserQuery = ({email, fk_role, createdBy}) => { const emailCondition = email ? ':email' : null; const roleCondition = fk_role ? '(SELECT id FROM acloc.roles WHERE name = :fk_role)' : `(SELECT id FROM acloc.roles WHERE name = 'viewer')`; - const createdByCondition = createdBy ? 'createdBy = :createdBy' : null; + const createdByCondition = createdBy ? ':createdBy' : null; return ` INSERT INTO acloc.users ( uuid,