- Added bucketName to S3 integration responses and handlers to support bucket-specific operations.
- Updated tests to reflect the inclusion of bucketName in integration creation and retrieval processes.
- Improved error handling for fetching bucket names from the vault during S3 integration retrieval.
These changes improve the S3 integration management by allowing for more granular control and visibility of storage buckets.
- Simplified S3 integration handler functions by consolidating imports and improving code readability.
- Updated error handling in the S3 integration process to enhance clarity and maintainability.
- Refactored storage provider functions to utilize a more modular approach, separating concerns for better organization.
- Introduced utility functions for common operations, improving code reuse and reducing duplication.
These changes enhance the overall structure and maintainability of the S3 integration management features.
- Added routes for creating, retrieving, and deleting S3 integrations in the API.
- Introduced handlers for S3 integration operations, including validation of user permissions and storage credentials.
- Updated database schema to support S3 integrations, including a new table and associated queries.
- Integrated storage provider logic to handle S3, R2, and GCS configurations.
- Enhanced error handling and response structures for integration operations.
This commit lays the groundwork for managing storage integrations within the application, allowing users to connect and manage their S3 storage solutions.
- Upgraded '@aws-sdk/client-s3' to version 3.873.0 across multiple packages.
- Introduced caching mechanisms for metric data retrieval in the getMetricDataHandler function.
- Updated API endpoints to support report_file_id for cache lookups and data retrieval.
- Enhanced error handling and logging for cache operations.
- Refactored related components to accommodate new caching logic and parameters.
- Updated DELETE, GET, and POST handlers to return structured response types (ShareDeleteResponse, ShareGetResponse, SharePostResponse) for better consistency and clarity.
- Refactored permission checks and report existence validation to streamline logic.
- Improved optimistic UI updates in the frontend for sharing reports, ensuring a smoother user experience.
- Added response schemas for sharing operations to the shared reports module.
- Exported handler functions for DELETE, GET, POST, and PUT endpoints to enhance modularity.
- Removed redundant authentication middleware from individual endpoint files, consolidating it in the index route.
- Cleaned up code formatting for better readability.
- Deleted outdated test file for report sharing endpoints.
- Updated GET reports endpoint to use `getReportsWithPermissions` for improved access control.
- Added support for filtering reports based on `shared_with_me` and `only_my_reports` flags.
- Introduced `getReportsWithPermissions` function to handle complex permission logic in the database layer.
- Enhanced report metadata retrieval to ensure proper access validation before fetching report details.
- Implemented DELETE, GET, POST, and PUT endpoints for report sharing functionality.
- Added logic to handle sharing permissions, including validation of user access and email checks.
- Updated the sharing index route to include new endpoints.
- Created comprehensive tests for sharing functionalities to ensure proper behavior.
- Enhanced the frontend with hooks for sharing reports, unsharing reports, and updating sharing settings.
- Fix report route to use APP_REPORTS_ID instead of APP_REPORT_ID
- Add report icon to CollectionIconRecord
- Add report case to createAssetLink function for proper navigation
- Add ReportContent(String) variant to handle report version history
- Reports store content as plain strings unlike metrics/dashboards which use YAML
- Fixes deserialization error when fetching reports with version history
- Add 'report' case to add_assets_to_collection endpoint
- Add 'report' case to remove_assets_from_collection endpoint
- Update error response mappings to include ReportFile type
- Simplified the `GeneratingContent` component to display a static loading message.
- Updated `ReportPageController` to determine if a report is being generated based on the current message context.
- Adjusted report status handling in the delta creation process to maintain 'loading' status during streaming.
- Enhanced logic in the modify reports helper to ensure file status reflects loading during streaming and only updates to completed or failed when all edits are finalized.
- Modified database query to preserve input order for new messages during updates.
- Create report_files.rs helper module with permission checking
- Add ReportFile asset type handling in add_assets_to_collection_handler
- Add Report variant to AssetToRemove enum for removal operations
- Include report files in collection queries and responses
- Follow existing patterns for MetricFile and DashboardFile
- Introduced `executeMetricQuery` utility for standardized metric SQL query execution with retry logic.
- Updated `getMetricDataHandler` and metric tool execution functions to utilize the new query utility, improving error handling and result processing.
- Added metadata generation from query results to provide detailed insights into data structure.
- Refactored SQL validation to ensure only read-only queries are executed, enhancing data integrity.