Files
apidash/lib/dashbot/features/chat/providers/service_providers.dart
Udhay-Adithya d5915bb321 refactor: Move AutoFixService, RequestApplyService, PromptBuilder, and UrlEnvService to core services
- Deleted old implementations of AutoFixService, RequestApplyService, PromptBuilder, and UrlEnvService from the chat feature.
- Introduced new implementations of AutoFixService, RequestApplyService, PromptBuilder, and UrlEnvService in the core services directory.
- Updated import paths to reflect the new structure.
- Ensured all functionalities remain intact after the refactor.
2025-09-21 11:51:15 +05:30

68 lines
2.3 KiB
Dart

import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../../core/services/agent/prompt_builder.dart';
import '../../../core/services/base/url_env_service.dart';
import '../../../core/services/actions/auto_fix_service.dart';
import '../../../core/services/actions/request_apply_service.dart';
import '../../../../providers/providers.dart';
import 'package:apidash_core/apidash_core.dart';
final promptBuilderProvider = Provider<PromptBuilder>((ref) {
return PromptBuilder();
});
final urlEnvServiceProvider = Provider<UrlEnvService>((ref) {
return UrlEnvService();
});
final requestApplyServiceProvider = Provider<RequestApplyService>((ref) {
return RequestApplyService(urlEnv: ref.read(urlEnvServiceProvider));
});
final autoFixServiceProvider = Provider<AutoFixService>((ref) {
final collection = ref.read(collectionStateNotifierProvider.notifier);
final urlEnv = ref.read(urlEnvServiceProvider);
return AutoFixService(
requestApply: ref.read(requestApplyServiceProvider),
updateSelected: ({
required String id,
HTTPVerb? method,
String? url,
List<NameValueModel>? headers,
List<bool>? isHeaderEnabledList,
String? body,
ContentType? bodyContentType,
List<FormDataModel>? formData,
List<NameValueModel>? params,
List<bool>? isParamEnabledList,
String? postRequestScript,
}) {
collection.update(
id: id,
method: method,
url: url,
headers: headers,
isHeaderEnabledList: isHeaderEnabledList,
body: body,
bodyContentType: bodyContentType,
formData: formData,
params: params,
isParamEnabledList: isParamEnabledList,
postRequestScript: postRequestScript,
);
},
addNewRequest: (model, {name}) =>
collection.addRequestModel(model, name: name ?? 'New Request'),
readCurrentRequestId: () => ref.read(selectedRequestModelProvider)?.id,
ensureBaseUrl: (baseUrl) => urlEnv.ensureBaseUrlEnv(
baseUrl,
readEnvs: () => ref.read(environmentsStateNotifierProvider),
readActiveEnvId: () => ref.read(activeEnvironmentIdStateProvider),
updateEnv: (id, {values}) => ref
.read(environmentsStateNotifierProvider.notifier)
.updateEnvironment(id, values: values),
),
readCurrentRequest: () => ref.read(selectedRequestModelProvider),
);
});