package org.egl_cepgl.pm.service;

//import lombok.RequiredArgsConstructor;
//import lombok.extern.slf4j.Slf4j;
//import org.keycloak.admin.client.Keycloak;
//import org.keycloak.admin.client.resource.RealmResource;
//import org.keycloak.admin.client.resource.RolesResource;
//import org.keycloak.admin.client.resource.UserResource;
//import org.keycloak.admin.client.resource.UsersResource;
//import org.keycloak.representations.idm.RoleRepresentation;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Service;
//
//import java.util.Collections;

//@Slf4j
//@Service
//@RequiredArgsConstructor
//public class RoleServiceImpl implements RoleService
//{
//    @Value("${keycloak.realm}")
//    private String realm;
//
//    private final Keycloak keycloak;
//
//    @Override
//    public void assignRole(String userId, String roleName)
//    {
//        UserResource userResource = this.getUserResource(userId);
//        RolesResource rolesResource = getRolesResource();
//        RoleRepresentation representation = rolesResource.get(roleName).toRepresentation();
//        userResource.roles().realmLevel().add(Collections.singletonList(representation));
//    }
//
//    private RolesResource getRolesResource(){
//        return  keycloak.realm(realm).roles();
//    }
//
//    public UserResource getUserResource(String userId)
//    {
//        UsersResource usersResource = getUsersResource();
//        return usersResource.get(userId);
//    }
//
//    private UsersResource getUsersResource() {
//        RealmResource realm1 = keycloak.realm(realm);
//        return realm1.users();
//    }
//}
