add permission logic

This commit is contained in:
dirgantarasiahaan
2023-05-25 21:58:37 +07:00
parent f8f489f565
commit 6bc02da741
8 changed files with 163 additions and 2 deletions

View File

@@ -0,0 +1,13 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.Menus;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface MenusRepository extends JpaRepository<Menus, Long> {
List<Menus> findByIsDeleteFalse();
}

View File

@@ -0,0 +1,28 @@
package com.iconplus.smartproc.repository;
import com.iconplus.smartproc.model.entity.Permission;
import com.iconplus.smartproc.model.projection.PermissionView;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface PermissionRepository extends JpaRepository<Permission, Long> {
@Query(value = "SELECT m.parentId as parentId, " +
"p.menuId as menuId, " +
"m.nama as nama, " +
"p.canView as canView, " +
"p.canCreate as canCreate, " +
"p.canUpdate as canUpdate, " +
"p.canDelete as canDelete, " +
"p.canRead as canRead " +
"FROM Permission p " +
"JOIN Menus m ON m.id = p.menuId " +
"WHERE p.isDelete = false " +
"AND m.isDelete = false " +
"AND p.roleId = :roleId")
List<PermissionView> getAllPermissionsByRoleId(Long roleId);
}