updateDataSource method

Future<void> updateDataSource()

Implementation

Future<void> updateDataSource() async {
  final dsFile = await FileUtils.findFile(
    path.join(featurePath, 'data', 'data_source'),
    '${naming.featureLower}_remote_data_source.dart',
  );

  if (dsFile == null) {
    print('⚠️  RemoteDataSource file not found – skipping');
    return;
  }

  if (await FileUtils.containsPattern(dsFile, naming.actionCamel)) {
    print('⚠️  Method already in DataSource – skipping');
    return;
  }

  final abstractSig =
      '  Future<Result<${naming.responseClass}>> ${naming.actionCamel}(${naming.requestClass} params);';

  final implMethod = '''
@override
Future<Result<${naming.responseClass}>> ${naming.actionCamel}(${naming.requestClass} params) async {

    return await DioHelper.getData(
      endPoint: 'TODO_ADD_ENDPOINT',
      query: params.toJson(),
      fromJson: ${naming.responseClass}.fromJson
    );

}
''';

  await _insertMethods(dsFile, abstractSig, implMethod);
  print('✅ Methods added to DataSource : $dsFile');
}