feat: custom pricing

closes #3
This commit is contained in:
2025-03-06 21:42:27 +00:00
parent 36ba1f836a
commit 8c3756e3e8
15 changed files with 1242 additions and 359 deletions

View File

@ -1,7 +1,62 @@
mod capacity;
mod lnvps;
mod network;
mod pricing;
pub use capacity::*;
pub use lnvps::*;
use lnvps_db::{DiskInterface, DiskType, VmCustomTemplate, VmTemplate};
pub use network::*;
pub use pricing::*;
pub trait Template {
fn cpu(&self) -> u16;
fn memory(&self) -> u64;
fn disk_size(&self) -> u64;
fn disk_type(&self) -> DiskType;
fn disk_interface(&self) -> DiskInterface;
}
impl Template for VmTemplate {
fn cpu(&self) -> u16 {
self.cpu
}
fn memory(&self) -> u64 {
self.memory
}
fn disk_size(&self) -> u64 {
self.disk_size
}
fn disk_type(&self) -> DiskType {
self.disk_type
}
fn disk_interface(&self) -> DiskInterface {
self.disk_interface
}
}
impl Template for VmCustomTemplate {
fn cpu(&self) -> u16 {
self.cpu
}
fn memory(&self) -> u64 {
self.memory
}
fn disk_size(&self) -> u64 {
self.disk_size
}
fn disk_type(&self) -> DiskType {
self.disk_type
}
fn disk_interface(&self) -> DiskInterface {
self.disk_interface
}
}