96 lines
3.4 KiB
Java
96 lines
3.4 KiB
Java
package de.ph87.tools.group;
|
|
|
|
import de.ph87.tools.group.requests.GroupChangePasswordRequest;
|
|
import de.ph87.tools.group.requests.GroupChangeTitleRequest;
|
|
import de.ph87.tools.group.requests.GroupJoinRequest;
|
|
import de.ph87.tools.group.requests.GroupUserRequest;
|
|
import de.ph87.tools.group.uuid.GroupUuid;
|
|
import de.ph87.tools.user.uuid.UserPrivateUuid;
|
|
import de.ph87.tools.user.uuid.UserPublicUuid;
|
|
import jakarta.annotation.Nullable;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import lombok.NonNull;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import java.util.Set;
|
|
|
|
@CrossOrigin
|
|
@RestController
|
|
@RequiredArgsConstructor
|
|
@RequestMapping("Group")
|
|
public class GroupController {
|
|
|
|
private final GroupService groupService;
|
|
|
|
private final GroupAccessService groupAccessService;
|
|
|
|
@GetMapping("create")
|
|
public GroupDto create(@Nullable final UserPrivateUuid privateUuid, @NonNull final HttpServletResponse response) {
|
|
return groupService.create(privateUuid, response);
|
|
}
|
|
|
|
@PostMapping("canAccess")
|
|
public boolean canAccess(@Nullable final UserPrivateUuid privateUuid, @NonNull final GroupUuid groupUuid) {
|
|
return groupAccessService.canAccess(privateUuid, groupUuid);
|
|
}
|
|
|
|
@PostMapping("delete")
|
|
public void delete(@NonNull final UserPrivateUuid privateUuid, @NonNull final GroupUuid groupUuid) {
|
|
groupAccessService.delete(privateUuid, groupUuid);
|
|
}
|
|
|
|
@PostMapping("get")
|
|
public GroupDto get(@NonNull final UserPrivateUuid privateUuid, @NonNull final GroupUuid groupUuid) {
|
|
return groupService.get(privateUuid, groupUuid);
|
|
}
|
|
|
|
@NonNull
|
|
@GetMapping("findAllJoined")
|
|
public Set<GroupDto> findAllJoined(@NonNull final UserPrivateUuid userUuid) {
|
|
return groupService.findAllJoined(userUuid);
|
|
}
|
|
|
|
@NonNull
|
|
@PostMapping("findAllCommon")
|
|
public Set<GroupDto> findAllCommon(@NonNull final UserPrivateUuid userUuid, @NonNull final UserPublicUuid targetUuid) {
|
|
return groupService.findAllCommon(userUuid, targetUuid);
|
|
}
|
|
|
|
@PostMapping("join")
|
|
public GroupDto join(@Nullable final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupJoinRequest request, @NonNull final HttpServletResponse response) {
|
|
return groupService.join(privateUuid, request, response);
|
|
}
|
|
|
|
@PostMapping("kick")
|
|
public void kick(@NonNull final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupUserRequest request) {
|
|
groupService.kick(privateUuid, request);
|
|
}
|
|
|
|
@PostMapping("ban")
|
|
public void ban(@NonNull final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupUserRequest request) {
|
|
groupService.ban(privateUuid, request);
|
|
}
|
|
|
|
@PostMapping("unban")
|
|
public void unban(@NonNull final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupUserRequest request) {
|
|
groupService.unban(privateUuid, request);
|
|
}
|
|
|
|
@PostMapping("changeTitle")
|
|
public GroupDto changeTitle(@NonNull final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupChangeTitleRequest request) {
|
|
return groupService.changeTitle(privateUuid, request);
|
|
}
|
|
|
|
@PostMapping("changePassword")
|
|
public GroupDto changePassword(@NonNull final UserPrivateUuid privateUuid, @NonNull @RequestBody final GroupChangePasswordRequest request) {
|
|
return groupService.changePassword(privateUuid, request);
|
|
}
|
|
|
|
@PostMapping("leave")
|
|
public void leave(@NonNull final UserPrivateUuid privateUuid, @NonNull final GroupUuid groupUuid) {
|
|
groupService.leave(privateUuid, groupUuid);
|
|
}
|
|
|
|
}
|