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