WIP: implemented logic to update category

This commit is contained in:
Philipp Häfelfinger 2019-04-04 15:35:42 +02:00
parent 0d7ca76b98
commit ca2620d426
1 changed files with 19 additions and 6 deletions

View File

@ -24,14 +24,27 @@ func SynchronizePiwigoCategories(piwigoApi piwigo.PiwigoCategoryApi, db datastor
}
for _, pwgcat := range categories {
cat := datastore.CategoryData{
PiwigoId: pwgcat.Id,
PiwigoParentId: pwgcat.ParentId,
Name: pwgcat.Name,
Key: pwgcat.Key,
dbcat, err := db.GetCategoryByPiwigoId(pwgcat.Id)
if err == datastore.ErrorRecordNotFound {
logrus.Debugf("Adding category %s", pwgcat.Key)
dbcat = datastore.CategoryData{
PiwigoId: pwgcat.Id,
}
} else if err != nil {
return err
}
err = db.SaveCategory(cat)
if dbcat.Name == pwgcat.Name && dbcat.Key == pwgcat.Key && dbcat.PiwigoParentId == pwgcat.ParentId {
logrus.Debugf("No changes for category %s", dbcat.Key)
continue
}
dbcat.Name = pwgcat.Name
dbcat.Key = pwgcat.Key
dbcat.PiwigoParentId = pwgcat.ParentId
err = db.SaveCategory(dbcat)
if err != nil {
return err
}