A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at feat/pgpull 28 lines 573 B view raw
1use anyhow::Error; 2use sqlx::{Pool, Postgres}; 3 4use crate::xata::api_key::ApiKey; 5 6pub async fn get_apikey( 7 pool: &Pool<Postgres>, 8 apikey: &str, 9 did: &str, 10) -> Result<Option<ApiKey>, Error> { 11 let results: Vec<ApiKey> = sqlx::query_as( 12 r#" 13 SELECT * FROM api_keys 14 LEFT JOIN users ON api_keys.user_id = users.xata_id 15 WHERE api_keys.api_key = $1 AND users.did = $2 16 "#, 17 ) 18 .bind(apikey) 19 .bind(did) 20 .fetch_all(pool) 21 .await?; 22 23 if results.len() == 0 { 24 return Ok(None); 25 } 26 27 Ok(Some(results[0].clone())) 28}