mirror of
https://github.com/ReVanced/revanced-manager.git
synced 2025-05-19 23:46:55 +08:00
refactor: migrate to stacked architecture.
* feat: mostly done stacked architecture. * refactor: migration to stacked architecture.
This commit is contained in:
43
lib/services/github_api.dart
Normal file
43
lib/services/github_api.dart
Normal file
@ -0,0 +1,43 @@
|
||||
import 'package:github/github.dart';
|
||||
import 'package:injectable/injectable.dart';
|
||||
|
||||
@lazySingleton
|
||||
class GithubAPI {
|
||||
var github = GitHub();
|
||||
|
||||
Future<String?> latestRelease(String org, repoName) async {
|
||||
var latestRelease = await github.repositories
|
||||
.getLatestRelease(RepositorySlug(org, repoName));
|
||||
var dlurl = latestRelease.assets?.first.browserDownloadUrl;
|
||||
return dlurl;
|
||||
}
|
||||
|
||||
Future latestCommitTime(String org, repoName) async {
|
||||
var repo =
|
||||
await github.repositories.getRepository(RepositorySlug(org, repoName));
|
||||
|
||||
var commitTime = repo.pushedAt?.difference(
|
||||
DateTime.now().toLocal(),
|
||||
);
|
||||
|
||||
final hours = commitTime!.inHours.abs();
|
||||
|
||||
if (hours > 24) {
|
||||
var days = (commitTime.inDays).abs().toString();
|
||||
return "$days days";
|
||||
} else if (hours > 1 && hours < 24) {
|
||||
var hours = (commitTime.inHours).abs().toString();
|
||||
return "$hours hours";
|
||||
} else {
|
||||
var minutes = (commitTime.inMinutes).abs().toString();
|
||||
return "$minutes mins";
|
||||
}
|
||||
}
|
||||
|
||||
Future contributors(String org, repoName) async {
|
||||
var contributors =
|
||||
github.repositories.listContributors(RepositorySlug(org, repoName));
|
||||
contributors.forEach((contributor) {});
|
||||
return contributors;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user