diff --git a/src/api/core/events.rs b/src/api/core/events.rs index 1ab4f670..3de34c59 100644 --- a/src/api/core/events.rs +++ b/src/api/core/events.rs @@ -284,11 +284,17 @@ pub async fn log_event( /// Log an organization event that was triggered through the Public API. /// These are performed by an organization API client instead of a user, so there is /// no acting user or device to record and both are stored as null. -pub async fn log_public_event(event_type: i32, source_uuid: &str, org_id: &OrganizationId, ip: &IpAddr, conn: &DbConn) { +pub async fn log_public_event( + event_type: EventType, + source_uuid: &str, + org_id: &OrganizationId, + ip: &IpAddr, + conn: &DbConn, +) { if !CONFIG.org_events_enabled() { return; } - log_event_impl(event_type, source_uuid, org_id, None, None, None, ip, conn).await; + log_event_impl(event_type as i32, source_uuid, org_id, None, None, None, ip, conn).await; } #[expect(clippy::too_many_arguments)] diff --git a/src/api/core/public.rs b/src/api/core/public.rs index ebd40e23..b06fb318 100644 --- a/src/api/core/public.rs +++ b/src/api/core/public.rs @@ -750,7 +750,7 @@ async fn post_member(data: Json, token: PublicToken, ip: auth: err!(format!("Error sending invite: {e:?} ")); } - log_public_event(EventType::OrganizationUserInvited as i32, &new_member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserInvited, &new_member.uuid, &org_id, &ip.ip, &conn).await; set_member_collections(&new_member, &data.collections, &org_id, &conn).await?; set_member_groups(&new_member, &data.groups, &conn).await?; @@ -802,7 +802,7 @@ async fn put_member( member.save(&conn).await?; - log_public_event(EventType::OrganizationUserUpdated as i32, &member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserUpdated, &member.uuid, &org_id, &ip.ip, &conn).await; Ok(Json(member_to_json(&member, &conn).await)) } @@ -822,7 +822,7 @@ async fn delete_member( deny_owner_target(&member)?; - log_public_event(EventType::OrganizationUserRemoved as i32, &member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserRemoved, &member.uuid, &org_id, &ip.ip, &conn).await; if let Some(user) = User::find_by_uuid(&member.user_uuid, &conn).await { // There is no device behind a Public API request, so no push device to exclude. @@ -860,7 +860,7 @@ async fn put_member_group_ids( set_member_groups(&member, &data.group_ids, &conn).await?; - log_public_event(EventType::OrganizationUserUpdatedGroups as i32, &member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserUpdatedGroups, &member.uuid, &org_id, &ip.ip, &conn).await; Ok(()) } @@ -923,7 +923,7 @@ async fn post_member_revoke( member.revoke(); member.save(&conn).await?; - log_public_event(EventType::OrganizationUserRevoked as i32, &member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserRevoked, &member.uuid, &org_id, &ip.ip, &conn).await; Ok(()) } @@ -954,7 +954,7 @@ async fn post_member_restore( OrgPolicy::check_user_allowed(&member, "restore", &conn).await?; member.save(&conn).await?; - log_public_event(EventType::OrganizationUserRestored as i32, &member.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserRestored, &member.uuid, &org_id, &ip.ip, &conn).await; Ok(()) } @@ -978,7 +978,7 @@ async fn post_group( Group::new(org_id.clone(), data.name.clone(), data.access_all.unwrap_or(false), data.external_id.clone()); group.save(&conn).await?; - log_public_event(EventType::GroupCreated as i32, &group.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::GroupCreated, &group.uuid, &org_id, &ip.ip, &conn).await; set_group_collections(&group, &data.collections, &org_id, &conn).await?; @@ -1019,7 +1019,7 @@ async fn put_group( // Member assignments are owned by "/public/groups//member-ids" and are // deliberately left untouched here. - log_public_event(EventType::GroupUpdated as i32, &group.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::GroupUpdated, &group.uuid, &org_id, &ip.ip, &conn).await; set_group_collections(&group, &data.collections, &org_id, &conn).await?; @@ -1037,7 +1037,7 @@ async fn delete_group(group_id: GroupId, token: PublicToken, ip: auth::ClientIp, err_code!(format!("Group {group_id} not found in organization"), 404); }; - log_public_event(EventType::GroupDeleted as i32, &group.uuid, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::GroupDeleted, &group.uuid, &org_id, &ip.ip, &conn).await; group.delete(&org_id, &conn).await } @@ -1067,7 +1067,7 @@ async fn put_group_member_ids( let mut user_entry = GroupUser::new(group_id.clone(), member_id.clone()); user_entry.save(&conn).await?; - log_public_event(EventType::OrganizationUserUpdatedGroups as i32, member_id, &org_id, &ip.ip, &conn).await; + log_public_event(EventType::OrganizationUserUpdatedGroups, member_id, &org_id, &ip.ip, &conn).await; } Ok(())