32 lines
1.1 KiB
Java
32 lines
1.1 KiB
Java
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;
|
|
import java.util.Optional;
|
|
|
|
@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);
|
|
|
|
Optional<Permission> findByRoleIdAndMenuIdAndIsDeleteFalse(Long roleId, Long menuId);
|
|
}
|