54 lines
1.5 KiB
Dart
54 lines
1.5 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:tm_app/core/utils/result.dart';
|
|
import 'package:tm_app/data/services/model/feedback_response/feedback_response.dart';
|
|
import 'package:tm_app/data/services/model/tenders/tenders_response/tenders_response.dart';
|
|
|
|
import '../../core/network/network_manager.dart';
|
|
|
|
class TendersService {
|
|
TendersService({required NetworkManager networkManager})
|
|
: _networkManager = networkManager;
|
|
final NetworkManager _networkManager;
|
|
|
|
Future<Result<TendersResponse>> getTenders({
|
|
required int limit,
|
|
required int offset,
|
|
}) async {
|
|
final result = await _networkManager.makeRequest(
|
|
'/api/v1/tenders?limit=$limit&offset=$offset',
|
|
method: 'GET',
|
|
(json) => TendersResponse.fromJson(json),
|
|
);
|
|
return result;
|
|
}
|
|
|
|
Future<Result<FeedbackResponse>> getTenderFeedback({
|
|
required String tenderId,
|
|
}) async {
|
|
final result = await _networkManager.makeRequest(
|
|
'/api/v1/feedback/tender/$tenderId',
|
|
method: 'GET',
|
|
(json) => FeedbackResponse.fromJson(json),
|
|
);
|
|
return result;
|
|
}
|
|
|
|
Future<Result<FeedbackResponse>> feedback({
|
|
required String tenderId,
|
|
required String feedbackType,
|
|
}) async {
|
|
final data = jsonEncode({
|
|
'feedback_type': feedbackType,
|
|
'tender_id': tenderId,
|
|
});
|
|
final result = await _networkManager.makeRequest(
|
|
'/api/v1/feedback',
|
|
method: 'POST',
|
|
(json) => FeedbackResponse.fromJson(json),
|
|
data: data,
|
|
);
|
|
return result;
|
|
}
|
|
}
|