package com.sequenceiq.cloudbreak.repository;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.security.access.prepost.PostAuthorize;
import com.sequenceiq.cloudbreak.domain.FlexSubscription;
@EntityType(entityClass = FlexSubscription.class)
public interface FlexSubscriptionRepository extends CrudRepository<FlexSubscription, Long> {
@PostAuthorize("hasPermission(returnObject,'read')")
FlexSubscription findOneById(@Param("id") Long id);
@PostAuthorize("hasPermission(returnObject,'read')")
FlexSubscription findOneByName(@Param("name") String name);
FlexSubscription findOneByNameInAccount(@Param("name") String name, @Param("owner") String owner, @Param("account") String account);
List<FlexSubscription> findByOwner(@Param("owner") String owner);
List<FlexSubscription> findPublicInAccountForUser(@Param("owner") String owner, @Param("account") String account);
List<FlexSubscription> findAllInAccount(@Param("account") String account);
}