use std::borrow::Cow;
use ssh_jumper::model::HostAddress;
use crate::DbSchemaCred;
#[derive(Clone, Debug, PartialEq)]
pub struct QueryTarget<'query> {
pub name: Cow<'query, str>,
pub db_address: HostAddress<'query>,
pub db_schema_cred: DbSchemaCred<'query>,
}
impl<'query> QueryTarget<'query> {
pub fn into_static(self) -> QueryTarget<'static> {
let QueryTarget::<'query> {
name,
db_address,
db_schema_cred,
} = self;
let name = Cow::Owned(name.into_owned());
let db_address = db_address.into_static();
let db_schema_cred = db_schema_cred.into_static();
QueryTarget {
name,
db_address,
db_schema_cred,
}
}
}