Use own Dio instance for prompt service

This commit is contained in:
Théo Poizat
2026-03-03 14:01:09 +01:00
committed by Dat H. Pham
parent 32cf606aea
commit 83452277b7
3 changed files with 28 additions and 42 deletions
@@ -1,21 +1,21 @@
import 'dart:async';
import 'dart:convert';
import 'package:core/data/network/dio_client.dart';
import 'package:core/utils/app_logger.dart';
import 'package:dio/dio.dart';
import 'package:scribe/scribe/ai/data/model/ai_message.dart';
import 'package:scribe/scribe/ai/domain/model/prompt_data.dart';
import 'package:flutter/services.dart' show rootBundle;
class PromptService {
static const String _defaultAssetPath = 'packages/scribe/assets/prompts.json';
final DioClient _dioClient;
final Dio _dio;
String? _promptUrl;
PromptData? _promptData;
Future<PromptData>? _loadingFuture;
PromptService(this._dioClient);
PromptService(this._dio);
void setPromptUrl(String? url) {
if (_promptUrl == url) return;
@@ -62,10 +62,11 @@ class PromptService {
log('PromptService::_fetchPromptsFromUrl: Fetching from $url');
try {
final data = await _dioClient.get(url);
final promptsMap = data is String
? jsonDecode(data) as Map<String, dynamic>
final response = await _dio.get(url);
final data = response.data;
final promptsMap = data is String
? jsonDecode(data) as Map<String, dynamic>
: data as Map<String, dynamic>;
return PromptData.fromJson(promptsMap);