package samuelb.capripol.Repositories;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import samuelb.capripol.Group;
import samuelb.capripol.Role;

import java.util.List;

@Repository
public interface RoleRepository extends JpaRepository<Role, Long> {
    Role findByRoleName(String role);

    @Query(value = "SELECT * FROM GroupRoles g JOIN GroupUserRoles gr on g.groupRoleID = gr.groupRoleID JOIN GroupMembers gm on gr.groupID = gm.groupID WHERE gm.userID = :userID", nativeQuery = true)
    List<Role> findByUserID(@Param("userID") Long userID);
//    List<Role> findByUserGroups(Long userId);

    //want to find a users available roles based on their groups. Need userID
}
