removed UserReference
This commit is contained in:
parent
a9e08775d1
commit
bff407c446
@ -4,7 +4,6 @@ import de.ph87.tools.group.Group;
|
|||||||
import de.ph87.tools.tools.numbers.uuid.NumbersAbstract;
|
import de.ph87.tools.tools.numbers.uuid.NumbersAbstract;
|
||||||
import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
|
import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
|
||||||
import de.ph87.tools.user.User;
|
import de.ph87.tools.user.User;
|
||||||
import de.ph87.tools.user.reference.UserReference;
|
|
||||||
import jakarta.annotation.Nullable;
|
import jakarta.annotation.Nullable;
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
@ -50,11 +49,11 @@ public class Numbers extends NumbersAbstract {
|
|||||||
private ZonedDateTime read = null;
|
private ZonedDateTime read = null;
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
@ManyToMany
|
||||||
@OrderColumn
|
@OrderColumn
|
||||||
@OneToMany(orphanRemoval = true)
|
private List<User> users;
|
||||||
private List<UserReference> users;
|
|
||||||
|
|
||||||
public Numbers(@NonNull final Group group, @NonNull final List<UserReference> users) {
|
public Numbers(@NonNull final Group group, @NonNull final List<User> users) {
|
||||||
this.group = group;
|
this.group = group;
|
||||||
this.users = users;
|
this.users = users;
|
||||||
}
|
}
|
||||||
@ -68,17 +67,17 @@ public class Numbers extends NumbersAbstract {
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public Integer getNumberForUser(@NonNull final User user) {
|
public Integer getNumberForUser(@NonNull final User user) {
|
||||||
for (int userReferenceIndex = 0; userReferenceIndex < users.size(); userReferenceIndex++) {
|
for (int index = 0; index < users.size(); index++) {
|
||||||
final UserReference userReference = users.get(userReferenceIndex);
|
final User userAtIndex = users.get(index);
|
||||||
if (userReference.getUser() != null && userReference.getUser().equals(user)) {
|
if (user.equals(userAtIndex)) {
|
||||||
return userReferenceIndex + 1;
|
return index + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean containsUser(@NonNull final User user) {
|
public boolean containsUser(@NonNull final User user) {
|
||||||
return users.stream().anyMatch(u -> user.equals(u.getUser()));
|
return users.stream().anyMatch(user::equals);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,8 +9,6 @@ import de.ph87.tools.tools.numbers.uuid.NumbersUuid;
|
|||||||
import de.ph87.tools.user.User;
|
import de.ph87.tools.user.User;
|
||||||
import de.ph87.tools.user.UserAccessService;
|
import de.ph87.tools.user.UserAccessService;
|
||||||
import de.ph87.tools.user.push.UserPushService;
|
import de.ph87.tools.user.push.UserPushService;
|
||||||
import de.ph87.tools.user.reference.UserReference;
|
|
||||||
import de.ph87.tools.user.reference.UserReferenceService;
|
|
||||||
import de.ph87.tools.user.uuid.UserPrivateUuid;
|
import de.ph87.tools.user.uuid.UserPrivateUuid;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@ -24,10 +22,10 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.web.server.ResponseStatusException;
|
import org.springframework.web.server.ResponseStatusException;
|
||||||
|
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
@ -39,8 +37,6 @@ public class NumbersService {
|
|||||||
|
|
||||||
private final GroupAccessService groupAccessService;
|
private final GroupAccessService groupAccessService;
|
||||||
|
|
||||||
private final UserReferenceService userReferenceService;
|
|
||||||
|
|
||||||
private final UserPushService userPushService;
|
private final UserPushService userPushService;
|
||||||
|
|
||||||
private final UserAccessService userAccessService;
|
private final UserAccessService userAccessService;
|
||||||
@ -49,7 +45,7 @@ public class NumbersService {
|
|||||||
|
|
||||||
public void create(@NonNull final UserPrivateUuid userPrivateUuid, @NonNull final GroupUuid groupUuid) {
|
public void create(@NonNull final UserPrivateUuid userPrivateUuid, @NonNull final GroupUuid groupUuid) {
|
||||||
final GroupAccess access = groupAccessService.ownerAccess(userPrivateUuid, groupUuid);
|
final GroupAccess access = groupAccessService.ownerAccess(userPrivateUuid, groupUuid);
|
||||||
final List<UserReference> users = access.getGroup().getUsers().stream().map(userReferenceService::create).collect(Collectors.toList());
|
final List<User> users = new ArrayList<>(access.getGroup().getUsers());
|
||||||
Collections.shuffle(users);
|
Collections.shuffle(users);
|
||||||
final Numbers numbers = numbersRepository.save(new Numbers(access.getGroup(), users));
|
final Numbers numbers = numbersRepository.save(new Numbers(access.getGroup(), users));
|
||||||
publish(numbers);
|
publish(numbers);
|
||||||
@ -58,7 +54,6 @@ public class NumbersService {
|
|||||||
private void publish(@NonNull final Numbers numbers) {
|
private void publish(@NonNull final Numbers numbers) {
|
||||||
numbers.getUsers()
|
numbers.getUsers()
|
||||||
.stream()
|
.stream()
|
||||||
.map(UserReference::getUser)
|
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.forEach(user -> publish(numbers, user));
|
.forEach(user -> publish(numbers, user));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,35 +0,0 @@
|
|||||||
package de.ph87.tools.user.reference;
|
|
||||||
|
|
||||||
import de.ph87.tools.user.User;
|
|
||||||
import jakarta.annotation.Nullable;
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.NoArgsConstructor;
|
|
||||||
import lombok.NonNull;
|
|
||||||
import lombok.ToString;
|
|
||||||
|
|
||||||
@Entity
|
|
||||||
@Getter
|
|
||||||
@ToString
|
|
||||||
@NoArgsConstructor
|
|
||||||
@Table(name = "`user_reference`")
|
|
||||||
public class UserReference {
|
|
||||||
|
|
||||||
@Id
|
|
||||||
@GeneratedValue
|
|
||||||
private long id;
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@ManyToOne
|
|
||||||
private User user;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Column(nullable = false)
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
public UserReference(@NonNull final User user) {
|
|
||||||
this.user = user;
|
|
||||||
this.name = user.getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
package de.ph87.tools.user.reference;
|
|
||||||
|
|
||||||
import org.springframework.data.repository.ListCrudRepository;
|
|
||||||
|
|
||||||
public interface UserReferenceRepository extends ListCrudRepository<UserReference, Long> {
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
package de.ph87.tools.user.reference;
|
|
||||||
|
|
||||||
import de.ph87.tools.user.User;
|
|
||||||
import lombok.NonNull;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Service
|
|
||||||
@Transactional
|
|
||||||
@RequiredArgsConstructor
|
|
||||||
public class UserReferenceService {
|
|
||||||
|
|
||||||
private final UserReferenceRepository userReferenceRepository;
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
public UserReference create(@NonNull final User user) {
|
|
||||||
return userReferenceRepository.save(new UserReference(user));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user