Adapt app client to JSON API payloads
This commit is contained in:
@@ -3,7 +3,9 @@ import 'package:dio/dio.dart';
|
||||
/// HTTP-клиент для одного сервера Ignis.
|
||||
/// Покрывает все эндпоинты из openapi.json.
|
||||
class IgnisApi {
|
||||
final Dio _dio = Dio();
|
||||
IgnisApi({Dio? dio}) : _dio = dio ?? Dio();
|
||||
|
||||
final Dio _dio;
|
||||
Dio get dioInstance => _dio;
|
||||
|
||||
static String normalizeBaseUrl(String baseUrl) {
|
||||
@@ -70,11 +72,11 @@ class IgnisApi {
|
||||
|
||||
/// Управление группой: state, brightness, temp, scene, r/g/b
|
||||
Future<Response> controlGroup(String id, Map<String, dynamic> params) =>
|
||||
_dio.post('/control/group/$id', queryParameters: params);
|
||||
_dio.post('/control/group/$id', data: params);
|
||||
|
||||
/// Управление одной лампой
|
||||
Future<Response> controlDevice(String id, Map<String, dynamic> params) =>
|
||||
_dio.post('/control/device/$id', queryParameters: params);
|
||||
_dio.post('/control/device/$id', data: params);
|
||||
|
||||
/// Мигнуть лампой (для идентификации)
|
||||
Future<Response> blinkDevice(String id) =>
|
||||
@@ -92,11 +94,11 @@ class IgnisApi {
|
||||
|
||||
/// Одноразовое расписание (таймер)
|
||||
Future<Response> scheduleOnce(Map<String, dynamic> params) =>
|
||||
_dio.post('/schedules/once', queryParameters: params);
|
||||
_dio.post('/schedules/once', data: params);
|
||||
|
||||
/// Cron-расписание (повторяющееся)
|
||||
Future<Response> scheduleCron(Map<String, dynamic> params) =>
|
||||
_dio.post('/schedules/cron', queryParameters: params);
|
||||
_dio.post('/schedules/cron', data: params);
|
||||
|
||||
/// Все активные задачи расписания
|
||||
Future<Response> getTasks() => _dio.get('/schedules/tasks');
|
||||
|
||||
Reference in New Issue
Block a user