refilc+ test subscription is completely working with stripe
This commit is contained in:
parent
fea4d24e07
commit
2d396110bd
@ -123,7 +123,7 @@ class PremiumAuth {
|
||||
|
||||
Future<bool> refreshAuth({bool removePremium = false}) async {
|
||||
if (!removePremium) {
|
||||
if (_settings.premiumAccessToken == "") {
|
||||
if (_settings.plusSessionId == "") {
|
||||
await _settings.update(premiumScopes: [], premiumLogin: "");
|
||||
return false;
|
||||
}
|
||||
@ -140,11 +140,11 @@ class PremiumAuth {
|
||||
try {
|
||||
if (kDebugMode) {
|
||||
print(FilcAPI.plusActivation);
|
||||
print(_settings.premiumAccessToken);
|
||||
print(_settings.plusSessionId);
|
||||
}
|
||||
|
||||
final res = await http.post(Uri.parse(FilcAPI.plusActivation), body: {
|
||||
"access_token": _settings.premiumAccessToken,
|
||||
"session_id": _settings.plusSessionId,
|
||||
});
|
||||
|
||||
if (kDebugMode) print(res.body);
|
||||
@ -156,13 +156,16 @@ class PremiumAuth {
|
||||
if (res.body == "empty_sponsors") {
|
||||
throw "This user isn't sponsoring anyone currently!";
|
||||
}
|
||||
if (res.body == "expired_subscription") {
|
||||
throw "This user isn't a subscriber anymore!";
|
||||
}
|
||||
|
||||
final premium = PremiumResult.fromJson(jsonDecode(res.body) as Map);
|
||||
|
||||
// successful activation of reFilc+
|
||||
log("[INFO] reFilc+ activated: ${premium.scopes.join(',')}");
|
||||
await _settings.update(
|
||||
premiumAccessToken: premium.accessToken,
|
||||
plusSessionId: premium.sessionId,
|
||||
premiumScopes: premium.scopes,
|
||||
premiumLogin: premium.login,
|
||||
);
|
||||
@ -178,7 +181,11 @@ class PremiumAuth {
|
||||
|
||||
// activation of reFilc+ failed
|
||||
await _settings.update(
|
||||
premiumAccessToken: "", premiumScopes: [], premiumLogin: "");
|
||||
premiumAccessToken: "",
|
||||
premiumScopes: [],
|
||||
premiumLogin: "",
|
||||
plusSessionId: "",
|
||||
);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -1,19 +1,19 @@
|
||||
class PremiumResult {
|
||||
final String accessToken;
|
||||
final String sessionId;
|
||||
final List<String> scopes;
|
||||
final String login;
|
||||
|
||||
PremiumResult({
|
||||
required this.accessToken,
|
||||
required this.sessionId,
|
||||
required this.scopes,
|
||||
required this.login,
|
||||
});
|
||||
|
||||
factory PremiumResult.fromJson(Map json) {
|
||||
return PremiumResult(
|
||||
accessToken: json["access_token"] ?? "",
|
||||
sessionId: json["session_id"] ?? "",
|
||||
scopes: (json["scopes"] ?? []).cast<String>(),
|
||||
login: json["login"] ?? "",
|
||||
login: json["customer_id"] ?? "",
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -6,12 +6,12 @@ import 'package:flutter/widgets.dart';
|
||||
class PremiumProvider extends ChangeNotifier {
|
||||
final SettingsProvider _settings;
|
||||
List<String> get scopes => _settings.premiumScopes;
|
||||
bool hasScope(String scope) => false;
|
||||
// scopes.contains(scope) || scopes.contains(PremiumScopes.all);
|
||||
bool hasScope(String scope) =>
|
||||
scopes.contains(scope) || scopes.contains(PremiumScopes.all);
|
||||
String get accessToken => _settings.premiumAccessToken;
|
||||
String get login => _settings.premiumLogin;
|
||||
bool get hasPremium =>
|
||||
_settings.premiumAccessToken != "" && _settings.premiumScopes.isNotEmpty;
|
||||
_settings.plusSessionId != "" && _settings.premiumScopes.isNotEmpty;
|
||||
|
||||
late final PremiumAuth _auth;
|
||||
PremiumAuth get auth => _auth;
|
||||
|
Loading…
x
Reference in New Issue
Block a user