city raquo ;: Мінськ
},
...
]
Опис:
Метод повертає список магазинів, оновити після запитаної версії (поле «version» з вхідних даних). При кожній зміні даних про магазин на сервері повинен збільшуватися номер версії. Номер версії є глобальним для клієнта і сервера лічильником. Клієнт при запиті відправляє максимальну версію з наявних у нього. Важливою особливістю системи є те, що дані про магазинах ніколи не видаляються, проте їм можна привласнювати неактивний статус (поле «active» з відповіді сервера). Неактивні магазини не відображаються при виборі точки продажу на клієнті.
. Отримання списку категорій (..api/categories)
Вхідні дані:
{
version raquo ;: 10
}
Відповідь сервера:
[
{
id raquo ;: 3,
version raquo ;: 6,
active raquo ;: true,
name raquo ;: Computers
},
...
]
Опис:
Метод повертає список категорій, оновити після запитаної версії. (поле «version» з вхідних даних). Метод аналогічний попередньому, але замість списку магазинів отримує список категорій товарів. Номер версії також є глобальним для клієнта і сервера, а категорії, аналогічно магазинах, не видаляються, а переводяться в неактивний режим.
. Завантаження фотографії (../api/upload_photo)
Вхідні дані:
Фото в бінарному вигляді.
Відповідь сервера:
{
file raquo ;: 3F2504E0-4F89-11D3-9A0C - 0305E82C3301
}
Опис:
Метод використовується для завантаження фотографій на сервер. Після завантаження сервер генерує унікальний ідентифікатор для файлу (GUID) і зберігає його під цим ім'ям в сховище, після чого повертає ідентифікатор в якості відповіді на запит. Клієнт після успішного завантаження файлу використовує ідентифікатор для передачі додаткової інформації, пов'язаної з файлом при виклику наступного методу.
. Збереження фотографії (../api/save_photo)
Вхідні дані:
{
store raquo ;: 102,
category raquo ;: 12,
comment raquo ;: User defined comment ,
problem raquo ;: false,
was_taken raquo ;: unknown
file raquo ;: 3F2504E0-4F89-11D3-9A0C - 0305E82C3301 ,
coordinates raquo ;: {
latitude raquo ;: 54.3,
longitude raquo ;: 23.4,
accuracy raquo ;: 10
}
}
Відповідь сервера:
{
success raquo ;: true
}
Опис:
Метод використовується для збереження завантаженої раніше фотографії з ідентифікатором, переданим в якості параметра «file» запиту. В даному випадку в тілі POST-запиту передаються метадані знімка, які включають в себе наступні елементи:
- ідентифікатор магазину («store»);
- ідентифікатор категорії («category»);
- довільний коментар («comment»);
- спеціальне поле «was_taken», що дозволяє визначити знімок як зроблений до, або після роботи; можливі значення: «unknown» (за замовчуванням), «before» або «after»;
- ідентифікатор файлу («file»);
- координати точки, в якій була зроблена фотографія (структура «coordinates»), що включають в себе широту («latitude»), довготу («longitude») і точність визначення («accuracy»).
У разі неправильного логіна чи пароля будь-який з вище перерахованих методів повертає помилку у вигляді HTTP відповіді з кодом 401 - «Unauthorized». Відповідь сервера зроблений непустою на випадок, якщо знадобиться додавання розширених повідомлень про помилки.
3.2 Опис класів системних компонентів
Класи системних компонентів, стосовно до даного проекту, являють собою клас Worker Service, успадкованих від класу Intent Service, а також чотири класи, успадковані від класу Acivity: Login Activity, Settings Acivity, Camera Activity і Data Acti...