generateRefreshTokenService function

Future<void> generateRefreshTokenService()

Generates a dart file and installs the required package.

Implementation

Future<void> generateRefreshTokenService() async {
  final isFree = await FirebaseService.instance.isFreeUseOn(feature: 'refresh_token');
  if (!isFree) {
    ConsoleLog.warning(ProjectUtils.freeUseBlockString);
    return;
  }

  ConsoleLog.title("Generating RefreshToken Service ...");

  DartgenxConfig config = DartgenxConfig.load();

  final file = File(config.outputPath?.refreshToken ?? 'lib/refresh_token.dart');

  file.createSync(recursive: true);

  file.writeAsStringSync(refreshTokenTemplate);

  ConsoleLog.success(
      "RefreshToken Service generated at ${config.outputPath?.refreshToken ?? 'lib/refresh_token.dart'}");

  ConsoleLog.info("Installing required dependencies...");

  final packages = ['dio', 'shared_preferences'];

  ConsoleLog.step("flutter pub add ${packages.join(" ")}");

  final result = await Process.run(
    'flutter',
    ['pub', 'add', ...packages],
    runInShell: true,
  );
  stdout.write(result.stdout);
  stderr.write(result.stderr);
}