generateDataSource method

String generateDataSource(
  1. String name
)

Implementation

String generateDataSource(String name) {
  final className = toPascalCase(name);

  return '''
import '../models/${toSnakeCase(name)}_model.dart';

abstract class ${className}RemoteDataSource {
Future<List<${className}Model>> getAll();
Future<${className}Model?> getById(String id);
Future<${className}Model> create(${className}Model model);
Future<${className}Model> update(${className}Model model);
Future<void> delete(String id);
}

class ${className}RemoteDataSourceImpl implements ${className}RemoteDataSource {
const ${className}RemoteDataSourceImpl();

@override
Future<List<${className}Model>> getAll() async {
  // TODO: Implement API call
  throw UnimplementedError('getAll() not implemented');
}

@override
Future<${className}Model?> getById(String id) async {
  // TODO: Implement API call
  throw UnimplementedError('getById() not implemented');
}

@override
Future<${className}Model> create(${className}Model model) async {
  // TODO: Implement API call
  throw UnimplementedError('create() not implemented');
}

@override
Future<${className}Model> update(${className}Model model) async {
  // TODO: Implement API call
  throw UnimplementedError('update() not implemented');
}

@override
Future<void> delete(String id) async {
  // TODO: Implement API call
  throw UnimplementedError('delete() not implemented');
}
}
''';
}