mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 19:22:24 -05:00
* improved server shutdown with more precise shutdown of modules + deferring of ALL of it
* move delivery and workers into separate files
* add worker task model and Serialize() / Deserialize() methods for message types
* start adding message serialize / deserialize tests
* start adding test cases
* update body rewinding to rely on standard library mechanism of r.GetBody()
* remove request rewinding (http.Client{} should already handle this)
* standard library already handles rewinding
* improved code comment
* move the newPOST() function contents to prepare(), fits better with current API
* add Serialize() / Deserialize() implementations for Delivery{} type
* finish writing FromClientAPI sserialize / deserialize tests
* start adding FromFediAPI{} serialize / deserialize test cases
* fix FromFediAPI{} tests
* add tests for delivery message type
* fix repeat code
* missing license header
* use testrig status and accounts for marshal / unmarshaling tests
* add a specific test for checking account RSA keys are preserved
|
||
|---|---|---|
| .. | ||
| account.go | ||
| accountnote.go | ||
| accountsettings.go | ||
| accountstats.go | ||
| adminaction.go | ||
| application.go | ||
| block.go | ||
| client.go | ||
| domainallow.go | ||
| domainblock.go | ||
| domainpermission.go | ||
| emaildomainblock.go | ||
| emoji.go | ||
| emojicategory.go | ||
| filter.go | ||
| follow.go | ||
| followrequest.go | ||
| headerfilter.go | ||
| instance.go | ||
| list.go | ||
| marker.go | ||
| mediaattachment.go | ||
| mention.go | ||
| move.go | ||
| notification.go | ||
| poll.go | ||
| README.md | ||
| report.go | ||
| routersession.go | ||
| rule.go | ||
| status.go | ||
| statusbookmark.go | ||
| statusfave.go | ||
| statusmute.go | ||
| tag.go | ||
| thread.go | ||
| threadmute.go | ||
| token.go | ||
| tombstone.go | ||
| user.go | ||
| usermute.go | ||
| workertask.go | ||
A note on when we should set data structures linked to objects in the database to use the
bun nullzero tag -- this should only be done if the member type is a pointer, or if the
this primitive type is literally invalid with an empty value (e.g. media IDs which when
empty signifies a null database value, compared to say an account note which when empty
could mean either an empty note OR null database value).
Obviously it is a little more complex than this in practice, but keep it in mind!