permissionsdao: no silent fallback to user-permissions if we find none for user

This commit is contained in:
2019-05-03 16:00:36 +02:00
förälder 7630301168
incheckning 611ef12ca6
6 ändrade filer med 27 tillägg och 5 borttagningar

Visa fil

@@ -24,8 +24,20 @@ PermissionsDaoSqlite::PermissionsDaoSqlite()
{
}
Permissions PermissionsDaoSqlite::find(std::string pagename, std::string username)
std::optional<Permissions> PermissionsDaoSqlite::find(std::string pagename, std::string username)
{
/* auto query = *db << "SELECT COALESCE( (SELECT permissions FROM permissions WHERE page = ? AND userid = ?),
(SELECT permissions FROM user WHERE ID = ?))"; exec*/
auto query = *db << "SELECT permissions FROM permissions WHERE page = (SELECT id FROM page WHERE name = ?) AND "
"userid = (SELECT id FROM user WHERE username = ?)";
query << pagename << username;
int permissions = 0;
try
{
permissions = execInt(query);
}
catch(const sqlite::errors::no_rows &e)
{
return {};
}
return Permissions{permissions};
}