Houshan-Basa/lib/data/repository/ticket_repository.dart

50 lines
1.3 KiB
Dart

import 'package:cross_file/cross_file.dart';
import 'package:dio/dio.dart';
import 'package:hoshan/core/services/api/dio_service.dart';
import 'package:hoshan/data/model/ticket_model.dart';
class TicketRepository {
static final DioService _dioService = DioService();
static Future<TicketModel> getTickets() async {
try {
Response response =
await _dioService.sendRequest().get(DioService.ticket);
return TicketModel.fromJson(response.data);
} catch (ex) {
rethrow;
}
}
static Future<Response> deleteTickets(int id) async {
try {
Response response =
await _dioService.sendRequest().delete(DioService.deleteTicket(id));
return response;
} catch (ex) {
rethrow;
}
}
static Future<Ticket> sendTickets({required String text, XFile? file}) async {
try {
FormData formDatBody = FormData();
formDatBody.fields.add(MapEntry('text', text));
if (file != null) {
MultipartFile multipartFile = await DioService.getMultipartFile(file);
formDatBody.files.add(MapEntry('file', multipartFile));
}
Response response = await _dioService
.sendRequest()
.post(DioService.ticket, data: formDatBody);
return Ticket.fromJson(response.data['ticket']);
} catch (ex) {
rethrow;
}
}
}