# 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
Problem
Much of the GitHub syncing can be reorganized as follows:
CommentSyncerandTaskSyncerneed to move out ofEvent; structure could be like:sync/issue/issue.exSync.Issue(main entry point for handling the syncing of an issue)sync/issue/body_parser.exSync.Issue.BodyParser(parses issue body)sync/issue/task/task.exSync.Issue.Task(syncs the issue to aTask)sync/issue/task/changeset.exSync.Issue.Task.Changeset(deals with changesets)sync/issue/github_issue/github_issue.exSync.Issue.GithubIssue(syncs the issue to aGithubIssue)ChangesetBuildersmapcan be removedTask,Comment, etc)GithubRepoinstallation events need to havecommon/repo_finder(renamed torepo_linker)CommentDeleterneeds to move out ofEventCommentDeleterneeds to deleteGithubCommentChangesetBuilders needcreate_andupdate_functions made public,build_fns removed, unit tests addedfind_or_initandcommitwith insert_or_update and find