[feature] Read + Write tombstones for deleted Actors (#1005)

* [feature] Read + Write tombstones for deleted Actors

* copyTombstone

* update to use resultcache instead of old ttl cache

Signed-off-by: kim <grufwub@gmail.com>

* update go-cache library to fix result cache capacity / ordering bugs

Signed-off-by: kim <grufwub@gmail.com>

* bump go-cache/v3 to v3.1.6 to fix bugs

Signed-off-by: kim <grufwub@gmail.com>

* switch on status code

* better explain ErrGone reasoning

Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: kim <grufwub@gmail.com>
This commit is contained in:
tobi 2022-11-11 12:18:38 +01:00 committed by GitHub
commit edcee14d07
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 3808 additions and 7 deletions

View file

@ -88,6 +88,7 @@ type DBService struct {
db.Status
db.Timeline
db.User
db.Tombstone
conn *DBConn
}
@ -181,12 +182,16 @@ func NewBunDBService(ctx context.Context) (db.DB, error) {
status := &statusDB{conn: conn, cache: cache.NewStatusCache()}
emoji := &emojiDB{conn: conn, cache: cache.NewEmojiCache()}
timeline := &timelineDB{conn: conn}
tombstone := &tombstoneDB{conn: conn}
// Setup DB cross-referencing
accounts.status = status
status.accounts = accounts
timeline.status = status
// Initialize db structs
tombstone.init()
ps := &DBService{
Account: accounts,
Admin: &adminDB{
@ -228,7 +233,8 @@ func NewBunDBService(ctx context.Context) (db.DB, error) {
conn: conn,
cache: userCache,
},
conn: conn,
Tombstone: tombstone,
conn: conn,
}
// we can confidently return this useable service now