Implement uninstall

Also add RemovePackage in database implementation (boltdb is not tested yet)

Add test case for uninstall
This commit is contained in:
Ettore Di Giacinto
2019-11-24 00:16:12 +01:00
parent 0d7b2cf448
commit a8b350fd8e
6 changed files with 97 additions and 2 deletions

View File

@@ -230,3 +230,19 @@ func (db *InMemoryDatabase) RemovePackageFiles(p Package) error {
delete(db.FileDatabase, p.GetFingerPrint())
return nil
}
func (db *InMemoryDatabase) RemovePackage(p Package) error {
for _, k := range db.GetPackages() {
pack, err := db.GetPackage(k)
if err != nil {
return err
}
if pack.Matches(p) {
db.Lock()
delete(db.Database, k)
db.Unlock()
return nil
}
}
return errors.New("Package not found")
}