aboutsummaryrefslogtreecommitdiff
path: root/lockchain-core/src/users/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'lockchain-core/src/users/mod.rs')
-rw-r--r--lockchain-core/src/users/mod.rs137
1 files changed, 0 insertions, 137 deletions
diff --git a/lockchain-core/src/users/mod.rs b/lockchain-core/src/users/mod.rs
index 6482264..3fce31c 100644
--- a/lockchain-core/src/users/mod.rs
+++ b/lockchain-core/src/users/mod.rs
@@ -36,140 +36,3 @@ use {
meta::MetaDomain,
traits::{AutoEncoder, Base64AutoEncoder},
};
-
-/// A utility structure that manages users and can be derived
-/// from/into a metadata object. By default this process uses
-/// base64 encoding.
-///
-/// The workflow for this is to create a new `UserStore`, add
-/// users and then use `meta_push_domain` and give it the
-/// `UserStore::into()` which is then encoded automatically.
-/// The reverse action works the same way
-#[deprecated(since="0.10.0", note="Use the `userstore::UserStore` structure instead")]
-#[allow(deprecated)]
-#[derive(Serialize, Deserialize)]
-pub struct UserStore {
- /// A map between username – user item
- users: HashMap<String, User>,
- registry: HashMap<String, Vec<Access>>,
-}
-
-impl UserStore {
- /// Generate a sign-up token for a new user which needs to be
- /// provided in order for them to create an account.
- pub fn get_token(&mut self, access: Vec<Access>) -> String {
- let token = ::crypto::encoding::base64_encode(&::crypto::random::bytes(128));
- self.registry.insert(
- token.clone(),
- if access.is_empty() {
- vec![Access::Vault(Role::Reader)]
- } else {
- access
- },
- );
-
- token
- }
-
- pub fn get_user(&self, name: &str) -> Option<&User> {
- self.users.get(name)
- }
-
- pub fn get_all(&self) -> &HashMap<String, User> {
- &self.users
- }
-
- pub fn add(&mut self, user: User) -> Option<()> {
- self.users.insert(user.name.clone(), user);
- Some(())
- }
-}
-
-impl Default for UserStore {
- fn default() -> Self {
- Self {
- users: HashMap::new(),
- registry: HashMap::new(),
- }
- }
-}
-
-impl AutoEncoder for UserStore {}
-
-/// Allow users to turn MetaDomains
-/// that *are* userstores into a UserStore easily
-///
-/// Will most likely `panic!` if called on a non UserStore
-impl From<(MetaDomain, MetaDomain)> for UserStore {
- fn from((users, registry): (MetaDomain, MetaDomain)) -> Self {
- Self {
- users: users
- .all()
- .iter()
- .map(|(k, v)| {
- (
- k.clone(),
- match v {
- ::Payload::Text(s) => User::decode(&String::from_base64(s)).unwrap(),
- _ => unreachable!(),
- },
- )
- })
- .collect(),
- registry: registry
- .all()
- .iter()
- .map(|(k, v)| {
- (
- k.clone(),
- match v {
- ::Payload::List(regs) => regs
- .iter()
- .map(|reg| {
- Access::decode(&String::from_base64(match reg {
- ::Payload::Text(s) => s,
- _ => unreachable!(),
- })).unwrap()
- })
- .collect(),
- _ => unreachable!(),
- },
- )
- })
- .collect(),
- }
- }
-}
-
-impl From<UserStore> for (MetaDomain, MetaDomain) {
- fn from(us: UserStore) -> Self {
- (
- MetaDomain::new("userstore").fill(
- us.users
- .iter()
- .map(|(name, user)| {
- (
- name.clone(),
- ::Payload::Text(user.encode().unwrap().to_base64()),
- )
- })
- .collect(),
- ),
- MetaDomain::new("registry").fill(
- us.registry
- .iter()
- .map(|(name, reg)| {
- (
- name.clone(),
- ::Payload::List(
- reg.iter()
- .map(|reg| ::Payload::Text(reg.encode().unwrap().to_base64()))
- .collect(),
- ),
- )
- })
- .collect(),
- ),
- )
- }
-}