load videoprefix on login

This commit is contained in:
2022-09-02 18:42:38 +02:00
parent 7ff0d387b5
commit cb42db80af
12 changed files with 136 additions and 91 deletions

42
lib/api/settings_api.dart Normal file
View File

@ -0,0 +1,42 @@
import 'dart:convert';
import 'api.dart';
class InitialData {
bool darkMode;
bool password;
String mediacenterName;
String videoPath;
String tvShowPath;
bool tvShowEnabled;
bool fullDeleteEnabled;
InitialData(
this.darkMode,
this.password,
this.mediacenterName,
this.videoPath,
this.tvShowPath,
this.tvShowEnabled,
this.fullDeleteEnabled);
factory InitialData.fromJson(dynamic json) {
return InitialData(
json['DarkMode'] as bool,
json['Pasword'] as bool,
json['MediacenterName'] as String,
json['VideoPath'] as String,
json['TVShowPath'] as String,
json['TVShowEnabled'] as bool,
json['FullDeleteEnabled'] as bool,
);
}
}
Future<InitialData> loadInitialData() async {
final data = await API.query("settings", "loadInitialData", {});
final d = jsonDecode(data);
final video = InitialData.fromJson(d);
return video;
}

View File

@ -8,8 +8,9 @@ import '../log/log.dart';
class TokenT {
String token;
String domain;
String videoPath;
TokenT(this.token, this.domain);
TokenT(this.token, this.domain, this.videoPath);
}
class Token {
@ -18,40 +19,41 @@ class Token {
String _tokenval = "";
String _domain = "";
String _vPath = "";
static Token getInstance() {
return _token;
}
Future<TokenT?> getToken() async {
var completer = Completer<TokenT?>();
if (_tokenval == "" || _domain == "") {
if (_tokenval == "" || _domain == "" || _vPath == "") {
Log.d("reading token store");
WidgetsFlutterBinding.ensureInitialized();
final token = await _storage.read(key: 'jwt');
final domain = await _storage.read(key: 'domain');
final vPath = await _storage.read(key: 'videoPath');
// check if value is defined in phone store
if (token != null && domain != null) {
if (token != null && domain != null && vPath != null) {
_tokenval = token;
_domain = domain;
completer.complete(TokenT(token, domain));
return TokenT(token, domain, vPath);
} else {
Log.d("no token defined");
completer.complete(null);
return null;
}
} else {
completer.complete(TokenT(_tokenval, _domain));
return TokenT(_tokenval, _domain, _vPath);
}
return completer.future;
}
void setToken(String token, String domain) {
void setToken(String token, String domain, String videoPath) {
_tokenval = token;
_domain = domain;
_vPath = videoPath;
_storage.write(key: 'jwt', value: token);
_storage.write(key: 'domain', value: domain);
_storage.write(key: 'videoPath', value: videoPath);
}
Token._();