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

Refactor data model and syncing + implement NATS consumer #116

Merged
merged 45 commits into from
Oct 27, 2024

Conversation

FelixTJDietrich
Copy link
Collaborator

@FelixTJDietrich FelixTJDietrich commented Oct 13, 2024

Motivation

We will need most of the GitHub entities and properties eventually. Introducing them later will be a higher cognitive load and will lead to some migration issues.

Description

  • Refactor data model
    • Rename codereview module to gitprovider (maybe there is an even better name)
    • Add Issue
    • Change PullRequest to be subclass of Issue
    • Add Milestone
    • Add most of the relationships
  • Introduce NATS consumer
    • Receive events via MessageHandlers that are automatically registered
    • Process pull_request payloads (TODO: process repos)
    • Process issues payloads
    • Process pull_request_review payloads
    • Process pull_request_review_comment payloads
    • Process issue_comment payloads
    • Process label payloads?
    • Process milestone payloads?
  • Refactor syncing code for the future (prepares for GitLab integration, splits syncing code by entity, links entities)
    • Share code with webhook payloads to process entites
    • Link all relationships
  • Fix client code (controllers, DTOs, etc.)

Screenshots (if applicable)

Checklist

General

  • PR title is clear and descriptive
  • PR description explains the purpose and changes
  • Code follows project coding standards
  • Self-review of the code has been done
  • Changes have been tested locally
  • Screenshots have been attached (if applicable)
  • Documentation has been updated (if applicable)

Client (if applicable)

  • UI changes look good on all screen sizes and browsers
  • No console errors or warnings
  • User experience and accessibility have been tested
  • Added Storybook stories for new components
  • Components follow design system guidelines (if applicable)

Server (if applicable)

  • Code is performant and follows best practices
  • No security vulnerabilities introduced
  • Proper error handling has been implemented
  • Added tests for new functionality
  • Changes have been tested in different environments (if applicable)

@github-actions github-actions bot added application-server feature size:XXL This PR changes 1000+ lines, ignoring generated files. labels Oct 13, 2024
@FelixTJDietrich FelixTJDietrich marked this pull request as draft October 13, 2024 21:46
@FelixTJDietrich FelixTJDietrich marked this pull request as ready for review October 26, 2024 19:22
@FelixTJDietrich FelixTJDietrich changed the title WIP: Refactor data model and syncing + implement NATS consumer Refactor data model and syncing + implement NATS consumer Oct 26, 2024
@FelixTJDietrich FelixTJDietrich merged commit fb161fe into develop Oct 27, 2024
5 checks passed
@FelixTJDietrich FelixTJDietrich deleted the feature/nats-consumer branch October 27, 2024 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
application-server client feature size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants