Accept both v1 and v2 spec for editcharacterattributes endpoint

This commit is contained in:
artisticMink 2023-11-05 16:44:31 +01:00
parent 42d838a0b3
commit c584da2ea9
3 changed files with 6 additions and 4 deletions

View File

@ -81,7 +81,7 @@ class CharacterContextMenu {
body: JSON.stringify(data),
}).then((response) => {
if (response.ok) toggleFavoriteHighlight(characterId)
else toastr.error('Character not saved. Error: ' + response.json()?.message)
else response.json().then(json => toastr.error('Character not saved. Error: ' + json.message + '. Field: ' + json.error));
});
}

View File

@ -1189,7 +1189,8 @@ app.post("/v2/editcharacterattribute", jsonParser, async function (request, resp
const validator = new TavernCardValidator(character);
if (true === validator.validateV2()) {
//Accept either V1 or V2.
if (validator.validate()) {
await charaWrite(
avatarPath,
JSON.stringify(character),
@ -1198,7 +1199,8 @@ app.post("/v2/editcharacterattribute", jsonParser, async function (request, resp
'Character saved'
);
} else {
response.status(400).send({message: `Validation failed for card ${character.name}`, field: validator.lastValidationError});
console.log(validator.lastValidationError)
response.status(400).send({message: `Validation failed for ${character.name}`, error: validator.lastValidationError});
}
} catch (exception) {
response.status(500).send({message: 'Unexpected error while saving character.', error: exception.toString()});

View File

@ -88,7 +88,7 @@ class TavernCardValidator {
const data = this.card.data;
if (!data) {
this.#lastValidationError = 'data';
this.#lastValidationError = 'No tavern card data found';
return false;
}