mirror of https://github.com/buster-so/buster.git
Enhance dataset asset listing with organization-specific filtering
- Updated the `list_assets` function to include organization ID filtering in dataset permissions queries. - Removed redundant organization ID filters from the dataset permissions queries to streamline the logic. - Ensured that only relevant dataset assets are returned based on the user's organization, improving data security and relevance. These changes enhance the API's ability to serve organization-specific data, aligning with recent improvements in dataset asset APIs.
This commit is contained in:
parent
307e4bbaf6
commit
c8b9a736ee
|
@ -67,7 +67,8 @@ pub async fn list_assets(
|
||||||
.eq(users::id)
|
.eq(users::id)
|
||||||
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
||||||
.and(dataset_permissions::permission_type.eq("user"))
|
.and(dataset_permissions::permission_type.eq("user"))
|
||||||
.and(dataset_permissions::deleted_at.is_null())),
|
.and(dataset_permissions::deleted_at.is_null())
|
||||||
|
.and(dataset_permissions::organization_id.eq(organization_id))),
|
||||||
)
|
)
|
||||||
.inner_join(
|
.inner_join(
|
||||||
users_to_organizations::table.on(users_to_organizations::user_id.eq(users::id)),
|
users_to_organizations::table.on(users_to_organizations::user_id.eq(users::id)),
|
||||||
|
@ -78,7 +79,6 @@ pub async fn list_assets(
|
||||||
"dataset_permissions.id IS NOT NULL",
|
"dataset_permissions.id IS NOT NULL",
|
||||||
),
|
),
|
||||||
))
|
))
|
||||||
.filter(dataset_permissions::organization_id.eq(organization_id))
|
|
||||||
.filter(users_to_organizations::organization_id.eq(organization_id))
|
.filter(users_to_organizations::organization_id.eq(organization_id))
|
||||||
.load::<(User, bool)>(&mut *conn)
|
.load::<(User, bool)>(&mut *conn)
|
||||||
.await
|
.await
|
||||||
|
@ -107,7 +107,8 @@ pub async fn list_assets(
|
||||||
.eq(permission_groups::id)
|
.eq(permission_groups::id)
|
||||||
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
||||||
.and(dataset_permissions::permission_type.eq("permission_group"))
|
.and(dataset_permissions::permission_type.eq("permission_group"))
|
||||||
.and(dataset_permissions::deleted_at.is_null())),
|
.and(dataset_permissions::deleted_at.is_null())
|
||||||
|
.and(dataset_permissions::organization_id.eq(organization_id))),
|
||||||
)
|
)
|
||||||
.select((
|
.select((
|
||||||
permission_groups::all_columns,
|
permission_groups::all_columns,
|
||||||
|
@ -116,7 +117,6 @@ pub async fn list_assets(
|
||||||
),
|
),
|
||||||
))
|
))
|
||||||
.filter(permission_groups::deleted_at.is_null())
|
.filter(permission_groups::deleted_at.is_null())
|
||||||
.filter(dataset_permissions::organization_id.eq(organization_id))
|
|
||||||
.filter(permission_groups::organization_id.eq(organization_id))
|
.filter(permission_groups::organization_id.eq(organization_id))
|
||||||
.load::<(PermissionGroup, bool)>(&mut *conn)
|
.load::<(PermissionGroup, bool)>(&mut *conn)
|
||||||
.await
|
.await
|
||||||
|
@ -145,7 +145,8 @@ pub async fn list_assets(
|
||||||
.eq(dataset_groups::id)
|
.eq(dataset_groups::id)
|
||||||
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
.and(dataset_permissions::dataset_id.eq(dataset_id))
|
||||||
.and(dataset_permissions::permission_type.eq("dataset_group"))
|
.and(dataset_permissions::permission_type.eq("dataset_group"))
|
||||||
.and(dataset_permissions::deleted_at.is_null())),
|
.and(dataset_permissions::deleted_at.is_null())
|
||||||
|
.and(dataset_permissions::organization_id.eq(organization_id))),
|
||||||
)
|
)
|
||||||
.select((
|
.select((
|
||||||
dataset_groups::all_columns,
|
dataset_groups::all_columns,
|
||||||
|
@ -154,7 +155,6 @@ pub async fn list_assets(
|
||||||
),
|
),
|
||||||
))
|
))
|
||||||
.filter(dataset_groups::organization_id.eq(organization_id))
|
.filter(dataset_groups::organization_id.eq(organization_id))
|
||||||
.filter(dataset_permissions::organization_id.eq(organization_id))
|
|
||||||
.filter(dataset_groups::deleted_at.is_null())
|
.filter(dataset_groups::deleted_at.is_null())
|
||||||
.load::<(DatasetGroup, bool)>(&mut *conn)
|
.load::<(DatasetGroup, bool)>(&mut *conn)
|
||||||
.await
|
.await
|
||||||
|
|
Loading…
Reference in New Issue