server: Improve equality handling in filters

Now the columns are checked and mapped to user columns, to avoid any
ambiguity.

Fixes #341.
This commit is contained in:
Valentin Tolmer
2022-10-19 08:34:00 +02:00
committed by nitnelave
parent 8d19678e39
commit 4c69f917e7
8 changed files with 86 additions and 51 deletions

View File

@@ -1,4 +1,4 @@
use super::error::*;
use super::{error::*, sql_tables::UserColumn};
use async_trait::async_trait;
use serde::{Deserialize, Serialize};
use std::collections::HashSet;
@@ -201,7 +201,7 @@ pub enum UserRequestFilter {
Or(Vec<UserRequestFilter>),
Not(Box<UserRequestFilter>),
UserId(UserId),
Equality(String, String),
Equality(UserColumn, String),
// Check if a user belongs to a group identified by name.
MemberOf(String),
// Same, by id.