MapExternalTask converts an ExternalTask to taskmd fields using the FieldMap.
(ext ExternalTask, fm FieldMap)
| 15 | |
| 16 | // MapExternalTask converts an ExternalTask to taskmd fields using the FieldMap. |
| 17 | func MapExternalTask(ext ExternalTask, fm FieldMap) MappedTask { |
| 18 | m := MappedTask{ |
| 19 | Title: ext.Title, |
| 20 | Description: ext.Description, |
| 21 | URL: ext.URL, |
| 22 | } |
| 23 | |
| 24 | m.Status = mapField(ext.Status, fm.Status, "pending") |
| 25 | m.Priority = mapField(ext.Priority, fm.Priority, "") |
| 26 | |
| 27 | if fm.AssigneeToOwner { |
| 28 | m.Owner = ext.Assignee |
| 29 | } |
| 30 | |
| 31 | if fm.LabelsToTags { |
| 32 | for _, label := range ext.Labels { |
| 33 | m.Tags = append(m.Tags, normalizeLabel(label)) |
| 34 | } |
| 35 | } |
| 36 | |
| 37 | return m |
| 38 | } |
| 39 | |
| 40 | // normalizeLabel lowercases and replaces spaces with hyphens. |
| 41 | func normalizeLabel(label string) string { |