Files
tm_app/lib/data/services/company_ai_service.dart
AmirReza Jamali 50e4f43738 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>
2026-06-16 11:47:52 +03:30

35 lines
1.2 KiB
Dart

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>{}),
);
}
}