Adding artist/release/track max name length checks. NOT TESTED

This commit is contained in:
emeric
2014-08-20 14:32:22 +02:00
parent 62d2f6af2a
commit 2f376fbc7a
5 changed files with 20 additions and 14 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ namespace Database
{
Artist::Artist(const std::string& name)
: _name(name)
: _name(std::string(name, 0 , _maxNameLength))
{
}
@@ -12,7 +12,7 @@ Artist::Artist(const std::string& name)
Artist::pointer
Artist::getByName(Wt::Dbo::Session& session, const std::string& name)
{
return session.find<Artist>().where("name = ?").bind( name );
return session.find<Artist>().where("name = ?").bind( std::string(name, 0, _maxNameLength) );
}
// Create
+9 -1
View File
@@ -51,6 +51,9 @@ class Artist
private:
static const std::size_t _maxNameLength = 128;
std::string _name;
Wt::Dbo::collection< Wt::Dbo::ptr<Track> > _tracks; // Tracks of this artist
@@ -93,6 +96,7 @@ class Release
}
private:
static const std::size_t _maxNameLength = 128;
std::string _name;
Wt::Dbo::collection< Wt::Dbo::ptr<Track> > _tracks; // Tracks in the release
@@ -130,6 +134,7 @@ class Genre
}
private:
static const std::size_t _maxNameLength = 128;
std::string _name;
Wt::Dbo::collection< Wt::Dbo::ptr<Track> > _tracks;
@@ -161,7 +166,7 @@ class Track
// Accessors
void setTrackNumber(int num) { _trackNumber = num; }
void setDiscNumber(int num) { _discNumber = num; }
void setName(const std::string& name) { _name = name; }
void setName(const std::string& name) { _name = std::string(name, 0, _maxNameLength); }
void setDuration(boost::posix_time::time_duration duration) { _duration = duration; }
void setLastWriteTime(boost::posix_time::ptime time) { _fileLastWrite = time; }
void setChecksum(const std::vector<unsigned char>& checksum) { _fileChecksum = checksum; }
@@ -203,6 +208,9 @@ class Track
}
private:
static const std::size_t _maxNameLength = 128;
int _trackNumber;
int _discNumber;
std::string _name;
+2 -2
View File
@@ -7,7 +7,7 @@ Genre::Genre()
}
Genre::Genre(const std::string& name)
: _name( name )
: _name( std::string(name, 0, _maxNameLength) )
{
}
@@ -16,7 +16,7 @@ Genre::pointer
Genre::getByName(Wt::Dbo::Session& session, const std::string& name)
{
// TODO use like search
return session.find<Genre>().where("name = ?").bind( name );
return session.find<Genre>().where("name = ?").bind( std::string(name, 0, _maxNameLength) );
}
Genre::pointer
+2 -2
View File
@@ -7,14 +7,14 @@
namespace Database {
Release::Release(const std::string& name)
: _name(name)
: _name(std::string(name, 0, _maxNameLength))
{
}
Release::pointer
Release::getByName(Wt::Dbo::Session& session, const std::string& name)
{
return session.find<Release>().where("name = ?").bind( name );
return session.find<Release>().where("name = ?").bind( std::string(name, 0, _maxNameLength) );
}
Release::pointer