go-shiori / shiori

Simple bookmark manager built with Go
MIT License
9.28k stars 551 forks source link

Unify datetime manipulation for the multiple database engines #909

Open fmartingr opened 4 months ago

fmartingr commented 4 months ago

Data

Describe the bug / actual behavior

Having multiple database engines means storing data in potentially different data types. That's the case with the datetime datatype. We store it differently for each database engine, returning different results in the API.

We need to add a layer of abstraction on our database or DTO structs so that the API returns the same datetime format.

We need to take into consideration that every datetime in database is UTC, since SQLite for example uses a string to store the datetimes (it does not have any time specific datatype).