Commit Graph

875 Commits

Author SHA1 Message Date
dal 9f9d896ac1
testing 2025-01-08 17:24:09 -07:00
dal 62c7f1aabb
Merge pull request #24 from buster-so/dal/apis-for-permissions
Dal/apis-for-permissions
2025-01-08 15:53:59 -08:00
dal 5e9d3c198e Enhance dataset overview API with detailed user access queries and lineage tracking
- Added queries to retrieve datasets and permission groups associated with users for improved access tracking in the dataset overview response.
- Implemented logic to include direct dataset access and permission group lineage in the user overview, enhancing clarity on user permissions.
- Improved error handling for database interactions related to dataset and permission group queries.
- Added debug print statements for datasets and permission groups queries to facilitate troubleshooting.

These changes improve the API's ability to manage and report user permissions effectively, providing a clearer overview of user access to datasets and permission groups.
2025-01-08 16:51:00 -07:00
dal c247954733 Refactor dataset overview API to enhance user permission structure and simplify response
- Updated the UserPermissionLineage and UserOverviewItem structs to provide a clearer representation of user permissions and lineage in the dataset overview response.
- Simplified the get_dataset_overview function by removing redundant queries and consolidating user access checks.
- Improved error handling for database interactions related to user permissions.
- Streamlined the overall structure of the dataset overview response to focus on user details and their access capabilities.

These changes enhance the API's clarity and efficiency in managing and reporting user permissions.
2025-01-08 16:04:05 -07:00
dal 533ef5a4ef Enhance dataset overview API with user permission lineage and error handling improvements
- Introduced UserPermissionLineage struct to provide detailed user access information in the dataset overview response.
- Updated get_dataset_overview function to include comprehensive checks for user permissions, dataset group access, and direct access.
- Improved error handling for database queries related to user permissions and access checks.
- Added TODO comments in list_dataset_assets and put_dataset_assets routes to address future dataset group integration.

These changes enhance the API's capability to manage and report on user permissions effectively.
2025-01-08 15:42:28 -07:00
dal b22ab09673 Add DatasetPermission model and update API routes for asset management
- Introduced a new DatasetPermission model in the database schema to manage dataset access permissions, including fields for organization_id, dataset_id, and permission_type.
- Updated the API routes to nest asset-related routes under dataset_id, enhancing the organization of dataset-related functionalities.

These changes improve the structure for managing dataset permissions and streamline the API for asset handling.
2025-01-08 14:11:21 -07:00
Nate Kelley a4a03acb42
Pass env to dockerfiles 2025-01-08 14:03:27 -07:00
dal 82876e70f4 Add dataset_groups and dataset_permissions tables with organization_id references
- Created dataset_groups and dataset_permissions tables in the database schema, including organization_id as a foreign key with ON DELETE CASCADE.
- Added corresponding indexes for organization_id in both tables to optimize query performance.
- Updated the Rust models and schema to reflect the new tables and their relationships.
- Integrated dataset_groups into the API routes for improved data organization and management.

These changes enhance the database structure and facilitate better handling of dataset-related permissions and groupings.
2025-01-08 12:56:14 -07:00
dal d03815a02c Update database seed data and API routes for enhanced role management
- Changed the role of a user in the teams_to_users table from 'admin' to 'manager' for better role clarity.
- Refactored the users_to_organizations table to include a new 'status' field and updated multiple user roles to align with the new role structure (workspace_admin, querier, data_admin).
- Added a new permission_groups module to the API routes for improved permission management.
- Updated the security module to include a new checks module for enhanced security handling.
- Integrated dotenv in the Next.js configuration to manage environment variables more effectively.

These changes improve the clarity and functionality of user roles and permissions within the application.
2025-01-08 12:35:48 -07:00
dal 371b507acd Add UserOrganizationStatus enum and update role checks
- Introduced a new UserOrganizationStatus enum to manage user organization statuses (Active, Inactive, Pending, Guest) in the database schema.
- Updated the UserToOrganization model to include a status field.
- Refactored role checks across various routes to replace the previous UserOrganizationRole values (Owner, Admin) with new roles (WorkspaceAdmin, DataAdmin) for better role management.
- Enhanced data source handling in multiple routes to align with the updated role structure.

These changes improve the clarity and functionality of user organization management within the application.
2025-01-08 11:38:06 -07:00
dal dcfaa43e9e Refactor user organization roles and enhance database schema
- Updated the UserOrganizationRole enum to include new roles: WorkspaceAdmin, DataAdmin, Querier, RestrictedQuerier, and Viewer, replacing the previous roles of Owner, Member, and Admin.
- Modified the TeamToUserRole enum to change the Owner role to Manager.
- Added new database tables for dataset_groups, dataset_permissions, datasets_to_dataset_groups, and permission_groups_to_users to support enhanced data management.
- Introduced UserOrganizationStatusEnum to the schema for better organization status tracking.

