Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS Integration changes #7025

Merged
merged 24 commits into from
Feb 6, 2025
Merged

AWS Integration changes #7025

merged 24 commits into from
Feb 6, 2025

Conversation

ahmadshaheer
Copy link
Collaborator

@ahmadshaheer ahmadshaheer commented Feb 4, 2025

Summary

Related Issues / PR's

Screenshots

NA

Affected Areas and Manually Tested Areas


Important

Enhance AWS integration with account removal functionality, refactor API calls, and improve UI components for better user experience.

  • New Functionality:
    • Add removeAwsIntegrationAccount function to handle AWS account disconnection in removeAwsIntegrationAccount.ts.
    • Add getConnectionParams function in index.ts to fetch connection parameters.
  • Refactoring:
    • Update getAwsServices and getServiceDetails in index.ts to use cloudAccountId instead of accountId.
    • Refactor AccountActions.tsx to use AccountActionsRenderer for better separation of concerns.
  • UI Enhancements:
    • Update Header.tsx and HeroSection.tsx to display "Amazon Web Services" instead of "AWS Web Services".
    • Add skeleton loading states in AccountActions.tsx for better UX during data fetching.
    • Implement RemoveIntegrationAccount component for account removal with confirmation modal.
  • Constants and Types:
    • Add AWS_GET_CONNECTION_PARAMS to reactQueryKeys.ts.
    • Define ConnectionParams interface in aws.ts for connection parameter handling.
  • Miscellaneous:
    • Update styles in AccountActions.style.scss and ServicesTabs.style.scss for consistency and improved appearance.

This description was created by Ellipsis for 1d67fd1. It will automatically update as commits are pushed.

@ahmadshaheer ahmadshaheer marked this pull request as ready for review February 5, 2025 15:02
@ahmadshaheer ahmadshaheer requested a review from YounixM as a code owner February 5, 2025 15:02
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Changes requested. Reviewed everything up to 7535ad8 in 2 minutes and 4 seconds

More details
  • Looked at 1312 lines of code in 25 files
  • Skipped 0 files when reviewing.
  • Skipped posting 5 drafted comments based on config settings.
1. frontend/src/pages/Integrations/IntegrationsList.tsx:112
  • Draft comment:
    Avoid using inline styles. Instead of <div style={{ display: 'flex', gap: '10px' }}> use a CSS class and design tokens to maintain consistency.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. frontend/src/container/CloudIntegrationPage/ServicesSection/ServicesTabs.tsx:66
  • Draft comment:
    Inline style object used in the Select component (style={{ width: '100%' }}). Move this style to an external CSS class to follow best practices.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
3. frontend/src/container/CloudIntegrationPage/HeroSection/HeroSection.tsx:12
  • Draft comment:
    Avoid using inline styles for background images; move this styling to a dedicated CSS class.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
4. frontend/src/pages/Integrations/IntegrationsList.tsx:112
  • Draft comment:
    Avoid using inline styles for layout (e.g., 'display: flex', 'gap: 10px'); instead, define these styles in a CSS class.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
5. frontend/src/container/CloudIntegrationPage/ServicesSection/ServicesTabs.tsx:67
  • Draft comment:
    Avoid inline styles on components; move the style property (e.g., width: '100%') to a CSS rule to maintain design consistency.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.

Workflow ID: wflow_IqleRuYYy5qS4IOx


Want Ellipsis to fix these issues? Tag @ellipsis-dev in a comment. You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good to me! Incremental review on 1d67fd1 in 1 minute and 6 seconds

More details
  • Looked at 214 lines of code in 8 files
  • Skipped 0 files when reviewing.
  • Skipped posting 10 drafted comments based on config settings.
1. frontend/src/api/Integrations/removeAwsIntegrationAccount.ts:7
  • Draft comment:
    Removing the try/catch block eliminates local error handling. Ensure errors are caught upstream or reintroduce error handling.
  • Reason this comment was not posted:
    Decided after close inspection that this draft comment was likely wrong and/or not actionable: usefulness confidence = 30% vs. threshold = 50%
    The function's return type includes ErrorResponse, implying errors should be handled. Removing try/catch means axios errors will propagate up. This could be fine if there's global error handling, but we can't see that context. The comment is speculative without seeing the error handling architecture.
    I might be wrong about needing local error handling - many apps use global error boundaries or middleware. The original error handling might have been redundant.
    While global error handling might exist, the function's return type contract suggests it should handle and transform errors itself.
    The comment raises a valid concern about error handling that affects the function's contract, but it's too speculative without more context about the error handling architecture.
2. frontend/src/container/CloudIntegrationPage/HeroSection/components/RenderConnectionParams.tsx:13
  • Draft comment:
    Removing the '!connectionParams' check may cause the form fields to render even when 'connectionParams' is null. Verify this is the desired behavior.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50%
    The comment is asking the PR author to verify if the behavior is intended, which violates the rule against asking for confirmation of intention. It does not provide a specific suggestion or ask for a test to be written. Therefore, it should be removed.
3. frontend/src/container/CloudIntegrationPage/HeroSection/components/RemoveIntegrationAccount.scss:46
  • Draft comment:
    Removal of the '.remove-integration-modal' styles might affect the modal layout. Confirm that the intended styling changes are complete.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50%
    The comment is asking the PR author to confirm their intention regarding the removal of styles, which violates the rule against asking for confirmation of intention. It does not provide a specific suggestion or actionable feedback.
