Skip to content

Commit 023f505

Browse files
committed
oh noetry bad codetry
1 parent 601038d commit 023f505

File tree

1 file changed

+83
-32
lines changed

1 file changed

+83
-32
lines changed

packages/cipherstash-proxy-integration/src/generate.rs

Lines changed: 83 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ mod tests {
55
use cipherstash_client::credentials::auto_refresh::AutoRefresh;
66
use cipherstash_client::ejsonpath::Selector;
77
use cipherstash_client::encryption::{
8-
Encrypted, EncryptedEntry, EncryptedSteVecTerm, JsonIndexer, Plaintext, PlaintextTarget,
9-
QueryBuilder, ReferencedPendingPipeline,
8+
Encrypted, EncryptedEntry, EncryptedSteVecTerm, JsonIndexer, JsonIndexerOptions, OreTerm,
9+
Plaintext, PlaintextTarget, QueryBuilder, ReferencedPendingPipeline,
1010
};
1111
use cipherstash_client::{
1212
encryption::{ScopedCipher, SteVec},
@@ -69,20 +69,35 @@ mod tests {
6969
#[serde(rename = "s")]
7070
selector: Option<String>,
7171

72-
#[serde(rename = "mac")]
73-
mac_index: Option<String>,
72+
#[serde(rename = "b")]
73+
blake3_index: Option<String>,
7474

7575
#[serde(rename = "ocf")]
7676
ore_cclw_fixed_index: Option<String>,
7777
#[serde(rename = "ocv")]
7878
ore_cclw_var_index: Option<String>,
7979

8080
#[serde(rename = "sv")]
81-
ste_vec_index: Option<Vec<EqlEncrypted>>,
81+
ste_vec_index: Option<Vec<EqlSteVecEncrypted>>,
82+
}
83+
84+
#[derive(Debug, Deserialize, Serialize)]
85+
pub struct EqlSteVecEncrypted {
86+
#[serde(rename = "c", with = "option_mp_base85")]
87+
ciphertext: Option<EncryptedRecord>,
88+
89+
#[serde(rename = "s")]
90+
selector: Option<String>,
91+
#[serde(rename = "b")]
92+
blake3_index: Option<String>,
93+
#[serde(rename = "ocf")]
94+
ore_cclw_fixed_index: Option<String>,
95+
#[serde(rename = "ocv")]
96+
ore_cclw_var_index: Option<String>,
8297
}
8398

8499
impl EqlEncrypted {
85-
pub fn ste_vec(ste_vec_index: Vec<EqlEncrypted>) -> Self {
100+
pub fn ste_vec(ste_vec_index: Vec<EqlSteVecEncrypted>) -> Self {
86101
Self {
87102
ste_vec_index: Some(ste_vec_index),
88103
ciphertext: None,
@@ -97,26 +112,18 @@ mod tests {
97112
selector: None,
98113
ore_cclw_fixed_index: None,
99114
ore_cclw_var_index: None,
100-
mac_index: None,
115+
blake3_index: None,
101116
}
102117
}
103-
118+
}
119+
impl EqlSteVecEncrypted {
104120
pub fn ste_vec_element(selector: String, record: EncryptedRecord) -> Self {
105121
Self {
106122
ciphertext: Some(record),
107-
identifier: Identifier {
108-
table: "blah".to_string(),
109-
column: "vtha".to_string(),
110-
},
111-
version: 1,
112-
ore_index: None,
113-
match_index: None,
114-
unique_index: None,
115123
selector: Some(selector),
116124
ore_cclw_fixed_index: None,
117125
ore_cclw_var_index: None,
118-
mac_index: None,
119-
ste_vec_index: None,
126+
blake3_index: None,
120127
}
121128
}
122129
}
@@ -151,10 +158,28 @@ mod tests {
151158

152159
let column_config = ColumnConfig::build("column_name".to_string())
153160
.casts_as(ColumnType::JsonB)
154-
.add_index(Index::new(IndexType::SteVec { prefix }));
161+
.add_index(Index::new(IndexType::SteVec {
162+
prefix: prefix.to_owned(),
163+
}));
164+
165+
// let mut value =
166+
// serde_json::from_str::<serde_json::Value>("{\"hello\": \"one\", \"n\": 10}").unwrap();
167+
168+
// let mut value =
169+
// serde_json::from_str::<serde_json::Value>("{\"hello\": \"two\", \"n\": 20}").unwrap();
155170

156171
let mut value =
157-
serde_json::from_str::<serde_json::Value>("{\"hello\": \"world\", \"n\": 42}").unwrap();
172+
serde_json::from_str::<serde_json::Value>("{\"hello\": \"two\", \"n\": 30}").unwrap();
173+
174+
// let mut value =
175+
// serde_json::from_str::<serde_json::Value>("{\"hello\": \"world\", \"n\": 42}").unwrap();
176+
177+
// let mut value =
178+
// serde_json::from_str::<serde_json::Value>("{\"hello\": \"world\", \"n\": 42}").unwrap();
179+
180+
// let mut value =
181+
// serde_json::from_str::<serde_json::Value>("{\"blah\": { \"vtha\": 42 }}").unwrap();
182+
158183
let plaintext = Plaintext::JsonB(Some(value));
159184

160185
let idx = 0;
@@ -174,11 +199,11 @@ mod tests {
174199
let term = entry.1;
175200
let record = entry.2;
176201

177-
let mut e = EqlEncrypted::ste_vec_element(selector, record);
202+
let mut e = EqlSteVecEncrypted::ste_vec_element(selector, record);
178203

179204
match term {
180205
EncryptedSteVecTerm::Mac(items) => {
181-
e.mac_index = Some(hex::encode(&items));
206+
e.blake3_index = Some(hex::encode(&items));
182207
}
183208
EncryptedSteVecTerm::OreFixed(o) => {
184209
e.ore_cclw_fixed_index = Some(hex::encode(o.bytes));
@@ -190,25 +215,51 @@ mod tests {
190215

191216
encrypteds.push(e);
192217
}
193-
194-
// info!("{:?}" = ?sv);
218+
// info!("{:?}" = encrypteds);
195219
}
196220

197-
let e = EqlEncrypted::ste_vec(encrypteds);
221+
info!("---------------------------------------------");
198222

223+
let e = EqlEncrypted::ste_vec(encrypteds);
199224
info!("{:?}" = ?e);
200225

201226
let json = serde_json::to_value(e).unwrap();
202-
203227
info!("{}", json);
204228

205-
let indexer = JsonIndexer::new(prefix);
229+
let indexer = JsonIndexer::new(JsonIndexerOptions { prefix });
230+
231+
info!("---------------------------------------------");
232+
233+
// Path
234+
// let path: String = "$.blah.vtha".to_string();
235+
// let selector = Selector::parse(&path).unwrap();
236+
// let selector = indexer.generate_selector(selector, cipher.index_key());
237+
// let selector = hex::encode(selector.0);
238+
// info!("{}", selector);
206239

207-
let path: String = "$.hello".to_string();
208-
let selector = Selector::parse(&path)?;
209-
let selector = indexer.generate_selector(selector, cipher.index_key());
210-
let selector = hex::encode(selector);
240+
// Comparison
241+
let n = 30;
242+
let term = OreTerm::Number(n);
243+
244+
let term = indexer.generate_term(term, cipher.index_key()).unwrap();
245+
246+
match term {
247+
EncryptedSteVecTerm::Mac(items) => todo!(),
248+
EncryptedSteVecTerm::OreFixed(ore_cllw8_v1) => {
249+
let term = hex::encode(ore_cllw8_v1.bytes);
250+
info!("{n}: {term}");
251+
}
252+
EncryptedSteVecTerm::OreVariable(ore_cllw8_variable_v1) => todo!(),
253+
}
211254

212-
info!("{}", selector);
255+
// if let Some(ste_vec_index) = e.ste_vec_index {
256+
// for e in ste_vec_index {
257+
// info!("{}", e);
258+
// if let Some(ct) = e.ciphertext {
259+
// let decrypted = cipher.decrypt(encrypted).await?;
260+
// info!("{}", decrypted);
261+
// }
262+
// }
263+
// }
213264
}
214265
}

0 commit comments

Comments
 (0)