update mobile design
This commit is contained in:
@@ -20,15 +20,19 @@ class SearchAgentsResponse {
|
||||
required this.totalPages,
|
||||
});
|
||||
|
||||
/// Parses: { data: [...], meta: { total, page, limit, totalPages } }
|
||||
factory SearchAgentsResponse.fromJson(Map<String, dynamic> json) {
|
||||
final meta = json['meta'] as Map<String, dynamic>? ?? {};
|
||||
return SearchAgentsResponse(
|
||||
data: (json['data'] as List<dynamic>)
|
||||
.map((e) => AgentProfile.fromJson(e as Map<String, dynamic>))
|
||||
.toList(),
|
||||
total: json['total'] as int? ?? 0,
|
||||
page: json['page'] as int? ?? 1,
|
||||
limit: json['limit'] as int? ?? 10,
|
||||
totalPages: json['totalPages'] as int? ?? 1,
|
||||
data: (json['data'] as List<dynamic>?)
|
||||
?.map(
|
||||
(e) => AgentProfile.fromJson(e as Map<String, dynamic>))
|
||||
.toList() ??
|
||||
[],
|
||||
total: meta['total'] as int? ?? 0,
|
||||
page: meta['page'] as int? ?? 1,
|
||||
limit: meta['limit'] as int? ?? 10,
|
||||
totalPages: meta['totalPages'] as int? ?? 1,
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -36,6 +40,8 @@ class SearchAgentsResponse {
|
||||
class AgentsRepository {
|
||||
final Dio _dio = ApiClient.instance.dio;
|
||||
|
||||
/// Search agents: GET /agents
|
||||
/// Response: { success, data: { data: [...], meta: {...} } }
|
||||
Future<SearchAgentsResponse> searchAgents({
|
||||
String? agentTypeId,
|
||||
int page = 1,
|
||||
@@ -58,8 +64,10 @@ class AgentsRepository {
|
||||
queryParameters: queryParams,
|
||||
);
|
||||
|
||||
final data = response.data['data'] as Map<String, dynamic>;
|
||||
return SearchAgentsResponse.fromJson(data);
|
||||
// Backend wraps: { success: true, data: { data: [...], meta: {...} } }
|
||||
final responseData = response.data;
|
||||
final payload = responseData['data'] as Map<String, dynamic>;
|
||||
return SearchAgentsResponse.fromJson(payload);
|
||||
} on DioException catch (e) {
|
||||
if (e.error is ApiException) {
|
||||
throw e.error as ApiException;
|
||||
@@ -71,9 +79,13 @@ class AgentsRepository {
|
||||
}
|
||||
}
|
||||
|
||||
/// Get agent types: GET /agent-types
|
||||
/// Response: { success, data: [...] }
|
||||
Future<List<AgentType>> getAgentTypes() async {
|
||||
try {
|
||||
final response = await _dio.get(ApiConstants.agentTypes);
|
||||
|
||||
// Backend wraps: { success: true, data: [...] }
|
||||
final data = response.data['data'] as List<dynamic>;
|
||||
return data
|
||||
.map((e) => AgentType.fromJson(e as Map<String, dynamic>))
|
||||
|
||||
Reference in New Issue
Block a user