Implemented UserRepository
This commit is contained in:
parent
5814119428
commit
5ca6c02e54
@ -3,11 +3,17 @@ package ru.dragonestia.picker.api.impl.repository;
|
||||
import org.jetbrains.annotations.ApiStatus.Internal;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import ru.dragonestia.picker.api.impl.RoomPickerClient;
|
||||
import ru.dragonestia.picker.api.impl.util.EnumUtils;
|
||||
import ru.dragonestia.picker.api.impl.util.RestTemplate;
|
||||
import ru.dragonestia.picker.api.impl.util.type.HttpMethod;
|
||||
import ru.dragonestia.picker.api.model.room.ShortResponseRoom;
|
||||
import ru.dragonestia.picker.api.model.user.ResponseUser;
|
||||
import ru.dragonestia.picker.api.repository.UserRepository;
|
||||
import ru.dragonestia.picker.api.repository.request.user.*;
|
||||
import ru.dragonestia.picker.api.repository.response.LinkedRoomsWithUserResponse;
|
||||
import ru.dragonestia.picker.api.repository.response.RoomUserListResponse;
|
||||
import ru.dragonestia.picker.api.repository.response.SearchUserResponse;
|
||||
import ru.dragonestia.picker.api.repository.response.UserDetailsResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -22,31 +28,63 @@ public class UserRepositoryImpl implements UserRepository {
|
||||
|
||||
@Override
|
||||
public void linkUsersWithRoom(@NotNull LinkUsersWithRoom request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
rest.query("/nodes/%s/rooms/%s/users".formatted(request.getNodeId(), request.getRoomId()),
|
||||
HttpMethod.POST,
|
||||
params -> {
|
||||
params.put("userIds", String.join(",", request.getUsers()));
|
||||
params.put("force", Boolean.toString(request.ignoreSlotLimitation()));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unlinkUsersFromRoom(@NotNull UnlinkUsersFromRoom request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
rest.query("/nodes/%s/rooms/%s/users".formatted(request.getNodeId(), request.getRoomId()),
|
||||
HttpMethod.DELETE,
|
||||
params -> {
|
||||
params.put("userIds", String.join(",", request.getUsers()));
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<ResponseUser> getAllUsersFormRoom(@NotNull GetAllUsersFromRoom request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
return rest.query("/nodes/%s/rooms/%s/users".formatted(request.getNodeId(), request.getRoomId()),
|
||||
HttpMethod.GET,
|
||||
RoomUserListResponse.class,
|
||||
params -> {
|
||||
var detailsStr = String.join(",", EnumUtils.enumSetToString(request.getDetails()));
|
||||
|
||||
params.put("requiredDetails", detailsStr);
|
||||
}).users();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<ResponseUser> searchUsers(@NotNull SearchUsers request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
return rest.query("/users/search",
|
||||
HttpMethod.GET,
|
||||
SearchUserResponse.class,
|
||||
params -> {
|
||||
params.put("requiredDetails", EnumUtils.enumSetToString(request.getDetails()));
|
||||
params.put("input", request.getSearchInput());
|
||||
}).users();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull ResponseUser findUserById(@NotNull FindUserById request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
return rest.query("/users/" + request.getUserId(),
|
||||
HttpMethod.GET,
|
||||
UserDetailsResponse.class,
|
||||
params -> {
|
||||
params.put("requiredDetails", EnumUtils.enumSetToString(request.getDetails()));
|
||||
}).user();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull List<ShortResponseRoom> findRoomsLinkedWithUser(@NotNull FindRoomsLinkedWithUser request) {
|
||||
throw new UnsupportedOperationException("Not implemented");
|
||||
return rest.query("/users/" + request.getUserId() + "/rooms",
|
||||
HttpMethod.GET,
|
||||
LinkedRoomsWithUserResponse.class,
|
||||
params -> {
|
||||
params.put("requiredDetails", EnumUtils.enumSetToString(request.getDetails()));
|
||||
}).rooms();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user