message_api.dart 760 B

1234567891011121314151617181920212223
  1. import 'package:flutter_riverpod/flutter_riverpod.dart';
  2. import '../../core/network/api_client.dart';
  3. import '../../app.dart';
  4. import 'message_model.dart';
  5. final messageApiProvider = Provider<MessageApi>((ref) => MessageApi(ref.read(apiClientProvider)));
  6. class MessageApi {
  7. final ApiClient _client;
  8. MessageApi(this._client);
  9. Future<List<MessageModel>> fetchList({int page = 1, int pageSize = 20}) async {
  10. final response = await _client.get<Map<String, dynamic>>(
  11. '/messages',
  12. queryParameters: {'page': page, 'pageSize': pageSize},
  13. );
  14. final data = response.data!;
  15. final items = (data['items'] as List<dynamic>)
  16. .map((e) => MessageModel.fromJson(e as Map<String, dynamic>))
  17. .toList();
  18. return items;
  19. }
  20. }