L3 Data Service - описание ep
EP - Для каждого товара удалить атрибут по имени
Описание:
Сущность - Prosuct. Редактирование поля custom_attributes - jsonb, представление массива атрибутов, где атрибут - поля name, value
После выполнения ep в поле custom_attributes каждого товара не будет существовать атрибута с указанным именем. Удаление атрибута, если такое имя найдено в БД.
Метод:
PATH. url - http://localhost:8833/api/products/attributes/delete?attributeName=example_name.
Params:
key - attributeName, value - name атрибута (имя атрибута)
Возвращаемое значение:
status 200 ОК. Body: String -
"Атрибут был удален у " + count_products + " продуктов"
где, count_products - кол-во продуктов, у которых был по имени найден и удалён атрибут
*Для атрибутов с именем:
internal.product-attributes=
Такие атрибуты тоже будут удалены из БД, но добавятся для товара, если открыть "редактирование атрибутов товара", где value атрибута будет иметь пустое значение "".
EP - Для каждого товара изменить имя атрибута по имени
Описание:
Сущность - Prosuct. Редактирование поля custom_attributes - jsonb, представление массива атрибутов, где атрибут - поля name, value
После выполнения ep в поле custom_attributes каждого товара найденное старое имя будет заменено на новое, если такого значения имени у атрибута ещё нет, иначе вся операция не выполняется и возвращается с ошибкой.
Метод:
PATH. url - http://localhost:8833/api/products/attributes/rename?oldName=example_old_name&newName=example_new_name
Params:
key - oldName, value - example_old_name (имя атрибута)
key - newName, value - example_new_name (имя атрибута)
Exeption:
Транзакция полностью откатывается, если значение параметра newName уже существует хотя бы в одном продукте поля custom_attributes среди полей name массива атрибутов.
Возвращаемое значение:
status 200 ОК. Body: String -
"Имя атрибута было переименованы у " + count_products + " продуктов"
где, count_products - кол-во продуктов, у которых был по имени найден и изменён атрибут
status 500 INTERNAL_SERVER_ERROR. Body:
"Ошибка: Атрибут с именем " + newName + " уже существует в продукте: " + product.toString()"
где, newName - значение нового имени атрибута, которое уже существует в custom_attributes среди полей name массива атрибутов; product - первый встреченный продукт из БД, в котором было встречено поле custom_attributes с значение newName среди полей name массива атрибутов.
*Для атрибутов с именем:
internal.product-attributes=
Имена таких атрибутов тоже будут изменены в БД, но добавятся для товара, если открыть "редактирование атрибутов товара", где value атрибута будет иметь пустое значение "".
EP - Для каждого товара обновить/добавить значение атрибута по имени
Описание:
Сущность - Prosuct. Редактирование поля custom_attributes - jsonb, представление массива атрибутов, где атрибут - поля name, value
После выполнения ep в поле custom_attributes каждого товара будет существовать атрибута с указанным именем и значением. Изменение значения атрибута, если такое имя найдено в БД. Добавление атрибута, если такое имя не было найдено в БД.
Метод:
PATH. url - http://localhost:8833/api/products/attributes/update?name=example_name&value=example_new_value
Params:
key - name, value - example_name (имя атрибута)
key - value, value - example_new_value (значение атрибута)
Возвращаемое значение:
status 200 ОК. Body: String -
"У каждого продукта есть атрибут:\n" + attribute.toString()"
где, attribute - атрибут, который есть в БД у каждого продукта в поле custom_attributes в массива атрибутов.
No Comments