Files
Remever/lib/services/tickets/tickets_service.dart

74 lines
2.1 KiB
Dart

import 'package:dio/dio.dart';
import 'package:injectable/injectable.dart';
import 'package:remever/common/services/api_client.dart';
import 'package:remever/database/database.dart';
import 'package:remever/inject.dart';
import 'package:remever/models/create_ticket_dto.dart';
import 'package:remever/services/tickets/tickets_interface.dart';
///
/// Сервис авторизации
///
@Singleton(as: TicketsInterface)
final class TicketsService implements TicketsInterface {
@override
Stream<List<Ticket>> watchTicketsList(String collectionId) {
return getIt<AppDatabase>().ticketsDao.getTickets(collectionId);
}
@override
Future<void> createTicket(CreateTicketDto dto) async {
return await getIt<AppDatabase>().ticketsDao.createTicket(dto);
}
@override
Future<void> removeTicket(String ticketId) async {
return await getIt<AppDatabase>().ticketsDao.removeTicket(ticketId);
}
@override
Future<void> transferTicket(String ticketId, String newCollectionId) async {
return await getIt<AppDatabase>().ticketsDao.transferTicket(
ticketId,
newCollectionId,
);
}
@override
Future<void> getTicketsFromApi() async {
try {
final Response<dynamic> response = await apiClient.get('/cards');
print('data');
} catch (e) {
print('Response error $e');
}
}
@override
Future<void> createTicketApi() async {
try {
final Response<dynamic> response = await apiClient.post(
'/cards',
data: {
"title": "Основы программирования",
"question":
"Коллекция карточек по основам программирования для начинающих",
"question_picture_id": 1,
"answer":
"Коллекция карточек по основам программирования для начинающих",
"answer_picture_id": 2,
"is_public": true,
"is_reverse": false,
"collection_id": 1,
},
);
print('data');
} catch (e) {
print('Response error $e');
}
}
}