commit a0796acbc73e8e7b9bcd94bab334cc82aa922835
parent c3be1b4298206c084e397b4c0a3e2e840baf6d8e
Author: Miroslav Prasil <miroslav@prasil.info>
Date: Thu, 3 May 2018 17:47:27 +0100
Implement suggested improvements
Diffstat:
5 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/migrations/2018-04-27-155151_create_users_ciphers/up.sql b/migrations/2018-04-27-155151_create_users_ciphers/up.sql
@@ -22,8 +22,8 @@ CREATE TABLE folders_ciphers (
PRIMARY KEY (cipher_uuid, folder_uuid)
);
-INSERT INTO ciphers (uuid, created_at, updated_at, organization_uuid, type, name, notes, fields, data, favorite)
-SELECT uuid, created_at, updated_at, organization_uuid, type, name, notes, fields, data, favorite FROM oldCiphers;
+INSERT INTO ciphers (uuid, created_at, updated_at, user_uuid, organization_uuid, type, name, notes, fields, data, favorite)
+SELECT uuid, created_at, updated_at, user_uuid, organization_uuid, type, name, notes, fields, data, favorite FROM oldCiphers;
INSERT INTO folders_ciphers (cipher_uuid, folder_uuid)
SELECT uuid, folder_uuid FROM oldCiphers WHERE folder_uuid IS NOT NULL;
diff --git a/src/api/core/ciphers.rs b/src/api/core/ciphers.rs
@@ -253,8 +253,7 @@ fn post_ciphers_import(data: Json<ImportData>, headers: Headers, conn: DbConn) -
if update_cipher_from_data(&mut cipher, cipher_data, &headers, &conn).is_err() { err!("Error creating cipher") }
- //cipher.folder_uuid = folder_uuid; // TODO: This needs to create new folder-cipher mapping
-
+ cipher.move_to_folder(folder_uuid, &headers.user.uuid.clone(), &conn).ok();
cipher.save(&conn);
index += 1;
}
diff --git a/src/api/identity.rs b/src/api/identity.rs
@@ -97,7 +97,7 @@ fn login(connect_data: Form<ConnectData>, device_type: DeviceType, conn: DbConn)
};
let user = User::find_by_uuid(&device.user_uuid, &conn).unwrap();
- let orgs = UserOrganization::find_by_user(&user.uuid, &conn).unwrap_or(vec![]);
+ let orgs = UserOrganization::find_by_user(&user.uuid, &conn);
let (access_token, expires_in) = device.refresh_tokens(&user, orgs);
device.save(&conn);
diff --git a/src/db/models/organization.rs b/src/db/models/organization.rs
@@ -222,10 +222,10 @@ impl UserOrganization {
.first::<Self>(&**conn).ok()
}
- pub fn find_by_user(user_uuid: &str, conn: &DbConn) -> Option<Vec<Self>> {
+ pub fn find_by_user(user_uuid: &str, conn: &DbConn) -> Vec<Self> {
users_organizations::table
.filter(users_organizations::user_uuid.eq(user_uuid))
- .load::<Self>(&**conn).ok()
+ .load::<Self>(&**conn).unwrap_or(vec![])
}
pub fn find_by_org(org_uuid: &str, conn: &DbConn) -> Vec<Self> {
diff --git a/src/db/models/user.rs b/src/db/models/user.rs
@@ -128,7 +128,7 @@ impl User {
pub fn to_json(&self, conn: &DbConn) -> JsonValue {
use super::UserOrganization;
- let orgs = UserOrganization::find_by_user(&self.uuid, conn).unwrap_or(vec![]);
+ let orgs = UserOrganization::find_by_user(&self.uuid, conn);
let orgs_json: Vec<JsonValue> = orgs.iter().map(|c| c.to_json(&conn)).collect();
json!({