diff --git a/migrations/2018-04-27-155151_create_users_ciphers/up.sql b/migrations/2018-04-27-155151_create_users_ciphers/up.sql index a07887911c852c3dc3e7e8ac44a50f495bb52c72..12c096efb9753eca3212cce0a31b438656cee6e4 100644 --- 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 index a6b95b32802e88f67d207401ca6a4d835bb0f4f4..29cf2aed21a34123f4f5f29f305b57e698ed62ba 100644 --- 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 index 5bb7871ca6ab28a52ba13bdebc0b0a193d1318f2..805c334fad213571bc7fb240c5b97fdee86c270a 100644 --- 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 index 3f49280d1f011289dfd7b51f3732b30dc43bc31f..3bfa3c7bf475a58547fb189ab794cb8d616b8f80 100644 --- 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 index be3d10bd0a25f432c2ee9a55f095f423bbf4ebff..0287d4597d2816727c00a8129bf50e4d64c4e568 100644 --- 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!({