Skip to content

Commit a7722be

Browse files
committed
fix: update path to deployment service account
1 parent e4dff87 commit a7722be

File tree

3 files changed

+32
-9
lines changed

3 files changed

+32
-9
lines changed

lib/src/command_runner.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ class WebtritPhoneToolsCommandRunner extends CompletionCommandRunner<int> {
6666
addCommand(KeystoreInitCommand(
6767
logger: _logger,
6868
httpClient: _httpClient,
69+
datasource: _datasource,
6970
keystoreReadmeUpdater: _keystoreReadmeUpdater,
7071
));
7172
addCommand(KeystoreGenerateCommand(logger: _logger));

lib/src/commands/configurator_generate_command.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const _keystorePath = 'keystore-path';
1414
const _cacheSessionDataPath = 'cache-session-data-path';
1515

1616
const _directoryParameterName = '<directory>';
17-
const _firebaseServiceAccountFileName = 'push_notifications/firebase-service-account.json';
17+
const _firebaseServiceAccountFileName = 'build/google-play-service-account.json';
1818

1919
class ConfiguratorGenerateCommand extends Command<int> {
2020
ConfiguratorGenerateCommand({
@@ -120,6 +120,8 @@ class ConfiguratorGenerateCommand extends Command<int> {
120120

121121
final firebaseServiceAccountPath = path.join(projectKeystorePath, _firebaseServiceAccountFileName);
122122
final firebaseServiceAccount = File(firebaseServiceAccountPath).readAsStringSync().toMap();
123+
_logger.info('- Firebase service account path: $firebaseServiceAccountPath');
124+
_logger.info('- Firebase service account: $firebaseServiceAccount');
123125
final firebaseAccountId = firebaseServiceAccount[projectIdField] as String;
124126

125127
final workingDirectory = _workingDirectory();
@@ -194,7 +196,7 @@ class ConfiguratorGenerateCommand extends Command<int> {
194196
..info('Service account path: $firebaseServiceAccountPath');
195197

196198
try {
197-
_logger.info('Running flutterfire configure process...');
199+
_logger.info('Running flutterfire configure process, with service account: $firebaseServiceAccountPath');
198200

199201
final process = await Process.start(
200202
'flutterfire',

lib/src/commands/keystore_init_command.dart

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ import 'dart:convert';
22
import 'dart:io';
33

44
import 'package:args/command_runner.dart';
5+
import 'package:data/datasource/configurator_backend/configurator_bakcend.dart';
56
import 'package:data/dto/application/application.dart';
67
import 'package:mason_logger/mason_logger.dart';
78
import 'package:path/path.dart' as path;
89
import 'package:mustache_template/mustache.dart';
910

10-
1111
import 'package:webtrit_phone_tools/src/commands/constants.dart';
1212
import 'package:webtrit_phone_tools/src/commands/keystore_generate_command.dart';
1313
import 'package:webtrit_phone_tools/src/commands/assetlinks_generate_command.dart';
@@ -17,23 +17,32 @@ import 'package:webtrit_phone_tools/src/utils/utils.dart';
1717

1818
const _applicationIdOptionName = 'applicationId';
1919
const _directoryParameterName = '<directory>';
20+
const _token = 'token';
2021

2122
class KeystoreInitCommand extends Command<int> {
2223
KeystoreInitCommand({
2324
required Logger logger,
2425
required HttpClient httpClient,
26+
required ConfiguratorBackandDatasource datasource,
2527
required KeystoreReadmeUpdater keystoreReadmeUpdater,
2628
}) : _logger = logger,
2729
_httpClient = httpClient,
2830
_readmeUpdater = keystoreReadmeUpdater,
31+
_datasource = datasource,
2932
_commandRunner = CommandRunner<int>('tool', 'A tool to manage keystore')
3033
..addCommand(KeystoreGenerateCommand(logger: logger))
3134
..addCommand(AssetlinksGenerateCommand(logger: logger)) {
32-
argParser.addOption(
33-
_applicationIdOptionName,
34-
help: 'Application ID to initialize the keystore project.',
35-
mandatory: true,
36-
);
35+
argParser
36+
..addOption(
37+
_applicationIdOptionName,
38+
help: 'Application ID to initialize the keystore project.',
39+
mandatory: true,
40+
)
41+
..addOption(
42+
_token,
43+
help: 'JWT token for configurator API.',
44+
mandatory: true,
45+
);
3746
}
3847

3948
@override
@@ -46,6 +55,7 @@ class KeystoreInitCommand extends Command<int> {
4655
final Logger _logger;
4756

4857
final HttpClient _httpClient;
58+
final ConfiguratorBackandDatasource _datasource;
4959

5060
final KeystoreReadmeUpdater _readmeUpdater;
5161

@@ -73,6 +83,13 @@ class KeystoreInitCommand extends Command<int> {
7383
return ExitCode.usage.code;
7484
}
7585

86+
final jwtToken = commandArgResults[_token] as String;
87+
final authHeader = {'Authorization': 'Bearer $jwtToken'};
88+
if (jwtToken.isEmpty) {
89+
_logger.err('Option "$_token" can not be empty.');
90+
return ExitCode.usage.code;
91+
}
92+
7693
final applicationId = commandArgResults[_applicationIdOptionName] as String;
7794
if (applicationId.isEmpty) {
7895
_logger.err('Option "$_applicationIdOptionName" cannot be empty.');
@@ -81,7 +98,10 @@ class KeystoreInitCommand extends Command<int> {
8198

8299
ApplicationDTO application;
83100
try {
84-
application = await _httpClient.getApplication(applicationId);
101+
application = await _datasource.getApplication(
102+
applicationId: applicationId,
103+
headers: authHeader,
104+
);
85105
} catch (e) {
86106
_logger.err(e.toString());
87107
return ExitCode.usage.code;

0 commit comments

Comments
 (0)