diff options
Diffstat (limited to 'bridge/gitlab/import_notes.go')
-rw-r--r-- | bridge/gitlab/import_notes.go | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/bridge/gitlab/import_notes.go b/bridge/gitlab/import_notes.go deleted file mode 100644 index b38cb371..00000000 --- a/bridge/gitlab/import_notes.go +++ /dev/null @@ -1,147 +0,0 @@ -package gitlab - -import ( - "strings" - - "github.com/xanzy/go-gitlab" -) - -type NoteType int - -const ( - _ NoteType = iota - NOTE_COMMENT - NOTE_TITLE_CHANGED - NOTE_DESCRIPTION_CHANGED - NOTE_CLOSED - NOTE_REOPENED - NOTE_LOCKED - NOTE_UNLOCKED - NOTE_CHANGED_DUEDATE - NOTE_REMOVED_DUEDATE - NOTE_ASSIGNED - NOTE_UNASSIGNED - NOTE_CHANGED_MILESTONE - NOTE_REMOVED_MILESTONE - NOTE_MENTIONED_IN_ISSUE - NOTE_MENTIONED_IN_MERGE_REQUEST - NOTE_UNKNOWN -) - -func (nt NoteType) String() string { - switch nt { - case NOTE_COMMENT: - return "note comment" - case NOTE_TITLE_CHANGED: - return "note title changed" - case NOTE_DESCRIPTION_CHANGED: - return "note description changed" - case NOTE_CLOSED: - return "note closed" - case NOTE_REOPENED: - return "note reopened" - case NOTE_LOCKED: - return "note locked" - case NOTE_UNLOCKED: - return "note unlocked" - case NOTE_CHANGED_DUEDATE: - return "note changed duedate" - case NOTE_REMOVED_DUEDATE: - return "note remove duedate" - case NOTE_ASSIGNED: - return "note assigned" - case NOTE_UNASSIGNED: - return "note unassigned" - case NOTE_CHANGED_MILESTONE: - return "note changed milestone" - case NOTE_REMOVED_MILESTONE: - return "note removed in milestone" - case NOTE_MENTIONED_IN_ISSUE: - return "note mentioned in issue" - case NOTE_MENTIONED_IN_MERGE_REQUEST: - return "note mentioned in merge request" - case NOTE_UNKNOWN: - return "note unknown" - default: - panic("unknown note type") - } -} - -// GetNoteType parse a note system and body and return the note type and it content -func GetNoteType(n *gitlab.Note) (NoteType, string) { - // when a note is a comment system is set to false - // when a note is a different event system is set to true - // because Gitlab - if !n.System { - return NOTE_COMMENT, n.Body - } - - if n.Body == "closed" { - return NOTE_CLOSED, "" - } - - if n.Body == "reopened" { - return NOTE_REOPENED, "" - } - - if n.Body == "changed the description" { - return NOTE_DESCRIPTION_CHANGED, "" - } - - if n.Body == "locked this issue" { - return NOTE_LOCKED, "" - } - - if n.Body == "unlocked this issue" { - return NOTE_UNLOCKED, "" - } - - if strings.HasPrefix(n.Body, "changed title from") { - return NOTE_TITLE_CHANGED, getNewTitle(n.Body) - } - - if strings.HasPrefix(n.Body, "changed due date to") { - return NOTE_CHANGED_DUEDATE, "" - } - - if n.Body == "removed due date" { - return NOTE_REMOVED_DUEDATE, "" - } - - if strings.HasPrefix(n.Body, "assigned to @") { - return NOTE_ASSIGNED, "" - } - - if strings.HasPrefix(n.Body, "unassigned @") { - return NOTE_UNASSIGNED, "" - } - - if strings.HasPrefix(n.Body, "changed milestone to %") { - return NOTE_CHANGED_MILESTONE, "" - } - - if strings.HasPrefix(n.Body, "removed milestone") { - return NOTE_REMOVED_MILESTONE, "" - } - - if strings.HasPrefix(n.Body, "mentioned in issue") { - return NOTE_MENTIONED_IN_ISSUE, "" - } - - if strings.HasPrefix(n.Body, "mentioned in merge request") { - return NOTE_MENTIONED_IN_MERGE_REQUEST, "" - } - - return NOTE_UNKNOWN, "" -} - -// getNewTitle parses body diff given by gitlab api and return it final form -// examples: "changed title from **fourth issue** to **fourth issue{+ changed+}**" -// "changed title from **fourth issue{- changed-}** to **fourth issue**" -// because Gitlab -func getNewTitle(diff string) string { - newTitle := strings.Split(diff, "** to **")[1] - newTitle = strings.Replace(newTitle, "{+", "", -1) - newTitle = strings.Replace(newTitle, "+}", "", -1) - return strings.TrimSuffix(newTitle, "**") -} |