You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23fc70f4e6
* add support for extracting Updated field from Statusable implementers * add support for status edits in the database, and update status dereferencer to handle them * remove unused AdditionalInfo{}.CreatedAt * remove unused AdditionalEmojiInfo{}.CreatedAt * update new mention creation to use status.UpdatedAt * remove mention.UpdatedAt, fixes related to NewULIDFromTime() change * add migration to remove Mention{}.UpdatedAt field * add migration to add the StatusEdit{} table * start adding tests, add delete function for status edits * add more of status edit migrations, fill in more of the necessary edit delete functionality * remove unused function * allow generating gotosocial compatible ulid via CLI with `go run ./cmd/gen-ulid` * add StatusEdit{} test models * fix new statusedits sql * use model instead of table name * actually remove the Mention.UpdatedAt field... * fix tests now new models are added, add more status edit DB tests * fix panic wording * add test for deleting status edits * don't automatically set `updated_at` field on updated statuses * flesh out more of the dereferencer status edit tests, ensure updated at field set on outgoing AS statuses * remove media_attachments.updated_at column * fix up more tests, further complete the dereferencer status edit tests * update more status serialization tests not expecting 'updated' AS property * gah!! json serialization tests!! * undo some gtscontext wrapping changes * more serialization test fixing 🥲 * more test fixing, ensure the edit.status_id field is actually set 🤦 * fix status edit test * grrr linter * add edited_at field to apimodel status * remove the choice of paging on the timeline public filtered test (otherwise it needs updating every time you add statuses ...) * ensure that status.updated_at always fits chronologically * fix more serialization tests ... * add more code comments * fix envparsing * update swagger file * properly handle media description changes during status edits * slight formatting tweak * code comment |
3 weeks ago | |
---|---|---|
.. | ||
README.md | 3 years ago | |
account.go | 8 months ago | |
accountnote.go | 1 year ago | |
accountsettings.go | 4 weeks ago | |
accountstats.go | 8 months ago | |
adminaction.go | 4 weeks ago | |
advancedmigration.go | 5 months ago | |
application.go | 1 year ago | |
block.go | 1 year ago | |
client.go | 1 year ago | |
common.go | 4 weeks ago | |
conversation.go | 1 month ago | |
domainallow.go | 1 month ago | |
domainblock.go | 1 month ago | |
domainpermission.go | 4 weeks ago | |
domainpermissiondraft.go | 1 month ago | |
domainpermissionexclude.go | 1 month ago | |
emaildomainblock.go | 1 year ago | |
emoji.go | 6 months ago | |
emojicategory.go | 1 year ago | |
filter.go | 2 months ago | |
follow.go | 1 year ago | |
followrequest.go | 1 year ago | |
headerfilter.go | 11 months ago | |
instance.go | 3 weeks ago | |
interaction.go | 3 months ago | |
interactionpolicy.go | 4 weeks ago | |
list.go | 3 months ago | |
marker.go | 1 year ago | |
mediaattachment.go | 3 weeks ago | |
mention.go | 3 weeks ago | |
move.go | 10 months ago | |
notification.go | 4 weeks ago | |
poll.go | 1 year ago | |
report.go | 1 year ago | |
routersession.go | 1 year ago | |
rule.go | 1 year ago | |
sinbinstatus.go | 4 months ago | |
status.go | 3 weeks ago | |
statusbookmark.go | 1 year ago | |
statusedit.go | 3 weeks ago | |
statusfave.go | 5 months ago | |
statusmute.go | 1 year ago | |
tag.go | 5 months ago | |
thread.go | 1 year ago | |
threadmute.go | 1 year ago | |
token.go | 1 year ago | |
tombstone.go | 1 year ago | |
user.go | 9 months ago | |
usermute.go | 7 months ago | |
workertask.go | 5 months ago |
README.md
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!