- Introduced `count_workspace_members` utility function to retrieve the number of active users in a workspace.
- Updated chat, collection, dashboard, and metric handlers to include `workspace_member_count` in their responses.
- Modified relevant types to accommodate the new `workspace_member_count` field.
- Adjusted frontend components to display the number of workspace members in the ShareMenu and related UI elements.
These changes improve the visibility of workspace member information and enhance the overall user experience.
- Adjusted the ShareMenu component styles for improved layout consistency.
- Added `workspace_sharing` property with a default value of 'none' in metric-related mocks and tests.
- Updated the mock dashboard to include the new `workspace_sharing` field.
These changes improve the UI and ensure that the workspace sharing feature is properly represented in the mock data.
- Updated the `WorkspaceSharing` enum to use camelCase for serialization.
- Introduced `workspace_permissions` field in update requests for chats, collections, dashboards, and metrics.
- Implemented handling of workspace sharing permissions in respective update handlers, allowing for setting and removing permissions.
- Adjusted frontend components and API interfaces to align with the new `workspace_sharing` naming convention.
This change enhances the consistency and usability of workspace sharing across different asset types.
- Add missing status field to GET /api/v2/slack/integration response
- Ensures 're_install_required' status reaches the UI for yellow button display
- Critical fix for scope validation feature to work end-to-end
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Create validateScopes helper to avoid code duplication
- Use shared function in both initiateOAuth and getIntegrationStatus
- Addresses code review feedback from greptile-apps[bot]
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Updated `get_chat_handler` to check for collection access when a user lacks direct permission.
- Modified `get_dashboard_handler` to first verify collection access before checking chat access.
- Added `check_chat_collection_access` function to validate user access to chats via collections.
- Enhanced `check_metric_dashboard_access` to include collection access checks concurrently with other permission checks.
This change improves the permission model by allowing access to chats and dashboards through associated collections, enhancing user experience and security.
- Add deduplicateFilesByVersion helper function with informative logging
- Modify selectFilesForResponse to handle version-based deduplication
- Balance priority logic (dashboards over standalone created metrics) with deduplication
- Default missing version numbers to 1
- Add comprehensive tests for deduplication scenarios
- Preserve existing priority logic when no deduplication is needed
Fixes BUS-1434
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Fixed unit test failures in database, rerank, data-source, stored-values, and test-utils packages
- Moved unit tests from tests/ folders to be alongside source files (e.g., slack.ts -> slack.test.ts)
- Ensured all unit tests use mocks instead of real dependencies
- Added DATABASE_URL environment variable to test:unit scripts where needed
- Fixed mock implementations and test assertions
- All 52 unit tests now pass successfully
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Fixed AI package unit tests that were previously failing
- Updated database package.json with environment variables for tests
- Fixed snowflake adapter test issues in data-source package
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Removed empty test files from packages/rerank/tests/ and packages/stored-values/tests/
- All unit tests are now co-located with their source files
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Added unit tests for database helper functions
- Added unit tests for mock helpers and environment helpers
- All test files now follow the convention of being alongside their source files
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>