Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
make linter happy
Browse files Browse the repository at this point in the history
nanu-c committed Nov 17, 2023
1 parent 2d464ac commit 1a1b9c8
Showing 5 changed files with 43 additions and 31 deletions.
20 changes: 12 additions & 8 deletions presage-store-sled/src/lib.rs
Original file line number Diff line number Diff line change
@@ -5,6 +5,7 @@ use std::{
time::{SystemTime, UNIX_EPOCH},
};

use crate::protobuf::ContentProto;
use async_trait::async_trait;
use log::{debug, error, trace, warn};
use presage::libsignal_service::zkgroup::GroupMasterKeyBytes;
@@ -25,14 +26,13 @@ use presage::libsignal_service::{
Profile, ServiceAddress,
};
use presage::store::{ContentExt, ContentsStore, PreKeyStoreExt, StateStore, Store, Thread};
use presage::ThreadMetadata;
use presage::{manager::RegistrationData, proto::verified};
use presage_store_cipher::StoreCipher;
use prost::Message;
use serde::{de::DeserializeOwned, Deserialize, Serialize};
use sha2::{Digest, Sha256};
use sled::{Batch, IVec};
use presage_store_cipher::StoreCipher;
use presage::{ThreadMetadata};
use crate::protobuf::ContentProto;

