package @app.group.id@.@app.name@.services;

import @app.group.id@.@app.name@.domain.Building;
import @app.group.id@.@app.name@.repositories.BuildingRepository;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component;

@Component()
public class BuildingServiceImpl implements BuildingService {
    private BuildingRepository buildingRepository;

    public BuildingServiceImpl(BuildingRepository buildingRepository) {
        this.buildingRepository = buildingRepository;
    }

    @Override
    public Page<Building> findAll(Pageable pageable) {
        return buildingRepository.findAll(pageable);
    }

    @Override
    public Page<Building> find(BuildingSearchCriteria criteria, Pageable pageable) {
        return buildingRepository.findByNameContainingAllIgnoringCase(criteria.getName(), pageable);
    }
}