searchBlogs method

Future<BlogResponse> searchBlogs({
  1. required String query,
  2. int page = 1,
  3. int perPage = 10,
})

Search blog posts

Implementation

Future<BlogResponse> searchBlogs({
  required String query,
  int page = 1,
  int perPage = 10,
}) async {
  if (query.length < 2) {
    throw Exception('Search query must be at least 2 characters');
  }

  try {
    final response = await _dio.get(
      '$baseUrl/blogs/search',
      queryParameters: {'q': query, 'page': page, 'per_page': perPage},
    );

    if (response.statusCode == 200) {
      return BlogResponse.fromJson(response.data as Map<String, dynamic>);
    } else {
      throw Exception('Failed to search blogs');
    }
  } on DioException catch (e) {
    throw Exception('Error searching blogs: ${e.message}');
  } catch (e) {
    throw Exception('Error: $e');
  }
}