These changes improve role management and expand the database schema for better data organization and permissions handling.
2025-01-08 10:53:29 -07:00
dal a2ab3cb641 Remove package-lock.json and update Docker Compose commands for Redis integration
- Deleted the `package-lock.json` file from the root directory.
- Modified the `dev` target in the API Makefile to start Redis using Docker Compose from the parent directory, improving service orchestration.
- Updated the `next.config.mjs` to load environment variables from the parent directory during development.
- Added `dotenv` as a dependency in both `package.json` and `package-lock.json` to manage environment variables effectively.

These changes streamline the development setup and enhance the management of environment variables.
2025-01-07 22:44:13 -07:00
dal 73822945bf Refactor Docker Compose and API for enhanced functionality and migration support
- Simplified the API service build configuration in `docker-compose.yml` by consolidating the build context and Dockerfile path.
- Added `diesel_migrations` dependency to `Cargo.toml` for database migration management.
- Implemented database migration logic in `main.rs`, including error handling and logging for migration success or failure.
- Introduced a new mail service in `supabase/docker-compose.yml` for handling SMTP, POP3, and web interface.
- Removed version specification from `supabase/dev/docker-compose.dev.yml` for cleaner configuration.

These changes improve the overall structure and functionality of the application, facilitating better database management and service orchestration.
2025-01-07 22:21:28 -07:00
dal 4679adf04a Refactor Docker Compose and API configuration for improved service management
- Consolidated Redis service into the main `docker-compose.yml`, removing the separate API Docker Compose file.
- Added health checks for Redis and API services to ensure proper service readiness.
- Updated API router to include a public health check endpoint.
- Cleaned up the web Dockerfile by removing unnecessary environment variable copying.

These changes enhance service orchestration and improve the reliability of the application during development.
2025-01-07 16:20:59 -07:00
dal 176d5eb06b Refactor Docker Compose and API Dockerfile for improved environment handling
- Removed version specification from `docker-compose.yml` for simplicity.
- Eliminated the `env_file` directive in the `web` service to streamline environment variable management.
- Updated the `Dockerfile` for the API to conditionally copy SSL certificates based on the environment, enhancing flexibility for local and production setups.

These changes aim to simplify the configuration and improve the development workflow.
2025-01-07 15:43:31 -07:00
dal 6b69339c79 Update environment configuration files
- Expanded `.env.example` with additional environment variables for local development, including AWS credentials, database connection strings, and API keys.
- Removed the `api/.env.example` file as its contents have been consolidated into the main `.env.example`.

These changes enhance the local development setup by providing a comprehensive example of required environment variables.
2025-01-07 15:11:53 -07:00
dal a7ae1b1dfd Refactor permission handling in get_message_with_permission function
- Updated the logic to determine final_permission by checking if permission is Some, simplifying the condition.
- Improved error handling for non-public threads when no permissions are provided.
2025-01-06 15:21:37 -07:00
dal c77018abbd Add 'Created' variant to ApiResponse enum in REST router 2025-01-06 13:47:32 -07:00
dal a076f2586f Remove unused ApiResponse variant 'Created' in the REST router 2025-01-06 13:41:19 -07:00
dal 20c37b7000 Refactor dataset route by removing unused imports
- Removed unused imports for `serde_json` and `tokio::task::JoinSet` in the `post_datasets.rs` file.
- This cleanup improves code readability and reduces unnecessary dependencies.
2025-01-06 13:03:34 -07:00
dal 5ccd8ddd72 Log error when failing to retrieve user organization ID in get_asset_access route 2025-01-06 13:00:01 -07:00
dal 5f6792484a Enhance GitHub Actions workflow and Dockerfile for SSL certificate management
- Added steps to configure AWS credentials and download the Postgres SSL certificate from S3 in the GitHub Actions workflow.
- Updated the Dockerfile to reflect the new path for the SSL certificate, ensuring it is correctly copied to the container.

These changes improve the security and organization of SSL certificate handling during the deployment process.
2025-01-03 16:25:39 -07:00
dal 0ef11c1971 Update SSL certificate handling in GitHub Actions workflow and Dockerfile
- Changed the directory structure for SSL certificates in the GitHub Actions workflow, creating a new path `certs/cert` for better organization.
- Updated the Dockerfile to reference the new certificate path, ensuring the SSL certificate is correctly installed in the container.

These changes improve the clarity and maintainability of the deployment process.
2025-01-03 16:19:02 -07:00
dal 31bfaaeecf Update GitHub Actions workflow and Dockerfile for SSL certificate handling
- Added steps to create a directory for SSL certificates and copy the downloaded certificate to the new location in the GitHub Actions workflow.
- Updated the Dockerfile to reference the new certificate path, ensuring proper installation of the SSL certificate in the container.

These changes improve the organization of SSL certificates and enhance the deployment process.
2025-01-03 16:12:31 -07:00
dal bdc3c10712 Brought in the bi-api 2025-01-03 14:32:54 -07:00