Fix scene file name parser update (#998)

* Fix conversion of input maps
* Only set changed scene values in parser update
This commit is contained in:
WithoutPants 2020-12-24 09:03:23 +11:00 committed by GitHub
parent e84c92355e
commit c8bcaaf27d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 14 deletions

View file

@ -39,7 +39,14 @@ func getUpdateInputMaps(ctx context.Context) []map[string]interface{} {
input, _ := args[updateInputField]
var ret []map[string]interface{}
if input != nil {
ret, _ = input.([]map[string]interface{})
// convert []interface{} into []map[string]interface{}
iSlice, _ := input.([]interface{})
for _, i := range iSlice {
m, _ := i.(map[string]interface{})
if m != nil {
ret = append(ret, m)
}
}
}
return ret

View file

@ -81,19 +81,12 @@ export class SceneParserResult {
public toSceneUpdateInput() {
return {
id: this.id,
details: this.scene.details,
url: this.scene.url,
rating: this.rating.isSet ? this.rating.value : this.scene.rating,
gallery_id: this.scene.gallery?.id,
title: this.title.isSet ? this.title.value : this.scene.title,
date: this.date.isSet ? this.date.value : this.scene.date,
studio_id: this.studio.isSet ? this.studio.value : this.scene.studio?.id,
performer_ids: this.performers.isSet
? this.performers.value
: this.scene.performers.map((performer) => performer.id),
tag_ids: this.tags.isSet
? this.tags.value
: this.scene.tags.map((tag) => tag.id),
rating: this.rating.isSet ? this.rating.value : undefined,
title: this.title.isSet ? this.title.value : undefined,
date: this.date.isSet ? this.date.value : undefined,
studio_id: this.studio.isSet ? this.studio.value : undefined,
performer_ids: this.performers.isSet ? this.performers.value : undefined,
tag_ids: this.tags.isSet ? this.tags.value : undefined,
};
}
}