mod error;
mod protobuf;
@@ -626,20 +626,24 @@ impl ContentsStore for SledStore {
}
/// Thread metadata
fn save_thread_metadata(&mut self, metadata: ThreadMetadata) -> Result<(), Self::ContentsStoreError> {
fn save_thread_metadata(
&mut self,
metadata: ThreadMetadata,
) -> Result<(), Self::ContentsStoreError> {
let key = self.thread_metadata_key(&metadata.thread);
self.insert(SLED_TREE_THREADS_METADATA, key, metadata)?;
Ok(())
}

fn thread_metadata(&self, thread: &Thread) -> Result<Option<ThreadMetadata>, Self::ContentsStoreError> {
fn thread_metadata(
&self,
thread: &Thread,
) -> Result<Option<ThreadMetadata>, Self::ContentsStoreError> {
let key = self.thread_metadata_key(thread);
self.get(SLED_TREE_THREADS_METADATA, key)
}

fn thread_metadatas(
&self,
) -> Result<Self::ThreadMetadataIter, SledStoreError> {
fn thread_metadatas(&self) -> Result<Self::ThreadMetadataIter, SledStoreError> {
let tree = self.read().open_tree(SLED_TREE_THREADS_METADATA)?;
let iter = tree.iter();
Ok(SledThreadMetadataIter {
8 changes: 3 additions & 5 deletions presage/src/lib.rs
Original file line number Diff line number Diff line change
@@ -5,14 +5,13 @@ use serde::{Deserialize, Serialize};
pub mod manager;
pub mod store;

pub use crate::libsignal_service::prelude;
pub use errors::Error;
pub use libsignal_service;
/// Protobufs used in Signal protocol and service communication
pub use libsignal_service::proto;

pub use errors::Error;
pub use manager::Manager;
pub use store::Thread;
pub use crate::libsignal_service::prelude;

const USER_AGENT: &str = concat!(env!("CARGO_PKG_NAME"), "-rs-", env!("CARGO_PKG_VERSION"));

@@ -34,5 +33,4 @@ pub struct ThreadMetadataMessageContent {
pub sender: prelude::Uuid,
pub timestamp: u64,
pub message: Option<String>,

}
}
7 changes: 5 additions & 2 deletions presage/src/manager/linking.rs
Original file line number Diff line number Diff line change
@@ -32,8 +32,11 @@ impl<S: Store> Manager<S, Linking> {
///
/// #[tokio::main]
/// async fn main() -> Result<(), Box<dyn std::error::Error>> {
/// let store =
/// SledStore::open("/tmp/presage-example", MigrationConflictStrategy::Drop, OnNewIdentity::Trust)?;
/// let store = SledStore::open(
/// "/tmp/presage-example",
/// MigrationConflictStrategy::Drop,
/// OnNewIdentity::Trust,
/// )?;
///
/// let (mut tx, mut rx) = oneshot::channel();
/// let (manager, err) = future::join(
7 changes: 5 additions & 2 deletions presage/src/manager/registration.rs
Original file line number Diff line number Diff line change
@@ -43,8 +43,11 @@ impl<S: Store> Manager<S, Registration> {
///
/// #[tokio::main]
/// async fn main() -> Result<(), Box<dyn std::error::Error>> {
/// let store =
/// SledStore::open("/tmp/presage-example", MigrationConflictStrategy::Drop, OnNewIdentity::Trust)?;
/// let store = SledStore::open(
/// "/tmp/presage-example",
/// MigrationConflictStrategy::Drop,
/// OnNewIdentity::Trust,
/// )?;
///
/// let manager = Manager::register(
/// store,
32 changes: 18 additions & 14 deletions presage/src/store.rs
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
use std::{fmt, ops::RangeBounds, time::SystemTime};

use crate::{GroupMasterKeyBytes, ThreadMetadata, manager::RegistrationData};
use crate::{manager::RegistrationData, GroupMasterKeyBytes, ThreadMetadata};
use libsignal_service::{
content::{ContentBody, Metadata},
groups_v2::Group,
@@ -23,14 +23,14 @@ use serde::{Deserialize, Serialize};
pub trait StoreError: std::error::Error + Sync + Send + 'static {}

// pub trait Store: ProtocolStore + SenderKeyStore + SessionStoreExt + Sync + Clone {
// type Error: StoreError;
//
// type ContactsIter: Iterator<Item = Result<Contact, Self::Error>>;
// type GroupsIter: Iterator<Item = Result<(GroupMasterKeyBytes, Group), Self::Error>>;
// type MessagesIter: Iterator<Item = Result<Content, Self::Error>>;
// type ThreadMetadataIter: Iterator<Item = Result<ThreadMetadata, Self::Error>>;
//
/// State
// type Error: StoreError;
//
// type ContactsIter: Iterator<Item = Result<Contact, Self::Error>>;
// type GroupsIter: Iterator<Item = Result<(GroupMasterKeyBytes, Group), Self::Error>>;
// type MessagesIter: Iterator<Item = Result<Content, Self::Error>>;
// type ThreadMetadataIter: Iterator<Item = Result<ThreadMetadata, Self::Error>>;
//
/// State
/// Stores the registered state of the manager
pub trait StateStore {
type StateStoreError: StoreError;
@@ -83,7 +83,7 @@ pub trait ContentsStore {
type GroupsIter: Iterator<Item = Result<(GroupMasterKeyBytes, Group), Self::ContentsStoreError>>;

/// Iterator over all stored thread metadata
///
///
/// Each item is a tuple consisting of the thread and its corresponding metadata.
type ThreadMetadataIter: Iterator<Item = Result<ThreadMetadata, Self::ContentsStoreError>>;

@@ -245,13 +245,17 @@ pub trait ContentsStore {
fn thread_metadatas(&self) -> Result<Self::ThreadMetadataIter, Self::ContentsStoreError>;

/// Retrieve ThereadMetadata for a single thread.
fn thread_metadata(&self, thread: &Thread) -> Result<Option<ThreadMetadata>, Self::ContentsStoreError>;
fn thread_metadata(
&self,
thread: &Thread,
) -> Result<Option<ThreadMetadata>, Self::ContentsStoreError>;

/// Save ThereadMetadata for a single thread.
/// This will overwrite any existing metadata for the thread.
///
fn save_thread_metadata(&mut self, metadata: ThreadMetadata) -> Result<(), Self::ContentsStoreError>;

fn save_thread_metadata(
&mut self,
metadata: ThreadMetadata,
) -> Result<(), Self::ContentsStoreError>;

fn profile(
&self,

0 comments on commit 1a1b9c8

Please sign in to comment.