code-corps / code-corps/code-corps-api

Reorganize GitHub modules

Open
#1,092 4 comments 0 reactions 1 assignee Claimed by @begedin View on GitHub
in progress needs estimate
Dominant language
Elixir
Stars
234
Forks
82
PR merge metrics
No merged PRs in 30d

Description

# Problem

Much of the GitHub syncing can be reorganized as follows:

- [x] `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.
- [x] `ChangesetBuilder`s
- [x] need to move out event to wherever syncing goes
- [x] `map` can be removed
- [x] 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`)
- [x] `CommentDeleter` needs to move out of `Event`
- [x] `CommentDeleter` needs to delete `GithubComment`
- [x] `ChangesetBuilder`s 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


Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.