#include #include "MediaDirectory.hpp" namespace Database { MediaDirectory::MediaDirectory(boost::filesystem::path p, Type type) : _type(type), _path(p.string()) { } MediaDirectorySettings::pointer MediaDirectorySettings::get(Wt::Dbo::Session& session) { MediaDirectorySettings::pointer res; res = session.find().where("id = ?").bind(1); // TODO bind necessary? if (!res) res = session.add( new MediaDirectorySettings()); return res; } MediaDirectory::pointer MediaDirectory::create(Wt::Dbo::Session& session, boost::filesystem::path p, Type type) { return session.add( new MediaDirectory( p, type ) ); } void MediaDirectory::eraseAll(Wt::Dbo::Session& session) { std::vector dirs = getAll(session); BOOST_FOREACH(MediaDirectory::pointer dir, dirs) dir.remove(); } std::vector MediaDirectory::getAll(Wt::Dbo::Session& session) { Wt::Dbo::collection< MediaDirectory::pointer > res = session.find(); return std::vector(res.begin(), res.end()); } std::vector MediaDirectory::getByType(Wt::Dbo::Session& session, Type type) { Wt::Dbo::collection< MediaDirectory::pointer > res = session.find().where("type = ?").bind (type); return std::vector(res.begin(), res.end()); } MediaDirectory::pointer MediaDirectory::get(Wt::Dbo::Session& session, boost::filesystem::path p, Type type) { return session.find().where("path = ?").where("type = ?").bind( p.string()).bind(type); } } // namespace Database