Line data Source code
1 : import 'package:flutter/material.dart'; 2 : import 'package:http/http.dart'; 3 : import 'package:pal/src/database/adapter/project_gallery_entity_adapter.dart'; 4 : import 'package:pal/src/database/entity/graphic_entity.dart'; 5 : import 'package:pal/src/database/entity/pageable.dart'; 6 : import 'package:pal/src/database/repository/base_repository.dart'; 7 : import 'package:pal/src/services/http_client/base_client.dart'; 8 : 9 : abstract class ProjectGalleryRepository { 10 0 : Future<Pageable<GraphicEntity>> getAllMedias( 11 : final int page, 12 : final int pageSize, 13 : ) => 14 : throw 'not implemented yet'; 15 : } 16 : 17 : class ProjectGalleryHttpRepository extends BaseHttpRepository 18 : implements ProjectGalleryRepository { 19 : final ProjectGalleryEntityAdapter _adapter = ProjectGalleryEntityAdapter(); 20 : final HttpClient httpClient; 21 : 22 6 : ProjectGalleryHttpRepository({@required this.httpClient}) 23 6 : : super(httpClient: httpClient); 24 : 25 : @override 26 0 : Future<Pageable<GraphicEntity>> getAllMedias( 27 : int page, 28 : int pageSize, 29 : ) async { 30 0 : final Response response = await this 31 0 : .httpClient 32 0 : .get('editor/graphics?page=$page&pageSize=$pageSize'); 33 0 : return this._adapter.parsePage(response.body); 34 : } 35 : }