Fix date parsing for Checkvist API format
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
This commit is contained in:
parent
fa6b93e564
commit
e4862b8e9b
12 changed files with 241 additions and 30 deletions
4
testdata/checklists/list.json
vendored
4
testdata/checklists/list.json
vendored
|
|
@ -8,7 +8,7 @@
|
|||
"task_count": 10,
|
||||
"task_completed": 3,
|
||||
"tags_as_text": "",
|
||||
"updated_at": "2026-01-14T10:00:00Z"
|
||||
"updated_at": "2026/01/14 10:00:00 +0000"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
|
|
@ -19,6 +19,6 @@
|
|||
"task_count": 25,
|
||||
"task_completed": 12,
|
||||
"tags_as_text": "work, important",
|
||||
"updated_at": "2026-01-13T15:30:00Z"
|
||||
"updated_at": "2026/01/13 15:30:00 +0000"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
2
testdata/checklists/list_archived.json
vendored
2
testdata/checklists/list_archived.json
vendored
|
|
@ -8,6 +8,6 @@
|
|||
"task_count": 50,
|
||||
"task_completed": 50,
|
||||
"tags_as_text": "",
|
||||
"updated_at": "2025-06-01T09:00:00Z"
|
||||
"updated_at": "2025/06/01 09:00:00 +0000"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
2
testdata/checklists/single.json
vendored
2
testdata/checklists/single.json
vendored
|
|
@ -7,5 +7,5 @@
|
|||
"task_count": 10,
|
||||
"task_completed": 3,
|
||||
"tags_as_text": "",
|
||||
"updated_at": "2026-01-14T10:00:00Z"
|
||||
"updated_at": "2026/01/14 10:00:00 +0000"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue