feat: add AI recommendations flow for tenders
Implement company AI onboarding/recommendation models, services, repository, and tender UI integration with supporting tests. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:tm_app/core/utils/result.dart';
|
||||
import 'package:tm_app/data/services/api/company_ai_api.dart';
|
||||
import 'package:tm_app/data/services/model/onboarding_response/onboarding_response.dart';
|
||||
import 'package:tm_app/data/services/model/recommend_response/recommend_response.dart';
|
||||
|
||||
import '../../core/network/network_manager.dart';
|
||||
|
||||
/// Thin wrapper over the AI recommendation endpoints. The backend reads
|
||||
/// `company_id` from the JWT, so both calls send an empty JSON body.
|
||||
class CompanyAiService {
|
||||
CompanyAiService({required NetworkManager networkManager})
|
||||
: _networkManager = networkManager;
|
||||
final NetworkManager _networkManager;
|
||||
|
||||
Future<Result<OnboardingResponse>> startOnboarding() async {
|
||||
return _networkManager.makeRequest(
|
||||
CompanyAiApi.onboarding,
|
||||
method: 'POST',
|
||||
(json) => OnboardingResponse.fromJson(json),
|
||||
data: jsonEncode(const <String, dynamic>{}),
|
||||
);
|
||||
}
|
||||
|
||||
Future<Result<RecommendResponse>> getRecommendations() async {
|
||||
return _networkManager.makeRequest(
|
||||
CompanyAiApi.recommend,
|
||||
method: 'POST',
|
||||
(json) => RecommendResponse.fromJson(json),
|
||||
data: jsonEncode(const <String, dynamic>{}),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user