fixed modify and delete queries
This commit is contained in:
parent
a1f3229c19
commit
5ca7fb8b06
|
|
@ -1,6 +1,6 @@
|
||||||
import { pagination } from "../../utils/pagination.js";
|
import { pagination } from "../../utils/pagination.js";
|
||||||
|
|
||||||
const _endpointsQuery = (_pagination) => ({ count }) => ({ uuid, route, method }) => {
|
const _endpointsQuery = (_pagination = '') => ({ count }) => ({ uuid, route, method }) => {
|
||||||
const uuidCondition = uuid ? "AND uuid = :uuid " : "";
|
const uuidCondition = uuid ? "AND uuid = :uuid " : "";
|
||||||
const routeCondition = route ? "AND route = :route " : "";
|
const routeCondition = route ? "AND route = :route " : "";
|
||||||
const methodCondition = method ? "AND method = :method " : "";
|
const methodCondition = method ? "AND method = :method " : "";
|
||||||
|
|
@ -46,12 +46,14 @@ const insertEndpointsQuery = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateEndpointsQuery = () => {
|
const updateEndpointsQuery = () => {
|
||||||
const routeCondition = route ? 'route = :route ' : '';
|
const routeCondition = route ? 'route = :route,' : '';
|
||||||
return `
|
return `
|
||||||
UPDATE mydb.endpoints
|
UPDATE mydb.endpoints
|
||||||
SET
|
SET
|
||||||
${routeCondition}
|
${routeCondition}
|
||||||
|
uuid = :uuid
|
||||||
WHERE uuid = :uuid;
|
WHERE uuid = :uuid;
|
||||||
|
AND deleted IS NULL;
|
||||||
SELECT * FROM mydb.endpoints WHERE uuid = :uuid;
|
SELECT * FROM mydb.endpoints WHERE uuid = :uuid;
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
@ -61,6 +63,7 @@ const softDeleteEndpointsQuery = () => {
|
||||||
UPDATE mydb.endpoints
|
UPDATE mydb.endpoints
|
||||||
SET deleted = :now, deletedBy = :deletedBy
|
SET deleted = :now, deletedBy = :deletedBy
|
||||||
WHERE uuid = :uuid;
|
WHERE uuid = :uuid;
|
||||||
|
AND deleted IS NULL;
|
||||||
SELECT * FROM mydb.endpoints WHERE uuid = :uuid;
|
SELECT * FROM mydb.endpoints WHERE uuid = :uuid;
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { pagination } from '../../utils/pagination.js'
|
import { pagination } from '../../utils/pagination.js'
|
||||||
|
|
||||||
const _permissionsQuery = (_pagination) => ({count}) => ({uuid, action, endpoint}) => {
|
const _permissionsQuery = (_pagination = '') => ({count}) => ({uuid, action, endpoint}) => {
|
||||||
const uuidCondition = uuid ? 'AND uuid = :uuid ' : '';
|
const uuidCondition = uuid ? 'AND uuid = :uuid ' : '';
|
||||||
const actionCondition = action ? 'AND action = :action ' : '';
|
const actionCondition = action ? 'AND action = :action ' : '';
|
||||||
const endpointCondition = endpoint ? 'AND fk_endpoint = (SELECT id from mydb.endpoints WHERE route = :endpoint)' : '';
|
const endpointCondition = endpoint ? 'AND fk_endpoint = (SELECT id from mydb.endpoints WHERE route = :endpoint)' : '';
|
||||||
|
|
@ -20,7 +20,6 @@ const _permissionsQuery = (_pagination) => ({count}) => ({uuid, action, endpoint
|
||||||
AND
|
AND
|
||||||
true
|
true
|
||||||
${uuidCondition}
|
${uuidCondition}
|
||||||
${nameCondition}
|
|
||||||
${actionCondition}
|
${actionCondition}
|
||||||
${endpointCondition}
|
${endpointCondition}
|
||||||
${_pagination}
|
${_pagination}
|
||||||
|
|
@ -55,17 +54,18 @@ const insertPermissionsQuery = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const modifyPermissionsQuery = (action, endpoint) => {
|
const modifyPermissionsQuery = (action, endpoint) => {
|
||||||
const actionCondition = action ? 'action = :action ' : '';
|
const actionCondition = action ? 'action = :action ,' : '';
|
||||||
const endpointCondition = endpoint ? 'fk_endpoint = (SELECT id from mydb.endpoints WHERE route = :endpoint)' : '';
|
const endpointCondition = endpoint ? 'fk_endpoint = (SELECT id from mydb.endpoints WHERE route = :endpoint),' : '';
|
||||||
return `
|
return `
|
||||||
UPDATE mydb.permissions
|
UPDATE mydb.permissions
|
||||||
SET
|
SET
|
||||||
${actionCondition}
|
${actionCondition}
|
||||||
${endpointCondition}
|
${endpointCondition}
|
||||||
|
uuid = :uuid
|
||||||
WHERE
|
WHERE
|
||||||
permissions.uuid = :uuid
|
permissions.uuid = :uuid
|
||||||
AND
|
AND
|
||||||
permissions.deleted IS NULL
|
permissions.deleted IS NULL;
|
||||||
SELECT * FROM mydb.permissions WHERE uuid = :uuid;
|
SELECT * FROM mydb.permissions WHERE uuid = :uuid;
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ const countRoleQuery = rest =>
|
||||||
*/
|
*/
|
||||||
const insertRoleQuery = () => {
|
const insertRoleQuery = () => {
|
||||||
return `
|
return `
|
||||||
INSERT INTO mydb.users (
|
INSERT INTO mydb.roles (
|
||||||
uuid,
|
uuid,
|
||||||
name,
|
name,
|
||||||
created,
|
created,
|
||||||
|
|
@ -79,7 +79,9 @@ const modifyRoleQuery = ({ name }) => {
|
||||||
${nameCondition}
|
${nameCondition}
|
||||||
uuid = :uuid
|
uuid = :uuid
|
||||||
WHERE
|
WHERE
|
||||||
roles.uuid = :uuid;
|
roles.uuid = :uuid
|
||||||
|
AND
|
||||||
|
roles.deleted IS NULL;
|
||||||
SELECT mydb.roles.*
|
SELECT mydb.roles.*
|
||||||
FROM mydb.roles
|
FROM mydb.roles
|
||||||
WHERE roles.uuid = :uuid
|
WHERE roles.uuid = :uuid
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { pagination } from '../../utils/pagination.js'
|
import { pagination } from '../../utils/pagination.js'
|
||||||
|
|
||||||
const _rolesHasPermissionsQuery = (_pagination) => ({count}) => ({uuid, permission_uuid, roleName}) => {
|
const _rolesHasPermissionsQuery = (_pagination = '') => ({count}) => ({uuid, permission_uuid, roleName}) => {
|
||||||
const roleNameCondition = roleName ? 'AND fk_role = (SELECT id from mydb.roles WHERE name = :roleName)' : '';
|
const roleNameCondition = roleName ? 'AND fk_role = (SELECT id from mydb.roles WHERE name = :roleName)' : '';
|
||||||
const uuidCondition = uuid ? 'AND fk_role = (SELECT id from mydb.roles WHERE uuid = :roleUuid)' : '';
|
const uuidCondition = uuid ? 'AND fk_role = (SELECT id from mydb.roles WHERE uuid = :roleUuid)' : '';
|
||||||
const permissionsUuidCondition = permission_uuid ? 'AND fk_permission = (SELECT id from mydb.permissions WHERE uuid = :permissionUuid)' : '';
|
const permissionsUuidCondition = permission_uuid ? 'AND fk_permission = (SELECT id from mydb.permissions WHERE uuid = :permissionUuid)' : '';
|
||||||
|
|
@ -68,6 +68,24 @@ const insertRolesHasPermissionsQuery = () => {
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const modifyRolesHasPermissionsQuery = (roleUuid, permissionUuid) => {
|
||||||
|
const roleUuidCondition = roleUuid ? 'fk_role = (SELECT id from mydb.roles WHERE uuid = :roleUuid),' : '';
|
||||||
|
const permissionUuidCondition = permissionUuid ? 'fk_permission = (SELECT id from mydb.permissions WHERE uuid = :permissionUuid),' : '';
|
||||||
|
return `
|
||||||
|
UPDATE
|
||||||
|
mydb.roles_has_permissions as roles_has_permissions
|
||||||
|
SET
|
||||||
|
${roleUuidCondition}
|
||||||
|
${permissionUuidCondition}
|
||||||
|
uuid = :uuid
|
||||||
|
WHERE
|
||||||
|
roles_has_permissions.uuid = :uuid
|
||||||
|
AND
|
||||||
|
roles_has_permissions.deleted IS NULL;
|
||||||
|
SELECT * FROM mydb.roles_has_permissions WHERE uuid = :uuid;
|
||||||
|
`
|
||||||
|
}
|
||||||
|
|
||||||
const softDeleteRolesHasPermissionsQuery = () => {
|
const softDeleteRolesHasPermissionsQuery = () => {
|
||||||
return `
|
return `
|
||||||
UPDATE
|
UPDATE
|
||||||
|
|
@ -86,7 +104,8 @@ const softDeleteRolesHasPermissionsQuery = () => {
|
||||||
|
|
||||||
export{
|
export{
|
||||||
getRolesHasPermissionsQuery,
|
getRolesHasPermissionsQuery,
|
||||||
countRolesHasPermissionsQuery,
|
|
||||||
insertRolesHasPermissionsQuery,
|
insertRolesHasPermissionsQuery,
|
||||||
softDeleteRolesHasPermissionsQuery
|
countRolesHasPermissionsQuery,
|
||||||
|
softDeleteRolesHasPermissionsQuery,
|
||||||
|
modifyRolesHasPermissionsQuery
|
||||||
}
|
}
|
||||||
|
|
@ -60,8 +60,10 @@ const countUserListQuery = rest =>
|
||||||
* Insert query using parameters passed in request
|
* Insert query using parameters passed in request
|
||||||
* @returns {String} INSERT query
|
* @returns {String} INSERT query
|
||||||
*/
|
*/
|
||||||
const insertUserQuery = () => {
|
const insertUserQuery = ({email, fk_role, createdBy}) => {
|
||||||
const emailCondition = email ? ':email' : null;
|
const emailCondition = email ? ':email' : null;
|
||||||
|
const roleCondition = fk_role ? '(SELECT id FROM mydb.roles WHERE name = :fk_role)' : `(SELECT id FROM mydb.roles WHERE name = 'viewer')`;
|
||||||
|
const createdByCondition = createdBy ? 'createdBy = :createdBy' : null;
|
||||||
return `
|
return `
|
||||||
INSERT INTO mydb.users (
|
INSERT INTO mydb.users (
|
||||||
uuid,
|
uuid,
|
||||||
|
|
@ -77,9 +79,9 @@ const insertUserQuery = () => {
|
||||||
:username,
|
:username,
|
||||||
:password,
|
:password,
|
||||||
${emailCondition},
|
${emailCondition},
|
||||||
:role
|
${roleCondition},
|
||||||
:now,
|
:now,
|
||||||
:createdBy
|
${createdByCondition}
|
||||||
);
|
);
|
||||||
SELECT * FROM mydb.users WHERE uuid = :uuid;
|
SELECT * FROM mydb.users WHERE uuid = :uuid;
|
||||||
`
|
`
|
||||||
|
|
@ -89,13 +91,11 @@ const insertUserQuery = () => {
|
||||||
* @param {Object} params All params involved in query to be modified in certain object matching uuid passed as req param
|
* @param {Object} params All params involved in query to be modified in certain object matching uuid passed as req param
|
||||||
* @returns {String} UPDATE query
|
* @returns {String} UPDATE query
|
||||||
*/
|
*/
|
||||||
const modifyUserQuery = ({ username, email, role }) => {
|
const modifyUserQuery = ({ username, password, email, role }) => {
|
||||||
const usernameCondition = username ? ':username, ' : '';
|
const usernameCondition = username ? `username = :username, ` : ``;
|
||||||
const passwordCondition = password ? ':password, ' : '';
|
const passwordCondition = password ? `password = :password, ` : ``;
|
||||||
const emailCondition = email ? ':email, ' : '';
|
const emailCondition = email ? `email = :email, ` : ``;
|
||||||
const roleCondition = role ? '(SELECT id FROM mydb.roles WHERE name = :role) ' : '';
|
const roleCondition = role ? `fk_role = (SELECT id FROM mydb.roles WHERE name = :role) ` : ``;
|
||||||
const lastLoginDateCondition = lastLoginDate ? ':lastLoginDate, ' : '';
|
|
||||||
const userStatusCondition = userStatus ? ':userStatus, ' : '';
|
|
||||||
|
|
||||||
return `
|
return `
|
||||||
UPDATE
|
UPDATE
|
||||||
|
|
@ -105,11 +105,11 @@ const modifyUserQuery = ({ username, email, role }) => {
|
||||||
${passwordCondition}
|
${passwordCondition}
|
||||||
${emailCondition}
|
${emailCondition}
|
||||||
${roleCondition}
|
${roleCondition}
|
||||||
${lastLoginDateCondition}
|
|
||||||
${userStatusCondition}
|
|
||||||
uuid = :uuid
|
uuid = :uuid
|
||||||
WHERE
|
WHERE
|
||||||
users.uuid = :uuid;
|
users.uuid = :uuid
|
||||||
|
AND
|
||||||
|
users.deleted IS NULL;
|
||||||
SELECT mydb.users.*
|
SELECT mydb.users.*
|
||||||
FROM mydb.users
|
FROM mydb.users
|
||||||
WHERE users.uuid = :uuid
|
WHERE users.uuid = :uuid
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue