#ifndef COVERARTREPOSITORY_H_ #define COVERARTREPOSITORY_H_ #include #include #include #include "database/BaseRepository.h" #include "model/Models.h" #include "type/CoverFilter.h" namespace database { class CoverArtRepository : public BaseRepository { public: CoverArtRepository(const model::BinaryPath&); std::vector retrieveRecords(); model::Cover retrieveRecord(model::Cover&, type::CoverFilter); bool doesCoverArtExist(const model::Cover&, type::CoverFilter); void deleteRecord(const model::Cover&, type::CoverFilter = type::CoverFilter::id); void saveRecord(const model::Cover&); void updateRecord(const model::Cover&); private: std::vector parseRecords(MYSQL_STMT*); std::shared_ptr valueBind(model::Cover&, std::tuple&); std::tuple metadataBuffer(); model::Cover parseRecord(MYSQL_STMT*); }; } #endif