add: use RemoteAddr for ip blocks as well
This commit is contained in:
parent
14936b8b90
commit
f5faed7762
12 changed files with 127 additions and 28 deletions
|
@ -1,10 +1,8 @@
|
|||
use oiseau::cache::Cache;
|
||||
use crate::model::addr::RemoteAddr;
|
||||
use crate::model::{Error, Result, auth::User, auth::IpBlock, permissions::FinePermission};
|
||||
use crate::{auto_method, DataManager};
|
||||
|
||||
use oiseau::{query_rows, PostgresRow};
|
||||
|
||||
use oiseau::{execute, get, query_row, params};
|
||||
use oiseau::{query_rows, PostgresRow, execute, get, query_row, params};
|
||||
|
||||
impl DataManager {
|
||||
/// Get an [`IpBlock`] from an SQL row.
|
||||
|
@ -23,7 +21,7 @@ impl DataManager {
|
|||
pub async fn get_ipblock_by_initiator_receiver(
|
||||
&self,
|
||||
initiator: usize,
|
||||
receiver: &str,
|
||||
receiver: &RemoteAddr,
|
||||
) -> Result<IpBlock> {
|
||||
let conn = match self.0.connect().await {
|
||||
Ok(c) => c,
|
||||
|
@ -32,8 +30,8 @@ impl DataManager {
|
|||
|
||||
let res = query_row!(
|
||||
&conn,
|
||||
"SELECT * FROM ipblocks WHERE initiator = $1 AND receiver = $2",
|
||||
params![&(initiator as i64), &receiver],
|
||||
"SELECT * FROM ipblocks WHERE initiator = $1 AND receiver LIKE $2",
|
||||
params![&(initiator as i64), &format!("{}%", receiver.prefix(None))],
|
||||
|x| { Ok(Self::get_ipblock_from_row(x)) }
|
||||
);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue