forked from
oyster.cafe/bspds-sandbox
fork
Configure Feed
Select the types of activity you want to include in your feed.
PDS software with bells & whistles you didn’t even know you needed. will move this to its own account when ready.
fork
Configure Feed
Select the types of activity you want to include in your feed.
1use super::super::OAuthError;
2use sqlx::PgPool;
3
4pub async fn check_and_record_dpop_jti(pool: &PgPool, jti: &str) -> Result<bool, OAuthError> {
5 let result = sqlx::query!(
6 r#"
7 INSERT INTO oauth_dpop_jti (jti)
8 VALUES ($1)
9 ON CONFLICT (jti) DO NOTHING
10 "#,
11 jti
12 )
13 .execute(pool)
14 .await?;
15 Ok(result.rows_affected() > 0)
16}
17
18pub async fn cleanup_expired_dpop_jtis(
19 pool: &PgPool,
20 max_age_secs: i64,
21) -> Result<u64, OAuthError> {
22 let result = sqlx::query!(
23 r#"
24 DELETE FROM oauth_dpop_jti
25 WHERE created_at < NOW() - INTERVAL '1 second' * $1
26 "#,
27 max_age_secs as f64
28 )
29 .execute(pool)
30 .await?;
31 Ok(result.rows_affected())
32}