diff --git a/lnvps_db/src/mysql.rs b/lnvps_db/src/mysql.rs index dcb9b90..5c2a479 100644 --- a/lnvps_db/src/mysql.rs +++ b/lnvps_db/src/mysql.rs @@ -63,7 +63,7 @@ impl LNVpsDb for LNVpsDbMysql { .bind(user.contact_nip17) .bind(user.contact_email) .bind(user.id) - .fetch_one(&self.db) + .execute(&self.db) .await?; Ok(()) } diff --git a/src/api.rs b/src/api.rs index 887f03b..46a8e88 100644 --- a/src/api.rs +++ b/src/api.rs @@ -18,6 +18,7 @@ use ws::Message; pub fn routes() -> Vec { routes![ + v1_get_account, v1_patch_account, v1_list_vms, v1_get_vm, @@ -103,6 +104,22 @@ async fn v1_patch_account( ApiData::ok(()) } +#[get("/api/v1/account")] +async fn v1_get_account( + auth: Nip98Auth, + db: &State>, +) -> ApiResult { + let pubkey = auth.event.pubkey.to_bytes(); + let uid = db.upsert_user(&pubkey).await?; + let mut user = db.get_user(uid).await?; + + ApiData::ok(AccountPatchRequest { + email: user.email, + contact_nip17: user.contact_nip17, + contact_email: user.contact_email, + }) +} + #[get("/api/v1/vm")] async fn v1_list_vms( auth: Nip98Auth,