Stefan Melmuk
8 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
5 additions and
3 deletions
-
src/api/core/public.rs
-
src/db/models/group.rs
|
|
@ -137,7 +137,8 @@ async fn ldap_import(data: JsonUpcase<OrgImportData>, token: PublicToken, mut co |
|
|
|
|
|
|
|
if CONFIG.org_groups_enabled() { |
|
|
|
for group_data in &data.Groups { |
|
|
|
let group_uuid = match Group::find_by_external_id(&group_data.ExternalId, &mut conn).await { |
|
|
|
let group_uuid = match Group::find_by_external_id_and_org(&group_data.ExternalId, &org_id, &mut conn).await |
|
|
|
{ |
|
|
|
Some(group) => group.uuid, |
|
|
|
None => { |
|
|
|
let mut group = |
|
|
|
|
|
@ -203,10 +203,11 @@ impl Group { |
|
|
|
}} |
|
|
|
} |
|
|
|
|
|
|
|
pub async fn find_by_external_id(id: &str, conn: &mut DbConn) -> Option<Self> { |
|
|
|
pub async fn find_by_external_id_and_org(external_id: &str, org_uuid: &str, conn: &mut DbConn) -> Option<Self> { |
|
|
|
db_run! { conn: { |
|
|
|
groups::table |
|
|
|
.filter(groups::external_id.eq(id)) |
|
|
|
.filter(groups::external_id.eq(external_id)) |
|
|
|
.filter(groups::organizations_uuid.eq(org_uuid)) |
|
|
|
.first::<GroupDb>(conn) |
|
|
|
.ok() |
|
|
|
.from_db() |
|
|
|