Руководство Melbis Shop: оглавление
Пишет в репозиторий: создаёт, правит и удаляет темы, добавляет записи.
«Репозиторий → Изменение данных» (AGENT_REPO_WRITE).
Каждое действие пропускает ещё флаг раздела — «Репозиторий».
| Параметр | Тип | Что это |
|---|---|---|
action |
строка | topic_create, topic_update,
topic_remove или store_write |
[repo] |
число | номер раздела из repo_list — для
topic_create |
[topic] |
число | номер темы из topic_list — для остальных действий |
[name] |
строка | имя темы; для topic_create обязательно |
[descr] |
строка | что в теме: по нему другие решают, читать ли её |
[params] |
строка | свободные слова темы, одна строка — по ним тему тоже находят |
[author] |
строка | кто пишет запись: модель, её усилие и тому подобное; для
store_write обязательно |
[comment] |
строка | одна строка о том, что запись изменила |
[body] |
строка | текст записи — всё состояние темы; для store_write
обязательно |
[body_source] |
строка | файл UTF-8 на этом компьютере — абсолютный путь или путь от папки
магазина — с текстом записи, вместо body |
[appendix] |
строка | данные к записи, которые читают только когда они нужны |
[appendix_source] |
строка | файл UTF-8 с приложением, вместо appendix |
Новая тема в разделе, пока без записей. Имя темы в разделе одно, регистр не различается.
{"topic": 1, "name": "Телескопы Levenhuk", "saved": "created"}Меняет name, descr и params
темы; не указанное поле остаётся прежним.
{"topic": 2, "name": "Окуляры", "saved": "updated"}Удаляет тему сразу со всеми её записями.
{"topic": 2, "name": "Окуляры", "records": 5}records — сколько записей ушло вместе с темой.
Новая запись темы. Запись не меняется: последняя — текущее состояние
темы, ранние — её история. Человек записи — логин сессии, время ставит
магазин. Метка порядка байтов в начале файла *_source
отбрасывается.
{"record": 2, "topic": 1, "name": "Телескопы Levenhuk", "size": 158}size — размер body в байтах.
| Ответ | Когда |
|---|---|
action is one of topic_create, topic_update, topic_remove, store_write |
нет action или оно другое |
repo is the number of a section…,
topic is the number of a topic… |
номер не указан или это не целое число больше нуля |
No section … is open to you - repo_list shows yours |
раздела нет, это папка или у агента в нём нет ни одного флага |
No topic … - topic_list of its section shows them |
темы с таким номером нет |
ACCESS_DENIED: your rights in section […] do not hold … |
в разделе нет флага, который нужен действию |
name is required - the name of the topic |
у новой темы нет имени или оно пустое |
The section has topic […] already, id … - write into it |
тема с таким именем в разделе уже есть — при создании |
The section has topic […] already, id … - give this one another name |
то же при переименовании |
Nothing to change - topic_update takes name, descr or params |
topic_update без полей |
author is required… |
у записи нет author |
body is required - the text of the record |
у записи нет body |
body or body_source, not both…,
appendix or appendix_source, not both… |
указаны оба |
No such file: …,
… is not utf-8 text - save it in utf-8. |
файла *_source нет или он не в UTF-8 |
Общие отказы — «Ответы и отказы».