Add custom APITime type with UnmarshalJSON to handle the non-standard
date format returned by the Checkvist API ("2026/01/14 16:07:31 +0000")
instead of the expected RFC3339 format.
Changes:
- Add APITime type with custom JSON marshaling/unmarshaling in models.go
- Replace time.Time with APITime for UpdatedAt/CreatedAt fields in
Checklist, Task, and Note structs
- Add NewAPITime constructor for convenience
- Update test fixtures to use real API date format
- Add comprehensive unit tests for APITime in models_test.go
Fixes: checkvist-api-4qn
34 lines
745 B
JSON
34 lines
745 B
JSON
[
|
|
{
|
|
"id": 101,
|
|
"checklist_id": 1,
|
|
"parent_id": 0,
|
|
"content": "First task",
|
|
"status": 0,
|
|
"position": 1,
|
|
"priority": 0,
|
|
"tags_as_text": "",
|
|
"due": "2026-01-20",
|
|
"assignee_ids": [],
|
|
"comments_count": 0,
|
|
"update_line": "",
|
|
"updated_at": "2026/01/14 10:00:00 +0000",
|
|
"created_at": "2026/01/10 09:00:00 +0000"
|
|
},
|
|
{
|
|
"id": 102,
|
|
"checklist_id": 1,
|
|
"parent_id": 0,
|
|
"content": "Second task",
|
|
"status": 1,
|
|
"position": 2,
|
|
"priority": 1,
|
|
"tags_as_text": "important, urgent",
|
|
"due": "",
|
|
"assignee_ids": [1, 2],
|
|
"comments_count": 3,
|
|
"update_line": "",
|
|
"updated_at": "2026/01/14 11:00:00 +0000",
|
|
"created_at": "2026/01/11 10:00:00 +0000"
|
|
}
|
|
]
|