Commit Graph

228 Commits

Author SHA1 Message Date
dal fe375a72e8
fix: deployment db migration 2025-01-22 12:59:55 -07:00
github-actions[bot] df7ba6776e chore(release): update version to 0.0.7 2025-01-22 19:25:18 +00:00
Nate Kelley 84387396f0
feat: added permission pages
* chore: add release-please configuration

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* update package versions

* Make users page (#39)

* create users pages

* abstract more components to correct folders

* carve out expection if we are hiding the select all

* user query

* Add ability to change default access

* Update package-lock.json

* Update package-lock.json

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Big nate/bus 924 make additional permissions pages (#50)

* create virtua list component

* only debounce if there is text

* prefetch on demand

* add a popup for permissions

* Update web/src/components/list/BusterList/BusterListReactWindow.tsx

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* finalize permission popup

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* more elegant infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* add additional bulk popup menus

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* make pages unique

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* change how padding is applied to list

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* infinite list component

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* start user dataset lineage

Co-Authored-By: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* Refactor SQL query in list_assets_handler to use a Common Table Expression (CTE) for improved readability and maintainability. The CTE, `distinct_assets`, simplifies the selection of distinct asset records before applying the final ordering and limiting.

* add cursor rules for web directory + jest (#52)

* on change update for segments

* PRevent clicking passthrough on users click

* feat: Add assets module and nest routes in user router

- Introduced a new `assets` module to handle asset-related routes.
- Updated the user router to nest the `assets` routes under the user ID path, enhancing the organization of API endpoints.
- This change improves the structure and maintainability of the user-related routes in the API.

* feat: Enhance user attribute listing with authorization checks

- Updated the `list_attributes_handler` to include authorization checks for user roles and organization IDs.
- Implemented error handling for unauthorized access to user attributes.
- Refactored the SQL query to retrieve user attributes based on the authenticated user's organization, improving security and data integrity.
- This change ensures that only authorized users can list attributes, enhancing the overall security of the API.

* pass through dataset overview

* feat: Update dataset group listing to include permissions

- Enhanced the `list_dataset_groups` function to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset group.
- Modified the `DatasetGroupInfo` struct to include `permission_id` and `assigned` fields, reflecting the new data structure.
- Refactored the SQL query to group by necessary fields and ensure accurate permission data is returned, improving the functionality and security of dataset group listings.

* feat: Add DatasetGroupPermission model and schema

- Introduced a new `DatasetGroupPermission` struct in `models.rs` to represent permissions associated with dataset groups.
- Updated the database schema in `schema.rs` to include the `dataset_groups_permissions` table, defining its structure and relationships.
- Modified the `is_user_workspace_admin_or_data_admin` function in `checks.rs` to correctly reference the user's organization role, enhancing role validation logic.

* add component for users inputs

* feat: Update dataset group listing to include dataset group permissions

- Modified the `list_dataset_groups` function to accept an additional `id` parameter for filtering dataset groups based on user permissions.
- Updated the SQL query to join with the `dataset_groups_permissions` table, allowing retrieval of permission counts for each dataset group.
- Refactored the `DatasetGroupInfo` struct to replace `permission_id` with `permission_count`, enhancing clarity and accuracy in the data representation.
- Ensured that the query groups by the new permission structure, improving the functionality and security of dataset group listings.

* feat: Refactor dataset listing to include user-specific permissions

- Updated the `list_datasets` function to accept an additional `id` parameter for filtering datasets based on user permissions.
- Enhanced the SQL query to join with the `dataset_permissions` table, allowing retrieval of permission details for each dataset.
- Refactored the `DatasetInfo` struct to include an `assigned` field, improving clarity in the dataset representation.
- Improved error handling for dataset retrieval, ensuring robust logging and response management.

* fix: Correct user role attribute and enhance read-only logic in list_attributes_handler

- Updated the user role attribute key from "role" to "organization_role" for accurate role retrieval.
- Introduced a read-only flag for specific user attributes, improving data integrity by clearly indicating which attributes should not be modified.
- Enhanced error handling for user role retrieval, ensuring robust responses for missing or incorrect attributes.

* normalize header for list

* new line

* popup conatiner for users

* feat: Enhance user authorization checks and refactor related functions

- Added user authorization checks in `list_attributes`, `list_dataset_groups`, `list_datasets`, `list_permission_groups`, and `list_teams` functions to ensure only users with appropriate roles can access these resources.
- Refactored the `list_teams_handler` to accept `user_id` as a parameter, improving clarity and consistency across user-related functions.
- Updated SQL queries to utilize the new authorization checks, enhancing security and data integrity.
- Removed redundant column allowances in `list_teams` permissions, streamlining the codebase.

* pass last child as index

* feat: Enhance permission group handling and streamline SQL queries

- Expanded the `allow_columns_to_appear_in_same_group_by_clause!` macro in `models.rs` to include additional columns for datasets and users, improving query flexibility.
- Refactored the `list_permission_groups` function to include dataset count and assigned status, enhancing the information returned for each permission group.
- Updated SQL queries in `list_permission_groups` to utilize left joins for better data retrieval and to ensure accurate permission checks.
- Removed redundant column allowances in various files, streamlining the codebase and improving maintainability.

* feat: Add PUT route for updating teams in user assets

- Introduced a new module `put_teams` to handle updates for teams.
- Added a PUT route for `/teams` in the user assets router, allowing for team modifications.
- Enhanced the routing capabilities of the user assets API to support both GET and PUT requests for teams.

* onchagne appsegmetned update

* create permission user endpoints

* move files to match new page structure

* refactor: Clean up routing and improve PUT teams handler

- Reformatted imports in `mod.rs` for better readability.
- Commented out the PUT route for `/teams` in the user assets router, indicating a potential future change or deprecation.
- Updated the `put_teams` handler to return a `NoContent` response upon successful execution, enhancing clarity in API responses.
- Improved error handling in the `put_teams` function for better logging and response management.

* refactor: Standardize user ID parameter naming across user-related routes

- Updated all user-related route handlers to use `user_id` instead of `id` for better clarity and consistency.
- Modified the routing definitions in `mod.rs` to reflect the new parameter naming convention.
- Enhanced the `list_permission_groups` function to accept `user_id` as a parameter, improving clarity in the handler's signature.
- Ensured all relevant functions now consistently handle the `user_id` parameter, streamlining the codebase and improving maintainability.

* feat: Enhance team management with role-based assignments

- Introduced a new `TeamInfoRole` enum to represent user roles within teams, replacing the previous boolean `assigned` field.
- Updated the `list_teams` handler to return team roles instead of assignment status, improving clarity on user roles.
- Refactored the `put_teams` handler to support role-based assignments, allowing for more granular control over team memberships.
- Added new PUT routes for dataset groups and permission groups in the user assets router, enhancing API capabilities.
- Improved SQL queries for team assignments to utilize role information, streamlining database interactions.

* feat: Add organization_id to DatasetGroupPermission and update dataset group handler

- Introduced a new `organization_id` field in the `DatasetGroupPermission` struct to associate permissions with specific organizations.
- Updated the `put_dataset_groups_handler` to include `organization_id` when creating or updating dataset group permissions, enhancing the API's capability to manage permissions at the organizational level.
- Improved SQL query formatting for better readability in the handler.

* add list components for permission settings

* feat: Introduce assets module and update routing for permission groups

- Added a new `assets` module to organize related routes.
- Updated the routing in `mod.rs` to nest the `assets` router under the `/:permission_group_id` path, enhancing the structure and clarity of the API.
- Maintained existing routes for managing permission groups while improving modularity.

* create permission group users

* refactor: Update list_permission_groups_handler to use user_id and improve SQL queries

- Changed the parameter in the SQL query from `user.id` to `user_id` for consistency with the updated user ID parameter naming convention.
- Enhanced the SQL query to count distinct dataset permissions and utilize `bool_or` for identity checks, improving accuracy and performance.
- Cleaned up the grouping in the SQL query by removing unnecessary fields, streamlining the data retrieval process.

* add listing for dataset groups

* feat: Add PUT routes for user and dataset management in assets module

- Introduced new PUT routes for managing users and dataset groups in the assets module.
- Updated the router to support PUT requests for `/users`, `/dataset_groups`, and `/datasets`, enhancing the API's functionality for resource updates.
- Improved modularity by organizing related routes within the assets module.

* add listing for dataset groups

* add list for datasets

* assigned permissions

* Add attributes and teams

* feat: Add DatasetToDatasetGroup model and update schema

- Introduced a new `DatasetToDatasetGroup` struct to represent the relationship between datasets and dataset groups, including fields for timestamps and optional deletion.
- Updated the database schema to include `updated_at` and `deleted_at` fields for the `datasets_to_dataset_groups` table, enhancing data tracking capabilities.
- Refactored the routing in `mod.rs` to include a nested router for assets, improving the organization of dataset group routes.

* invalidate query if user id is present

* create a dataset modal added to user page

* add team modal to teams

* assigned popup

* feat: Enhance user retrieval with dataset information

- Added new structs `DatasetLineage` and `DatasetInfo` to represent dataset details and lineage.
- Updated `UserResponse` to include a list of datasets associated with the user.
- Refactored `get_user_information` function to concurrently fetch user info, direct datasets, permission group datasets, and organization datasets using `tokio::spawn` for improved performance.
- Implemented logic to compile datasets based on direct access and permission group access, including lineage tracking for better data representation.
- Enhanced error handling during database queries to ensure robust user information retrieval.

* feat: Enhance dataset access retrieval in user and dataset overview

- Updated `get_dataset_overview` to include dataset group access and permission group to dataset group access, improving the granularity of dataset permissions.
- Introduced new queries to fetch dataset groups and their associated permissions, enhancing the dataset overview for users.
- Refactored `get_user_information` to concurrently retrieve dataset groups and permission group datasets, optimizing performance with `tokio::spawn`.
- Enhanced lineage tracking for datasets, allowing for better representation of user permissions across dataset groups and permission groups.
- Improved error handling during database queries to ensure robust data retrieval.

* lineage props passed

* refactor: Streamline dataset access logic in get_user_information

- Simplified access control logic for datasets based on user roles, consolidating conditions for WorkspaceAdmin, DataAdmin, Querier, Viewer, and RestrictedQuerier.
- Enhanced dataset lineage tracking to provide clearer representation of user permissions across various dataset access types.
- Removed redundant code related to dataset processing, improving readability and maintainability of the `get_user_information` function.
- Ensured that datasets are correctly categorized based on direct access, permission group access, and organization datasets, optimizing the overall data retrieval process.

* feat: Refactor dataset overview access lineage in get_dataset_overview

- Introduced a default access lineage for users, ensuring consistent representation of user permissions.
- Simplified the addition of user roles to the lineage, consolidating logic for WorkspaceAdmin, DataAdmin, Querier, and Viewer roles.
- Enhanced lineage tracking for RestrictedQuerier role to include direct dataset access and permission group lineage, improving granularity of dataset permissions.
- Removed redundant code related to dataset and permission group lineage, optimizing readability and maintainability of the `get_dataset_overview` function.

* add datasetgroup handler

* feat: Improve dataset access control and lineage tracking

- Enhanced the `get_dataset_overview` function to refine access control for the `RestrictedQuerier` role, allowing for more granular permission checks based on various access paths.
- Updated the `get_user_information` function to streamline dataset processing, ensuring that datasets are categorized correctly based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability of both functions.
- Improved lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* clickable pills

* fix build errors

* add endpoints for dataset groups, and permission groups

* refactor: Enhance dataset access control and lineage tracking

- Streamlined the `get_dataset_overview` function to improve access control for the `RestrictedQuerier` role, ensuring more precise permission checks.
- Updated the `get_user_information` function to optimize dataset processing, categorizing datasets based on direct access and permission group access.
- Removed redundant code and improved readability by consolidating logic for user roles, enhancing maintainability.
- Enhanced lineage tracking for datasets, providing a clearer representation of user permissions across different access types.

* better handling for create a permission group

* Refetch on team created for now

* add additional pages

* permission group modal update

* added pages for permission groups

* add user permission list

* add datasets to permission groups page

* Update dependencies and refactor Snowflake query handling

- Downgraded the `base64` crate version in `Cargo.toml` from `0.22.1` to `0.21`.
- Refactored the `snowflake_query` function in `snowflake_query.rs` to improve data type handling, including support for additional Arrow data types and enhanced null value checks.
- Updated the `route_to_query` function in `query_router.rs` to use mutable `snowflake_client` for better state management during query execution.
- Improved error handling for closing the Snowflake client session, ensuring proper logging of any issues encountered.

* add datasets to permission groups page

* Refactor Snowflake client connection to remove warehouse and database IDs

- Updated the `get_snowflake_client` function to no longer require `warehouse_id` and `database_id`, simplifying the connection process.
- This change enhances flexibility in client initialization and aligns with recent updates to Snowflake API handling.

* add permission groups lists

* add dataset group in permission group area

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: dal <dallin@buster.so>
2025-01-22 11:25:06 -08:00
github-actions[bot] 6ae81cf978 chore(release): update version to 0.0.6 2025-01-16 22:09:23 +00:00
Nate Kelley f5069022cf
Merge branch 'main' of https://github.com/buster-so/buster 2025-01-16 15:08:57 -07:00
Nate Kelley 5b0e221738
fix: stablize versioning 2025-01-16 15:08:47 -07:00
github-actions[bot] 928d1c34af chore(release): update version to 0.0.5 2025-01-16 22:06:40 +00:00
github-actions[bot] df8940fd0b chore(release): update version to 0.0.4 2025-01-16 22:06:29 +00:00
github-actions[bot] 7caaa97f17 chore(release): update version to 0.0.3 2025-01-16 22:06:18 +00:00
github-actions[bot] e31f702c28 chore(release): update version to 0.0.2 2025-01-16 22:06:06 +00:00
Nate Kelley 69fc912dbb
Merge branch 'main' of https://github.com/buster-so/buster 2025-01-16 15:05:43 -07:00
Nate Kelley 3016e16afb
fix: update the prerelease logic 2025-01-16 15:05:19 -07:00
github-actions[bot] 7cf0645ce9 chore(release): update version to 2025-01-16 21:58:51 +00:00
Nate Kelley d6e6f41165
fix: update the prerelease logic 2025-01-16 14:57:59 -07:00
Nate Kelley 500e5ddc31
Merge branch 'main' of https://github.com/buster-so/buster 2025-01-16 14:53:46 -07:00
Nate Kelley 6a67afe5cb
fix: use a node pipeline 2025-01-16 14:53:09 -07:00
github-actions[bot] 75841b1c73 chore(release): update version to 2025-01-16 21:50:46 +00:00
Nate Kelley 8a3a36e63b
fix: use a node pipeline 2025-01-16 14:50:29 -07:00
Nate Kelley 20ba771a8d
fix: update README 2025-01-16 14:37:32 -07:00
Nate Kelley 7c26d63929
fix(main): this is a push to main to trigger a release 2025-01-16 14:23:48 -07:00
Nate Kelley 9732dfd6b7
fix(main): update release-please 2025-01-16 14:12:03 -07:00
Nate Kelley 6a973decdb
Merge pull request #47 from buster-so/staging
chore: add release-please configuration
2025-01-16 12:51:02 -08:00
Nate Kelley 95e991b10b
chore: add release-please configuration 2025-01-16 13:49:28 -07:00
Nate Kelley 09091b1dc3
fix: release please update
fix: release please update
2025-01-16 12:15:06 -08:00
Nate Kelley e8ee2ccac1
fix: release please update 2025-01-16 13:10:58 -07:00
Nate Kelley 619c87cdeb
Merge branch 'staging' of https://github.com/buster-so/buster into staging 2025-01-16 13:01:57 -07:00
Nate Kelley da7f2a64ee
chore: update invalid fields 2025-01-16 13:01:37 -07:00
Nate Kelley ebe7b017ec
Merge pull request #45 from buster-so/staging
feat: update file version
2025-01-16 11:58:23 -08:00
Nate Kelley b42282902a
Merge branch 'main' into staging 2025-01-16 11:58:01 -08:00
Nate Kelley 05202a3ddb
feat: update path to version file 2025-01-16 12:56:55 -07:00
Nate Kelley 2bc0dcd960
chore: Add additional semvar files (#44)
* added empty state text

* update permission group in the dataset

* 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.

* containerized class should be white with no border at bottom

* clear query when signing out

* Use correct endpoint for dataset groups

* yaml syntax highligting

* create dataset endpoints

* update disable logic for deploying a dataset

* Refactor user routes to include new endpoint for retrieving user by ID

- Removed the public modifier from `get_user` and `update_user` modules to encapsulate them within the module.
- Added a new route to the user router for fetching a user by their ID, enhancing the API's functionality.
- This change improves the user management capabilities by allowing retrieval of specific user details based on their unique identifier.

* Add organizations module and integrate with user routes

* remove unused imports and abstract variables

* Refactor user update functionality to support role changes

- Enhanced the `update_user` endpoint to accept and process user role updates alongside name changes.
- Introduced a new `UserResponse` struct for improved response handling.
- Updated the `update_user_handler` to handle changes in both user name and organization role, improving the flexibility of user management.
- Adjusted response type to return no content upon successful updates, aligning with RESTful practices.

These changes enhance the user management capabilities by allowing for more comprehensive updates to user information.

* Update user route to use ID parameter for updates

- Changed the user update route to require a user ID in the URL, enhancing RESTful practices.
- Updated the `update_user` function to extract the user ID from the path, ensuring the correct user is updated based on the provided ID.

These changes improve the clarity and functionality of the user update endpoint, aligning it with standard REST conventions.

* simplify hooks imports

* Remove unused component

* restructure folders for layout

* update imports for gloabl components

* add additional routes

* Implement user permission checks in dataset deployment and user update routes

- Added permission validation to the `deploy_datasets` and `post_dataset` functions to ensure only users with workspace admin or data admin roles can execute these actions.
- Enhanced error handling for permission checks, returning appropriate HTTP status codes and messages for insufficient permissions and internal errors.
- Updated imports to include the new security checks module for consistency across routes.

These changes improve security by enforcing role-based access control in critical dataset operations.

* Refactor user update route to enhance RESTful practices

- Updated the user update route to require a user ID in the URL, ensuring the correct user is updated based on the provided ID.
- Improved clarity and functionality of the `update_user` function by extracting the user ID from the path.

These changes align the user update endpoint with standard REST conventions, enhancing overall API usability.

* Enhance dataset listing functionality with user organization roles

- Refactored dataset listing logic to incorporate user organization roles, allowing for more granular access control based on user permissions.
- Introduced new role checks for `WorkspaceAdmin`, `DataAdmin`, `Querier`, `RestrictedQuerier`, and `Viewer` to determine dataset visibility.
- Updated database queries to fetch datasets based on user roles and organization associations, improving data retrieval efficiency.
- Removed deprecated functions and streamlined the dataset fetching process, ensuring clarity and maintainability in the codebase.

These changes improve the API's security and usability by enforcing role-based access control for dataset operations.

* tweaked the post thread permissions handle.

* permission_group string fix

* remove package.json

* fix: Add release please syntax handler and github action (#40)

* fix(buster): Add release please syntax handler and github action

* chore: add version tracking setup

fix: update

update nate rulez

* Update version.txt

---------

Co-authored-by: dal <dallin@buster.so>
2025-01-16 11:46:49 -08:00
Nate Kelley acaa255b59
Merge branch 'staging' of https://github.com/buster-so/buster into staging 2025-01-16 12:45:48 -07:00
Nate Kelley 9858249b9b
Update version.txt 2025-01-16 12:45:46 -07:00
Nate Kelley 339211b11a
Staging (#43)
* added empty state text

* update permission group in the dataset

* 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.

* containerized class should be white with no border at bottom

* clear query when signing out

* Use correct endpoint for dataset groups

* yaml syntax highligting

* create dataset endpoints

* update disable logic for deploying a dataset

* Refactor user routes to include new endpoint for retrieving user by ID

- Removed the public modifier from `get_user` and `update_user` modules to encapsulate them within the module.
- Added a new route to the user router for fetching a user by their ID, enhancing the API's functionality.
- This change improves the user management capabilities by allowing retrieval of specific user details based on their unique identifier.

* Add organizations module and integrate with user routes

* remove unused imports and abstract variables

* Refactor user update functionality to support role changes

- Enhanced the `update_user` endpoint to accept and process user role updates alongside name changes.
- Introduced a new `UserResponse` struct for improved response handling.
- Updated the `update_user_handler` to handle changes in both user name and organization role, improving the flexibility of user management.
- Adjusted response type to return no content upon successful updates, aligning with RESTful practices.

These changes enhance the user management capabilities by allowing for more comprehensive updates to user information.

* Update user route to use ID parameter for updates

- Changed the user update route to require a user ID in the URL, enhancing RESTful practices.
- Updated the `update_user` function to extract the user ID from the path, ensuring the correct user is updated based on the provided ID.

These changes improve the clarity and functionality of the user update endpoint, aligning it with standard REST conventions.

* simplify hooks imports

* Remove unused component

* restructure folders for layout

* update imports for gloabl components

* add additional routes

* Implement user permission checks in dataset deployment and user update routes

- Added permission validation to the `deploy_datasets` and `post_dataset` functions to ensure only users with workspace admin or data admin roles can execute these actions.
- Enhanced error handling for permission checks, returning appropriate HTTP status codes and messages for insufficient permissions and internal errors.
- Updated imports to include the new security checks module for consistency across routes.

These changes improve security by enforcing role-based access control in critical dataset operations.

* Refactor user update route to enhance RESTful practices

- Updated the user update route to require a user ID in the URL, ensuring the correct user is updated based on the provided ID.
- Improved clarity and functionality of the `update_user` function by extracting the user ID from the path.

These changes align the user update endpoint with standard REST conventions, enhancing overall API usability.

* Enhance dataset listing functionality with user organization roles

- Refactored dataset listing logic to incorporate user organization roles, allowing for more granular access control based on user permissions.
- Introduced new role checks for `WorkspaceAdmin`, `DataAdmin`, `Querier`, `RestrictedQuerier`, and `Viewer` to determine dataset visibility.
- Updated database queries to fetch datasets based on user roles and organization associations, improving data retrieval efficiency.
- Removed deprecated functions and streamlined the dataset fetching process, ensuring clarity and maintainability in the codebase.

These changes improve the API's security and usability by enforcing role-based access control for dataset operations.

* tweaked the post thread permissions handle.

* permission_group string fix

* remove package.json

* fix: Add release please syntax handler and github action (#40)

* fix(buster): Add release please syntax handler and github action

* chore: add version tracking setup

fix: update

update nate rulez

---------

Co-authored-by: dal <dallin@buster.so>
2025-01-16 11:09:50 -08:00
Nate Kelley da422c0a14
Merge branch 'main' into staging 2025-01-16 11:09:31 -08:00
Nate Kelley dcd1d51fc7
fix: Add release please syntax handler and github action (#40)
* fix(buster): Add release please syntax handler and github action

* chore: add version tracking setup

fix: update

update nate rulez
2025-01-16 12:08:21 -07:00
Nate Kelley f1ee35b890
chore: add semvar version update (#42)
* added empty state text

* update permission group in the dataset

* 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.

* containerized class should be white with no border at bottom

* clear query when signing out

* Use correct endpoint for dataset groups

* yaml syntax highligting

* create dataset endpoints

* update disable logic for deploying a dataset

* Refactor user routes to include new endpoint for retrieving user by ID

- Removed the public modifier from `get_user` and `update_user` modules to encapsulate them within the module.
- Added a new route to the user router for fetching a user by their ID, enhancing the API's functionality.
- This change improves the user management capabilities by allowing retrieval of specific user details based on their unique identifier.

* Add organizations module and integrate with user routes

* remove unused imports and abstract variables

* Refactor user update functionality to support role changes

- Enhanced the `update_user` endpoint to accept and process user role updates alongside name changes.
- Introduced a new `UserResponse` struct for improved response handling.
- Updated the `update_user_handler` to handle changes in both user name and organization role, improving the flexibility of user management.
- Adjusted response type to return no content upon successful updates, aligning with RESTful practices.

These changes enhance the user management capabilities by allowing for more comprehensive updates to user information.

* Update user route to use ID parameter for updates

- Changed the user update route to require a user ID in the URL, enhancing RESTful practices.
- Updated the `update_user` function to extract the user ID from the path, ensuring the correct user is updated based on the provided ID.

These changes improve the clarity and functionality of the user update endpoint, aligning it with standard REST conventions.

* simplify hooks imports

* Remove unused component

* restructure folders for layout

* update imports for gloabl components

* add additional routes

* Implement user permission checks in dataset deployment and user update routes

- Added permission validation to the `deploy_datasets` and `post_dataset` functions to ensure only users with workspace admin or data admin roles can execute these actions.
- Enhanced error handling for permission checks, returning appropriate HTTP status codes and messages for insufficient permissions and internal errors.
- Updated imports to include the new security checks module for consistency across routes.

These changes improve security by enforcing role-based access control in critical dataset operations.

* Refactor user update route to enhance RESTful practices

- Updated the user update route to require a user ID in the URL, ensuring the correct user is updated based on the provided ID.
- Improved clarity and functionality of the `update_user` function by extracting the user ID from the path.

These changes align the user update endpoint with standard REST conventions, enhancing overall API usability.

* Enhance dataset listing functionality with user organization roles

- Refactored dataset listing logic to incorporate user organization roles, allowing for more granular access control based on user permissions.
- Introduced new role checks for `WorkspaceAdmin`, `DataAdmin`, `Querier`, `RestrictedQuerier`, and `Viewer` to determine dataset visibility.
- Updated database queries to fetch datasets based on user roles and organization associations, improving data retrieval efficiency.
- Removed deprecated functions and streamlined the dataset fetching process, ensuring clarity and maintainability in the codebase.

These changes improve the API's security and usability by enforcing role-based access control for dataset operations.

* tweaked the post thread permissions handle.

* permission_group string fix

* remove package.json

* fix: Add release please syntax handler and github action (#40)

* fix(buster): Add release please syntax handler and github action

* chore: add version tracking setup

fix: update

update nate rulez

---------

Co-authored-by: dal <dallin@buster.so>
2025-01-16 11:02:12 -08:00
Nate Kelley ea23904b92
remove package.json 2025-01-16 10:53:23 -07:00
dal cb6fa4eb60
Merge pull request #41 from buster-so/dal/permissions-work
Dal/permissions work
2025-01-16 09:40:39 -08:00
dal 3f7ed216e8
permission_group string fix 2025-01-16 10:39:55 -07:00
dal 3a0b267214
tweaked the post thread permissions handle. 2025-01-16 10:29:24 -07:00
dal d0b05608e5
Enhance dataset listing functionality with user organization roles
- Refactored dataset listing logic to incorporate user organization roles, allowing for more granular access control based on user permissions.
- Introduced new role checks for `WorkspaceAdmin`, `DataAdmin`, `Querier`, `RestrictedQuerier`, and `Viewer` to determine dataset visibility.
- Updated database queries to fetch datasets based on user roles and organization associations, improving data retrieval efficiency.
- Removed deprecated functions and streamlined the dataset fetching process, ensuring clarity and maintainability in the codebase.

These changes improve the API's security and usability by enforcing role-based access control for dataset operations.
2025-01-16 10:23:06 -07:00
dal acdb260cb4
Refactor user update route to enhance RESTful practices
- Updated the user update route to require a user ID in the URL, ensuring the correct user is updated based on the provided ID.
- Improved clarity and functionality of the `update_user` function by extracting the user ID from the path.

These changes align the user update endpoint with standard REST conventions, enhancing overall API usability.
2025-01-16 08:57:59 -07:00
dal bcf764ccd1
Implement user permission checks in dataset deployment and user update routes
- Added permission validation to the `deploy_datasets` and `post_dataset` functions to ensure only users with workspace admin or data admin roles can execute these actions.
- Enhanced error handling for permission checks, returning appropriate HTTP status codes and messages for insufficient permissions and internal errors.
- Updated imports to include the new security checks module for consistency across routes.

These changes improve security by enforcing role-based access control in critical dataset operations.
2025-01-16 08:42:02 -07:00
dal 7b110a941c
Merge pull request #38 from buster-so/nate/BUS-918-consolidate-and-cleanup-imports
Consolidate and cleanup imports
2025-01-16 07:37:14 -08:00
dal b69508d20b
Merge pull request #37 from buster-so/dallin/user-permissions
Dallin/user-permissions
2025-01-16 07:36:54 -08:00
Nate Kelley d8594d19d0
add additional routes 2025-01-15 12:20:45 -07:00
Nate Kelley 447ae12478
update imports for gloabl components 2025-01-15 12:03:18 -07:00
Nate Kelley fb68215330
Merge branch 'staging' into nate/BUS-918-consolidate-and-cleanup-imports 2025-01-15 11:52:17 -07:00
Nate Kelley f116c6a606
restructure folders for layout 2025-01-15 11:51:59 -07:00