permissionsdao: no silent fallback to user-permissions if we find none for user
This commit is contained in:
@@ -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};
|
||||
}
|
||||
|
Referens i nytt ärende
Block a user