Skip to content

Reorganize GitHub modules #1092

Open
Open
@joshsmith

Description

@joshsmith

Problem

Much of the GitHub syncing can be reorganized as follows:

  • CommentSyncer and TaskSyncer need to move out of Event; structure could be like:
    • sync/issue/issue.ex Sync.Issue (main entry point for handling the syncing of an issue)
    • sync/issue/body_parser.ex Sync.Issue.BodyParser (parses issue body)
    • sync/issue/task/task.ex Sync.Issue.Task (syncs the issue to a Task)
    • sync/issue/task/changeset.ex Sync.Issue.Task.Changeset (deals with changesets)
    • sync/issue/github_issue/github_issue.ex Sync.Issue.GithubIssue (syncs the issue to a GithubIssue)
    • etc.
  • ChangesetBuilders
    • need to move out event to wherever syncing goes
    • map can be removed
    • naming needs to be rethought to reflect that these are changesets for Code Corps models (Task, Comment, etc)
  • GithubRepo installation events need to have common/repo_finder (renamed to repo_linker)
  • CommentDeleter needs to move out of Event
  • CommentDeleter needs to delete GithubComment
  • ChangesetBuilders need create_ and update_ functions made public, build_ fns removed, unit tests added
  • Replace instances of find_or_init and commit with insert_or_update and find

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions