feat: return ip info
This commit is contained in:
@ -25,9 +25,11 @@ impl Hydrate for Vm {
|
||||
}
|
||||
|
||||
async fn hydrate_down(&mut self, db: &Box<dyn LNVpsDb>) -> Result<()> {
|
||||
let payments = db.list_vm_payment(self.id).await?;
|
||||
//let payments = db.list_vm_payment(self.id).await?;
|
||||
let ips = db.list_vm_ip_assignments(self.id).await?;
|
||||
|
||||
self.payments = Some(payments);
|
||||
//self.payments = Some(payments);
|
||||
self.ip_assignments = Some(ips);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
@ -88,10 +88,10 @@ pub trait LNVpsDb: Sync + Send {
|
||||
async fn insert_vm_ip_assignment(&self, ip_assignment: &VmIpAssignment) -> Result<u64>;
|
||||
|
||||
/// List VM ip assignments
|
||||
async fn get_vm_ip_assignments(&self, vm_id: u64) -> Result<Vec<VmIpAssignment>>;
|
||||
async fn list_vm_ip_assignments(&self, vm_id: u64) -> Result<Vec<VmIpAssignment>>;
|
||||
|
||||
/// List VM ip assignments by IP range
|
||||
async fn get_vm_ip_assignments_in_range(&self, range_id: u64) -> Result<Vec<VmIpAssignment>>;
|
||||
async fn list_vm_ip_assignments_in_range(&self, range_id: u64) -> Result<Vec<VmIpAssignment>>;
|
||||
|
||||
/// List payments by VM id
|
||||
async fn list_vm_payment(&self, vm_id: u64) -> Result<Vec<VmPayment>>;
|
||||
|
@ -217,9 +217,13 @@ pub struct Vm {
|
||||
#[sqlx(skip)]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub ssh_key: Option<UserSshKey>,
|
||||
|
||||
#[sqlx(skip)]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub payments: Option<Vec<VmPayment>>,
|
||||
#[sqlx(skip)]
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub ip_assignments: Option<Vec<VmIpAssignment>>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, FromRow, Clone, Debug)]
|
||||
|
@ -232,7 +232,7 @@ impl LNVpsDb for LNVpsDbMysql {
|
||||
.try_get(0)?)
|
||||
}
|
||||
|
||||
async fn get_vm_ip_assignments(&self, vm_id: u64) -> Result<Vec<VmIpAssignment>> {
|
||||
async fn list_vm_ip_assignments(&self, vm_id: u64) -> Result<Vec<VmIpAssignment>> {
|
||||
sqlx::query_as("select * from vm_ip_assignment where vm_id = ?")
|
||||
.bind(vm_id)
|
||||
.fetch_all(&self.db)
|
||||
@ -240,7 +240,7 @@ impl LNVpsDb for LNVpsDbMysql {
|
||||
.map_err(Error::new)
|
||||
}
|
||||
|
||||
async fn get_vm_ip_assignments_in_range(&self, range_id: u64) -> Result<Vec<VmIpAssignment>> {
|
||||
async fn list_vm_ip_assignments_in_range(&self, range_id: u64) -> Result<Vec<VmIpAssignment>> {
|
||||
sqlx::query_as("select * from vm_ip_assignment where ip_range_id = ?")
|
||||
.bind(range_id)
|
||||
.fetch_all(&self.db)
|
||||
|
Reference in New Issue
Block a user