| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import 'package:electronic_assistant/data/api/request/talk_request.dart';
- import 'package:electronic_assistant/data/bean/agenda.dart';
- import 'package:get/get_rx/src/rx_types/rx_types.dart';
- import '../../utils/http_handler.dart';
- import '../api/atmob_api.dart';
- import '../api/request/agenda_request.dart';
- import '../api/request/agenda_status_request.dart';
- import '../api/request/agenda_todo_request.dart';
- import '../api/response/agenda_list_all_response.dart';
- import '../api/response/agenda_list_mine_response.dart';
- import '../api/response/agenda_response.dart';
- class AgendaRepository {
- AgendaRepository._();
- final RxList<Rx<Agenda>> _agendaList = <Rx<Agenda>>[].obs;
- RxList<Rx<Agenda>> get agendaList => _agendaList;
- clearAgendaList() {
- _agendaList.clear();
- }
- removeItem(Agenda item) {
- _agendaList.removeWhere((element) => element.value.id == item.id);
- }
- Future<AgendaResponse> requestHomeAgendaData(
- {int pageSize = 999, TaskStatus completeStatus = TaskStatus.TODO}) {
- return requestAgendaPagePaginate(1, pageSize,
- completeStatus: completeStatus);
- }
- Future<AgendaResponse> requestAgendaPagePaginate(int page, int pageSize,
- {TaskStatus? completeStatus}) {
- return agendaPage(page, pageSize, completeStatus: completeStatus)
- .then((response) {
- if (page == 1) {
- _agendaList.clear();
- }
- if (response.list != null) {
- _agendaList.addAll(response.list!.map((e) => Rx<Agenda>(e)).toList());
- }
- return response;
- });
- }
- Future<AgendaResponse> agendaPage(int page, int pageSize,
- {int? startTime, int? endTime, TaskStatus? completeStatus}) {
- return atmobApi
- .agendaPage(AgendaRequest(page, pageSize,
- startTime: startTime,
- endTime: endTime,
- completeStatus: completeStatus?.value))
- .then(HttpHandler.handle(true));
- }
- Future<void> agendaFinish(String? id, bool complete) {
- return atmobApi
- .agendaFinish(AgendaStatusRequest(id, complete))
- .then(HttpHandler.handle(true));
- }
- Future<AgendaListAllResponse> agendaListAll(String talkId) {
- return atmobApi
- .agendaListAll(TalkRequest(talkId))
- .then(HttpHandler.handle(true));
- }
- Future<AgendaListMineResponse> agendaListMine(String talkId) {
- return atmobApi
- .agendaListMine(TalkRequest(talkId))
- .then(HttpHandler.handle(true));
- }
- Future<void> agendaTodo(String id, bool isTodo) {
- return atmobApi
- .agendaTodo(AgendaTodoRequest(id, isTodo))
- .then(HttpHandler.handle(true));
- }
- }
- final agendaRepository = AgendaRepository._();
|