update some implementations

This commit is contained in:
Horhik 2021-04-21 23:55:16 +03:00
parent d65a0bb4cf
commit 734c733e50
2 changed files with 26 additions and 4 deletions

View file

@ -1,6 +1,7 @@
use std::ops;
use super::types::*; use super::types::*;
use crate::types::traits::*; use crate::types::traits::*;
use crate::types::{ReturnType, SSKKeypair, SSK, USK}; use crate::types::{ReturnType, SSKKeypair, SSK, USK, KEY};
use regex::Regex; use regex::Regex;
impl ClientHello { impl ClientHello {
@ -91,7 +92,7 @@ pub struct GetNode {
} }
pub struct GenerateSSK { pub struct GenerateSSK {
identifier: Option<String>, pub identifier: Option<String>,
} }
impl FcpRequest for GenerateSSK { impl FcpRequest for GenerateSSK {
@ -187,6 +188,16 @@ fn is_ssk_parsing() {
} }
); );
} }
impl FcpRequest for KEY {
fn convert(&self) -> String{
match self {
KEY::SSK(key) => key.convert(),
KEY::USK(key) => key.convert()
}
}
}
// TODO Create just Key type which contains from sign_key, decrtypt_key, settings and path. // TODO Create just Key type which contains from sign_key, decrtypt_key, settings and path.
// And use it for all keys, like SSK, USK e.t.c. // And use it for all keys, like SSK, USK e.t.c.
/// converting SSK key to string /// converting SSK key to string
@ -201,6 +212,8 @@ impl FcpRequest for SSK {
} }
} }
#[test] #[test]
fn is_ssk_converting() { fn is_ssk_converting() {
assert_eq!(SSK { assert_eq!(SSK {
@ -496,8 +509,9 @@ BinaryBlob=false
FilterData=true FilterData=true
EndMessage EndMessage
*/ */
impl ClientGet { impl ClientGet {
pub fn new_default(uri: SSK, identifier: &str, return_type: ReturnType) -> ClientGet { pub fn new_default(uri: KEY, identifier: &str, return_type: ReturnType) -> ClientGet {
ClientGet { ClientGet {
ignore_ds: None, ignore_ds: None,
ds_only: None, ds_only: None,

View file

@ -11,12 +11,20 @@ use std::fmt;
use serde::de::{self, Deserialize, Deserializer, MapAccess, SeqAccess, Visitor, Error}; use serde::de::{self, Deserialize, Deserializer, MapAccess, SeqAccess, Visitor, Error};
use serde::ser::{SerializeStruct, Serializer}; use serde::ser::{SerializeStruct, Serializer};
use serde::Serialize; use serde::Serialize;
#[derive(Debug, PartialEq)] #[derive(Debug, PartialEq, Clone)]
pub struct SSK { pub struct SSK {
pub sign_key: String, pub sign_key: String,
pub decrypt_key: String, pub decrypt_key: String,
pub settings: Option<String>, pub settings: Option<String>,
} }
pub enum KEY {
SSK(SSK),
USK(USK),
}
/// converting SSK to rusqlite type /// converting SSK to rusqlite type
impl ToSql for SSK { impl ToSql for SSK {
fn to_sql(&self) -> Result<ToSqlOutput<'_>> { fn to_sql(&self) -> Result<ToSqlOutput<'_>> {