added check to not allow two channel groups with the same name

This commit is contained in:
Sheldan
2020-05-12 00:55:45 +02:00
parent 59c449f4d3
commit 5639ca20b5
3 changed files with 11 additions and 0 deletions

View File

@@ -15,4 +15,6 @@ public interface ChannelGroupRepository extends JpaRepository<AChannelGroup, Lon
@QueryHints(@QueryHint(name = org.hibernate.annotations.QueryHints.CACHEABLE, value = "true"))
List<AChannelGroup> findByServer(AServer server);
boolean existsByGroupNameAndServer(String name, AServer server);
}

View File

@@ -24,6 +24,9 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
@Override
public AChannelGroup createChannelGroup(String name, AServer server) {
name = name.toLowerCase();
if(doesChannelGroupExist(name, server)) {
throw new ChannelException("Channel group already exists.");
}
AChannelGroup channelGroup = AChannelGroup
.builder()
.groupName(name)
@@ -33,6 +36,11 @@ public class ChannelGroupManagementServiceBean implements ChannelGroupManagement
return channelGroup;
}
@Override
public boolean doesChannelGroupExist(String name, AServer server) {
return channelGroupRepository.existsByGroupNameAndServer(name, server);
}
@Override
public void deleteChannelGroup(String name, AServer server) {
name = name.toLowerCase();

View File

@@ -8,6 +8,7 @@ import java.util.List;
public interface ChannelGroupManagementService {
AChannelGroup createChannelGroup(String name, AServer server);
boolean doesChannelGroupExist(String name, AServer server);
void deleteChannelGroup(String name, AServer server);
AChannelGroup addChannelToChannelGroup(AChannelGroup channelGroup, AChannel channel);
void removeChannelFromChannelGroup(AChannelGroup channelGroup, AChannel channel);