4. frontend/src/container/CloudIntegrationPage/HeroSection/components/RemoveIntegrationAccount.tsx:42
  • Draft comment:
    Telemetry event update looks intentional; just verify that it aligns with updated analytics requirements.
  • Reason this comment was not posted:
    Confidence changes required: 0% <= threshold 50%
    None
5. frontend/src/api/Integrations/removeAwsIntegrationAccount.ts:7
  • Draft comment:
    Removing the try-catch block means errors from axios.post will now be thrown rather than returning an ErrorResponse. Ensure that error handling is properly managed by the caller (e.g., via React Query’s onError).
  • Reason this comment was not posted:
    Marked as duplicate.
6. frontend/src/container/CloudIntegrationPage/HeroSection/components/RemoveIntegrationAccount.scss:46
  • Draft comment:
    The CSS block for .remove-integration-modal__text has been removed. Confirm that the new layout (using
    tags in the TSX) provides the desired spacing.
  • Reason this comment was not posted:
    Marked as duplicate.
7. frontend/src/container/CloudIntegrationPage/HeroSection/components/RemoveIntegrationAccount.tsx:41
  • Draft comment:
    Telemetry event name updated to AWS_INTEGRATION_ACCOUNT_REMOVED. Verify that this aligns with analytics standards and that all related systems are updated accordingly.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50%
    None
8. frontend/src/container/CloudIntegrationPage/HeroSection/components/RemoveIntegrationAccount.tsx:84
  • Draft comment:
    Using
    tags for spacing in the modal text works but consider using semantic HTML (e.g.

    tags) for better accessibility and maintainability.

  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50%
    None
9. frontend/src/container/CloudIntegrationPage/HeroSection/components/RenderConnectionParams.tsx:13
  • Draft comment:
    The conditional rendering logic was changed by removing the explicit '!connectionParams' check. Confirm that when connectionParams is null, the form fields should indeed render.
  • Reason this comment was not posted:
    Marked as duplicate.
10. frontend/src/pages/Integrations/utils.ts:22
  • Draft comment:
    The telemetry event string for AWS_INTEGRATION_ACCOUNT_REMOVED was updated (trailing space removed). This looks correct, just ensure consistency across the codebase.
  • Reason this comment was not posted:
    Confidence changes required: 0% <= threshold 50%
    None

Workflow ID: wflow_8CrAPScivgRdOfo3


You can customize Ellipsis with 👍 / 👎 feedback, review rules, user-specific overrides, quiet mode, and more.

@ahmadshaheer ahmadshaheer enabled auto-merge (squash) February 6, 2025 09:23
@ahmadshaheer ahmadshaheer merged commit c316491 into main Feb 6, 2025
14 of 16 checks passed
@ahmadshaheer ahmadshaheer deleted the feat/aws-integration-changes branch February 6, 2025 10:43
SagarRajput-7 pushed a commit that referenced this pull request Feb 10, 2025
* fix: update AWS accounts API response to return accounts list

* feat: display skeleton UI for account actions and refactored rendering logic

* chore: update AWS service naming from "AWS Web Services" to "Amazon Web Services"

* feat: aws integration success modal changes

* feat: auto-select first service when no service is active

* feat: display 'enable service' if service hasn't been configured and 'Configure (x/2)' if configured

* fix: display no data yet if status is not available

* feat: properly handle remove integration account flow

* fix: rename accountId param to cloudAccountId

* fix: update the aws service list and details api parameter from account_id to cloud_account_id

* fix: fix the issue of stale service config modal enabled/disabled state

* chore: improve the UI of configure button

* feat: add connection parameters support for AWS cloud integration

* feat: add optional link support for cloud service dashboards

* fix: get the correct supported signals count + a minor refactoring

* fix: remove cloudAccountId on success of account remove

* chore: update the remove integration copy

* refactor: add react query key for AWS connection parameters

* fix: correct typo in integration loading state variable name

* refactor: move skeleton inline styles to style file and do overall refactoring

* chore: address the requested changes
hudsongeovane pushed a commit to hudsongeovane/signoz that referenced this pull request Feb 22, 2025
* fix: update AWS accounts API response to return accounts list

* feat: display skeleton UI for account actions and refactored rendering logic

* chore: update AWS service naming from "AWS Web Services" to "Amazon Web Services"

* feat: aws integration success modal changes

* feat: auto-select first service when no service is active

* feat: display 'enable service' if service hasn't been configured and 'Configure (x/2)' if configured

* fix: display no data yet if status is not available

* feat: properly handle remove integration account flow

* fix: rename accountId param to cloudAccountId

* fix: update the aws service list and details api parameter from account_id to cloud_account_id

* fix: fix the issue of stale service config modal enabled/disabled state

* chore: improve the UI of configure button

* feat: add connection parameters support for AWS cloud integration

* feat: add optional link support for cloud service dashboards

* fix: get the correct supported signals count + a minor refactoring

* fix: remove cloudAccountId on success of account remove

* chore: update the remove integration copy

* refactor: add react query key for AWS connection parameters

* fix: correct typo in integration loading state variable name

* refactor: move skeleton inline styles to style file and do overall refactoring

* chore: address the requested changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants