You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-07-29 22:01:14 +03:00
Insert client redirect_uris in one query
This commit is contained in:
@ -391,21 +391,24 @@ pub async fn insert_client(
|
|||||||
.execute(&mut *conn)
|
.execute(&mut *conn)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
for redirect_uri in redirect_uris {
|
let (ids, redirect_uris): (Vec<Uuid>, Vec<String>) = redirect_uris
|
||||||
let id = Ulid::new();
|
.iter()
|
||||||
sqlx::query!(
|
.map(|uri| (Uuid::from(Ulid::new()), uri.as_str().to_owned()))
|
||||||
r#"
|
.unzip();
|
||||||
INSERT INTO oauth2_client_redirect_uris
|
|
||||||
(oauth2_client_redirect_uri_id, oauth2_client_id, redirect_uri)
|
sqlx::query!(
|
||||||
VALUES ($1, $2, $3)
|
r#"
|
||||||
"#,
|
INSERT INTO oauth2_client_redirect_uris
|
||||||
Uuid::from(id),
|
(oauth2_client_redirect_uri_id, oauth2_client_id, redirect_uri)
|
||||||
Uuid::from(client_id),
|
SELECT id, $2, redirect_uri
|
||||||
redirect_uri.as_str(),
|
FROM UNNEST($1::uuid[], $3::text[]) r(id, redirect_uri)
|
||||||
)
|
"#,
|
||||||
.execute(&mut *conn)
|
&ids,
|
||||||
.await?;
|
Uuid::from(client_id),
|
||||||
}
|
&redirect_uris,
|
||||||
|
)
|
||||||
|
.execute(&mut *conn)
|
||||||
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
@ -448,21 +451,24 @@ pub async fn insert_client_from_config(
|
|||||||
.execute(&mut *conn)
|
.execute(&mut *conn)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
for redirect_uri in redirect_uris {
|
let (ids, redirect_uris): (Vec<Uuid>, Vec<String>) = redirect_uris
|
||||||
let id = Ulid::new();
|
.iter()
|
||||||
sqlx::query!(
|
.map(|uri| (Uuid::from(Ulid::new()), uri.as_str().to_owned()))
|
||||||
r#"
|
.unzip();
|
||||||
INSERT INTO oauth2_client_redirect_uris
|
|
||||||
(oauth2_client_redirect_uri_id, oauth2_client_id, redirect_uri)
|
sqlx::query!(
|
||||||
VALUES ($1, $2, $3)
|
r#"
|
||||||
"#,
|
INSERT INTO oauth2_client_redirect_uris
|
||||||
Uuid::from(id),
|
(oauth2_client_redirect_uri_id, oauth2_client_id, redirect_uri)
|
||||||
Uuid::from(client_id),
|
SELECT id, $2, redirect_uri
|
||||||
redirect_uri.as_str(),
|
FROM UNNEST($1::uuid[], $3::text[]) r(id, redirect_uri)
|
||||||
)
|
"#,
|
||||||
.execute(&mut *conn)
|
&ids,
|
||||||
.await?;
|
Uuid::from(client_id),
|
||||||
}
|
&redirect_uris,
|
||||||
|
)
|
||||||
|
.execute(&mut *conn)
|
||||||
|
.await?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user