import 'package:dio/dio.dart'; import '../core/api_client.dart'; class CheckService { final ApiClient _client; CheckService({ApiClient? client}) : _client = client ?? ApiClient(); Future> list({required int businessId, required Map queryInfo}) async { try { final res = await _client.post>( '/api/v1/checks/businesses/$businessId/checks', data: queryInfo, ); final data = res.data ?? {}; data['items'] ??= []; return data; } catch (e) { return { 'items': [], 'pagination': { 'total': 0, 'page': 1, 'per_page': queryInfo['take'] ?? 10, 'total_pages': 0, 'has_next': false, 'has_prev': false, }, 'query_info': queryInfo, }; } } Future> getById(int id) async { final res = await _client.get>('/api/v1/checks/checks/$id'); return (res.data?['data'] as Map? ?? {}); } Future> create({required int businessId, required Map payload}) async { final res = await _client.post>( '/api/v1/checks/businesses/$businessId/checks/create', data: payload, ); return (res.data?['data'] as Map? ?? {}); } Future> update({required int id, required Map payload}) async { final res = await _client.put>('/api/v1/checks/checks/$id', data: payload); return (res.data?['data'] as Map? ?? {}); } Future delete(int id) async { await _client.delete>('/api/v1/checks/checks/$id'); } Future>> exportExcel({required int businessId, required Map body}) async { return await _client.post>( '/api/v1/checks/businesses/$businessId/checks/export/excel', data: body, options: Options(responseType: ResponseType.bytes), ); } Future>> exportPdf({required int businessId, required Map body}) async { return await _client.post>( '/api/v1/checks/businesses/$businessId/checks/export/pdf', data: body, options: Options(responseType: ResponseType.bytes), ); } }