Skip to content

Commit cb6c96b

Browse files
committed
update publisher api
1 parent 9b9a354 commit cb6c96b

File tree

4 files changed

+44
-12
lines changed

4 files changed

+44
-12
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
# Local
77
.local/
88

9+
/pubspec.lock
10+
/.dart_tool/

packages/playstore_publish/lib/src/android_publisher.dart

+35-12
Original file line numberDiff line numberDiff line change
@@ -96,22 +96,21 @@ class AndroidPublisher {
9696
}
9797

9898
/// List tracks
99-
Future<void> listTracks() async {
99+
Future<List<String>> listTracks() async {
100100
var apAppEdit = await newAppEdit();
101101
try {
102102
var response = await _api.edits.tracks.list(packageName, apAppEdit.id);
103-
for (var track in response.tracks!) {
104-
stdout.writeln(track.track);
105-
}
103+
var tracks = response.tracks!.map((e) => e.track!).toList();
104+
return tracks;
106105
} finally {
107106
await apAppEdit.delete();
108107
}
109108
}
110109

111110
/// List bundles
112-
Future<void> listBundles() async {
113-
await readOnlyAppEdit((appEdit) async {
114-
await appEdit.listBundles();
111+
Future<List<int>> listBundles() async {
112+
return await readOnlyAppEdit((appEdit) async {
113+
return await appEdit.listBundles();
115114
});
116115
}
117116

@@ -133,6 +132,14 @@ class AndroidPublisher {
133132
});
134133
}
135134

135+
/// Publish version code
136+
Future<int?> getTrackVersionCode({required String trackName}) async {
137+
return await readOnlyAppEdit((appEdit) async {
138+
var versionCode = await appEdit.getTrackVersionCode(trackName);
139+
return versionCode;
140+
});
141+
}
142+
136143
/// Check if versionCode exists, upload if not, publish.
137144
Future<void> uploadBundleAndPublish(
138145
{required String aabPath,
@@ -184,14 +191,13 @@ class AndroidPublisherAppEdit {
184191
}
185192

186193
/// List bundles
187-
Future<void> listBundles() async {
194+
Future<List<int>> listBundles() async {
188195
var aabListResponse = await _api.edits.bundles.list(packageName, id);
189196
if (aabListResponse.bundles != null) {
190-
for (var bundle in aabListResponse.bundles!) {
191-
stdout.writeln('aab: ${bundle.versionCode}');
192-
//print(bundle.versionCode);
193-
}
197+
var bundleList = aabListResponse.bundles!.map((e) => e.versionCode!);
198+
return bundleList.toList();
194199
}
200+
return <int>[];
195201
}
196202

197203
/// Check if versionCode exists
@@ -234,6 +240,23 @@ class AndroidPublisherAppEdit {
234240
await _api.edits.tracks.update(track, packageName, appEdit.id!, trackName);
235241
}
236242

243+
/// Publish track
244+
Future<int?> getTrackVersionCode(String trackName) async {
245+
//stdout.writeln('getting track: ${track.releases!.first.toJson()}');
246+
var track =
247+
await _api.edits.tracks.get(packageName, appEdit.id!, trackName);
248+
var releases = track.releases;
249+
if (releases != null) {
250+
for (var release in releases) {
251+
if (release.status == 'completed') {
252+
return int.parse(release.versionCodes!.first);
253+
}
254+
}
255+
}
256+
return null;
257+
//print(track.toJson());
258+
}
259+
237260
/// Commit only as validate fails on changesNotSentForReview
238261
Future<void> validateAndCommit({bool? changesNotSentForReview}) async {
239262
if (changesNotSentForReview != true) {

packages/playstore_publish/pubspec.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ publish_to: none
66
environment:
77
sdk: ^3.5.0
88

9+
resolution: workspace
910
# Add regular dependencies here.
1011
dependencies:
1112
path: '>=1.6.0'

pubspec.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name: _
2+
publish_to: none
3+
environment:
4+
sdk: ^3.6.0
5+
workspace:
6+
- packages/playstore_publish

0 commit comments

Comments
 (0)