Skip to content
This repository was archived by the owner on Jun 11, 2025. It is now read-only.

Feature/notification n alert#330

Merged
abdheshnayak merged 6 commits into
mainfrom
feature/notification-n-alert
Jun 6, 2024
Merged

Feature/notification n alert#330
abdheshnayak merged 6 commits into
mainfrom
feature/notification-n-alert

Conversation

@abdheshnayak
Copy link
Copy Markdown
Contributor

@abdheshnayak abdheshnayak commented Jun 6, 2024

  • added support of basic notifications and alerts push

Summary by Sourcery

This pull request introduces basic notifications and alerts support, including email, Slack, Telegram, and webhook notifications. It adds GraphQL schema and resolvers for managing notifications and subscriptions, implements notification processing and delivery mechanisms, and refactors email template handling. Additionally, it updates the comms service to use a unified email template structure and enhances the domain layer to include notification and subscription management.

  • New Features:
    • Introduced basic notifications and alerts support, including email, Slack, Telegram, and webhook notifications.
    • Added GraphQL schema and resolvers for managing notifications and subscriptions.
    • Implemented notification processing and delivery mechanisms for various channels.
  • Enhancements:
    • Refactored email template handling to support new alert notifications.
    • Updated the comms service to use a unified email template structure.
    • Enhanced the domain layer to include notification and subscription management.
  • Build:
    • Added new Taskfile tasks for generating GraphQL schema and constants.
  • Deployment:
    • Updated the gateway configuration to include the comms API schema.
  • Chores:
    • Updated dependencies in go.mod to the latest versions.

@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Jun 6, 2024

Reviewer's Guide by Sourcery

This pull request adds support for basic notifications and alerts push functionality. The changes include the implementation of notification processing, email template parsing, and integration with various notification channels such as email, Slack, Telegram, and webhooks. Additionally, it introduces GraphQL resolvers for managing notification configurations and subscriptions.

File-Level Changes

Files Changes
apps/comms/internal/app/app.go
apps/comms/internal/app/grpc-server.go
apps/comms/internal/framework/framework.go
apps/comms/Taskfile.yml
apps/comms/internal/env/env.go
apps/comms/main.go
apps/comms/internal/app/graph/model/models_gen.go
apps/comms/internal/app/graph/notificationconf.resolvers.go
apps/comms/internal/app/gqlgen.yml
apps/comms/internal/app/graph/schema.resolvers.go
apps/comms/internal/app/graph/subscription.resolvers.go
apps/comms/internal/app/graph/notification.resolvers.go
apps/comms/internal/app/graph/util.go
apps/comms/internal/app/graph/matchfilter.resolvers.go
apps/comms/internal/app/graph/generated/federation.go
apps/comms/internal/app/graph/common-types.resolvers.go
apps/comms/internal/app/graph/resolver.go
Added support for GraphQL resolvers and schema for notifications and configurations.
apps/comms/internal/domain/process-notification.go
apps/comms/internal/domain/mail-parser.go
apps/comms/internal/domain/notification.go
apps/comms/internal/domain/notification-config.go
apps/comms/internal/domain/subscription.go
apps/comms/internal/domain/api.go
apps/comms/internal/domain/context.go
apps/comms/internal/domain/main.go
Implemented domain logic for handling notifications, configurations, and subscriptions.
apps/comms/internal/domain/entities/notification-configuration.go
apps/comms/internal/domain/entities/subscription.go
apps/comms/internal/domain/entities/field-constants/generated_constants.go
apps/comms/internal/domain/entities/field-constants/generated_constants_notification.go
apps/comms/internal/domain/entities/field-constants/gen.go
Added entities and field constants for notifications and configurations.
apps/comms/email-templates/alert/email.html Added new email template for alerts.
apps/gateway/generate-schema.sh
apps/gateway/supergraph.yml
Added comms-api schema generation and subgraph configuration.
common/kafka-topic-name.go Added NotificationTopicName constant.
pkg/http-server/http-server.go Added IAMGrpcAddr field to ServerArgs struct.
pkg/egob/main.go Added utility functions for encoding and decoding objects.
apps/comms/internal/app/process-notification.go Added notification processing logic.
apps/comms/internal/app/notify-publish.go Added resource event publisher implementation.

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey @abdheshnayak - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.

@abdheshnayak abdheshnayak merged commit f21db2a into main Jun 6, 2024
@abdheshnayak abdheshnayak deleted the feature/notification-n-alert branch June 6, 2024 07:43
abdheshnayak added a commit that referenced this pull request Nov 5, 2024
* ✨ Initial Implementation of Notifications and Alers

* ✨ Added notification support in comms

* 🎨 Implemented resolvers

* 🎨 Consts updated

* ✨ Added gql to comms
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant