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.ApiStatus.Internal;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import ru.dragonestia.picker.api.impl.RoomPickerClient;
|
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.RestTemplate;
|
||||||
|
import ru.dragonestia.picker.api.impl.util.type.HttpMethod;
|
||||||
import ru.dragonestia.picker.api.model.room.ShortResponseRoom;
|
import ru.dragonestia.picker.api.model.room.ShortResponseRoom;
|
||||||
import ru.dragonestia.picker.api.model.user.ResponseUser;
|
import ru.dragonestia.picker.api.model.user.ResponseUser;
|
||||||
import ru.dragonestia.picker.api.repository.UserRepository;
|
import ru.dragonestia.picker.api.repository.UserRepository;
|
||||||
import ru.dragonestia.picker.api.repository.request.user.*;
|
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;
|
import java.util.List;
|
||||||
|
|
||||||
@ -22,31 +28,63 @@ public class UserRepositoryImpl implements UserRepository {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void linkUsersWithRoom(@NotNull LinkUsersWithRoom request) {
|
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
|
@Override
|
||||||
public void unlinkUsersFromRoom(@NotNull UnlinkUsersFromRoom request) {
|
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
|
@Override
|
||||||
public @NotNull List<ResponseUser> getAllUsersFormRoom(@NotNull GetAllUsersFromRoom request) {
|
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
|
@Override
|
||||||
public @NotNull List<ResponseUser> searchUsers(@NotNull SearchUsers request) {
|
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
|
@Override
|
||||||
public @NotNull ResponseUser findUserById(@NotNull FindUserById request) {
|
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
|
@Override
|
||||||
public @NotNull List<ShortResponseRoom> findRoomsLinkedWithUser(@NotNull FindRoomsLinkedWithUser request) {
|
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