feature(collections): Заготовка под апи. Переключалка коллекций
This commit is contained in:
@@ -5,6 +5,10 @@ import 'package:remever/models/crud_collection_dto.dart';
|
||||
/// Интерфейс взаимодействия с коллекциями
|
||||
///
|
||||
abstract interface class CollectionsInterface {
|
||||
/// работа с api
|
||||
Future<void> getCollectionsFromApi();
|
||||
Future<void> createCollectionApi();
|
||||
|
||||
/// Получение списка коллекций
|
||||
Stream<List<Collection>> watchCollectionsList({String? search});
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
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/crud_collection_dto.dart';
|
||||
@@ -35,4 +37,37 @@ final class CollectionsService implements CollectionsInterface {
|
||||
// TODO: implement makeCollectionPublic
|
||||
throw UnimplementedError();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> getCollectionsFromApi() async {
|
||||
try {
|
||||
final Response<dynamic> response = await apiClient.get(
|
||||
'/collections',
|
||||
queryParameters: <String, dynamic>{'perPage': 20, 'page': 1},
|
||||
);
|
||||
|
||||
print('data');
|
||||
} catch (e) {
|
||||
print('Response error $e');
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> createCollectionApi() async {
|
||||
try {
|
||||
final Response<dynamic> response = await apiClient.post(
|
||||
'/collections',
|
||||
data: {
|
||||
"title": "Основы программирования для утюгов",
|
||||
"description":
|
||||
"Коллекция карточек по основам программирования для начинающих",
|
||||
"is_public": true,
|
||||
},
|
||||
);
|
||||
|
||||
print('data');
|
||||
} catch (e) {
|
||||
print('Response error $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,10 @@ import 'package:remever/models/create_ticket_dto.dart';
|
||||
/// Интерфейс взаимодействия с билетами в коллекция
|
||||
///
|
||||
abstract interface class TicketsInterface {
|
||||
/// работа с api
|
||||
Future<void> getTicketsFromApi();
|
||||
Future<void> createTicketApi();
|
||||
|
||||
/// Получение списка билетов
|
||||
Stream<List<Ticket>> watchTicketsList(String collectionId);
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
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';
|
||||
@@ -32,4 +34,40 @@ final class TicketsService implements TicketsInterface {
|
||||
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');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user