feat: readonly mode
This commit is contained in:
23
src/api.rs
23
src/api.rs
@ -69,7 +69,11 @@ struct ApiVmStatus {
|
||||
}
|
||||
|
||||
#[get("/api/v1/vm")]
|
||||
async fn v1_list_vms(auth: Nip98Auth, db: &State<Box<dyn LNVpsDb>>, vm_state: &State<VmStateCache>) -> ApiResult<Vec<ApiVmStatus>> {
|
||||
async fn v1_list_vms(
|
||||
auth: Nip98Auth,
|
||||
db: &State<Box<dyn LNVpsDb>>,
|
||||
vm_state: &State<VmStateCache>,
|
||||
) -> ApiResult<Vec<ApiVmStatus>> {
|
||||
let pubkey = auth.event.pubkey.to_bytes();
|
||||
let uid = db.upsert_user(&pubkey).await?;
|
||||
let mut vms = db.list_user_vms(uid).await?;
|
||||
@ -81,17 +85,19 @@ async fn v1_list_vms(auth: Nip98Auth, db: &State<Box<dyn LNVpsDb>>, vm_state: &S
|
||||
}
|
||||
|
||||
let state = vm_state.get_state(vm.id).await;
|
||||
ret.push(ApiVmStatus {
|
||||
vm,
|
||||
status: state,
|
||||
});
|
||||
ret.push(ApiVmStatus { vm, status: state });
|
||||
}
|
||||
|
||||
ApiData::ok(ret)
|
||||
}
|
||||
|
||||
#[get("/api/v1/vm/<id>")]
|
||||
async fn v1_get_vm(auth: Nip98Auth, db: &State<Box<dyn LNVpsDb>>, vm_state: &State<VmStateCache>, id: u64) -> ApiResult<ApiVmStatus> {
|
||||
async fn v1_get_vm(
|
||||
auth: Nip98Auth,
|
||||
db: &State<Box<dyn LNVpsDb>>,
|
||||
vm_state: &State<VmStateCache>,
|
||||
id: u64,
|
||||
) -> ApiResult<ApiVmStatus> {
|
||||
let pubkey = auth.event.pubkey.to_bytes();
|
||||
let uid = db.upsert_user(&pubkey).await?;
|
||||
let mut vm = db.get_vm(id).await?;
|
||||
@ -103,10 +109,7 @@ async fn v1_get_vm(auth: Nip98Auth, db: &State<Box<dyn LNVpsDb>>, vm_state: &Sta
|
||||
t.hydrate_up(db).await?;
|
||||
}
|
||||
let state = vm_state.get_state(vm.id).await;
|
||||
ApiData::ok(ApiVmStatus {
|
||||
vm,
|
||||
status: state,
|
||||
})
|
||||
ApiData::ok(ApiVmStatus { vm, status: state })
|
||||
}
|
||||
|
||||
#[get("/api/v1/image")]
|
||||
|
Reference in New Issue
Block a user