74 lines
2.1 KiB
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');
|
|
}
|
|
}
|
|
}
|