Files
RaidBuilderAPI/src/main/java/com/mattrixwv/raidbuilder/service/RaidGroupPermissionService.java
2025-03-10 19:19:53 -04:00

54 lines
1.6 KiB
Java

package com.mattrixwv.raidbuilder.service;
import java.util.List;
import java.util.UUID;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.mattrixwv.raidbuilder.entity.RaidGroupPermission;
import com.mattrixwv.raidbuilder.repository.raid_group_permission.RaidGroupPermissionRepository;
import lombok.RequiredArgsConstructor;
@Service
@Transactional(rollbackFor = Exception.class)
@RequiredArgsConstructor
public class RaidGroupPermissionService{
private final RaidGroupPermissionRepository raidGroupPermissionRepository;
//Write
public void deleteByAccountId(UUID accountId){
raidGroupPermissionRepository.deleteAllByAccountId(accountId);
}
public void deleteByRaidGroupId(UUID raidGroupId){
raidGroupPermissionRepository.deleteAllByRaidGroupId(raidGroupId);
}
public void deleteByAccountIdAndRaidGroupId(UUID accountId, UUID raidGroupId){
raidGroupPermissionRepository.deleteByAccountIdAndRaidGroupId(accountId, raidGroupId);
}
public void deleteByRaidGroupIds(Iterable<UUID> raidGroupIds){
raidGroupPermissionRepository.deleteAllByRaidGroupIdIn(raidGroupIds);
}
//Read
public RaidGroupPermission createRaidGroupPermission(RaidGroupPermission raidGroupPermission){
return raidGroupPermissionRepository.save(raidGroupPermission);
}
public List<RaidGroupPermission> getByAccountId(UUID accountId){
return raidGroupPermissionRepository.findAllByAccountId(accountId);
}
public RaidGroupPermission getByAccountIdAndRaidGroupId(UUID accountId, UUID raidGroupId){
return raidGroupPermissionRepository.findByAccountIdAndRaidGroupId(accountId, raidGroupId);
}
}