request method

  1. @override
Future<TicketWeebi> request(
  1. TicketWeebi data
)
override

Implementation

@override
Future<TicketWeebi> request(TicketWeebi data) async {
  //this is not an update because ticket are meant to be immutable
  final dbStore = intMapStoreFactory.store('tickets');
  // print('entering the disable rpc');
  final disabledTicket = data.copyWith(
    status: false,
    statusUpdateDate: DateTime.now(),
  );

  final dd =
      await dbStore.update(_db.db, disabledTicket.toMap(isProto: false),
          finder: Finder(
              filter: Filter.and([
            Filter.equals('id', disabledTicket.id) &
                Filter.equals(
                  'creationDate',
                  disabledTicket.creationDate.toIso8601String(),
                )
          ])));

  assert(dd == 1);
  final snap = await dbStore.findFirst(_db.db,
      finder: Finder(
          filter: Filter.and([
        Filter.equals('id', disabledTicket.id) &
            Filter.equals(
                'creationDate', disabledTicket.creationDate.toIso8601String())
      ])));
  if (snap == null) {
    throw 'erreur lors de la désactivation du ticket';
  } else {
    return TicketWeebi.fromMap(snap.value, isProto: false);
  }
}