diff options
author | Benjamin Morrison <ben@gbmor.dev> | 2021-10-21 21:31:17 -0400 |
---|---|---|
committer | Benjamin Morrison <ben@gbmor.dev> | 2021-10-21 21:35:23 -0400 |
commit | dd3d87bd97e41c77eea270812d338139fd87b9fc (patch) | |
tree | 5ee99ab38e00c41190f82bef4b08a298c914f329 /svc/leveldb.go | |
parent | dcb254618dc5541bb50c488c96b5e02c36951c06 (diff) | |
download | getwtxt-dd3d87bd97e41c77eea270812d338139fd87b9fc.tar.gz |
delete a user, new config option for admin pass. pass is bcrypt hashed on startup and not stored in plaintext.
Diffstat (limited to 'svc/leveldb.go')
-rw-r--r-- | svc/leveldb.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/svc/leveldb.go b/svc/leveldb.go index 5fb4a45..a429934 100644 --- a/svc/leveldb.go +++ b/svc/leveldb.go @@ -33,6 +33,27 @@ type dbLevel struct { db *leveldb.DB } +func (lvl *dbLevel) delUser(userURL string) error { + twtxtCache.Mu.RLock() + defer twtxtCache.Mu.RUnlock() + + userStatuses := twtxtCache.Users[userURL].Status + var dbBasket = &leveldb.Batch{} + + dbBasket.Delete([]byte(userURL + "*Nick")) + dbBasket.Delete([]byte(userURL + "*URL")) + dbBasket.Delete([]byte(userURL + "*IP")) + dbBasket.Delete([]byte(userURL + "*Date")) + dbBasket.Delete([]byte(userURL + "*LastModified")) + + for i := range userStatuses { + rfc := i.Format(time.RFC3339) + dbBasket.Delete([]byte(userURL + "*Status*" + rfc)) + } + + return lvl.db.Write(dbBasket, nil) +} + // Called intermittently to commit registry data to // a LevelDB database. func (lvl *dbLevel) push() error { |