Init repo

This commit is contained in:
PartyDonut 2024-09-15 14:12:28 +02:00
commit 764b6034e3
566 changed files with 212335 additions and 0 deletions

View file

@ -0,0 +1,81 @@
import 'dart:convert';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:fladder/util/application_info.dart';
import 'package:xid/xid.dart';
class CredentialsModel {
final String token;
final String server;
final String serverName;
final String serverId;
final String deviceId;
CredentialsModel({
this.token = "",
this.server = "",
this.serverName = "",
this.serverId = "",
required this.deviceId,
});
factory CredentialsModel.createNewCredentials() {
return CredentialsModel(deviceId: Xid().toString());
}
Map<String, String> header(Ref ref) {
final application = ref.read(applicationInfoProvider);
final headers = {
'content-type': 'application/json',
'x-emby-token': token,
'x-emby-authorization':
'MediaBrowser Client="${application.name}", Device="${application.os}", DeviceId="$deviceId", Version="${application.version}"'
};
return headers;
}
CredentialsModel copyWith({
String? token,
String? server,
String? serverName,
String? serverId,
String? deviceId,
}) {
return CredentialsModel(
token: token ?? this.token,
server: server ?? this.server,
serverName: serverName ?? this.serverName,
serverId: serverId ?? this.serverId,
deviceId: deviceId ?? this.deviceId,
);
}
Map<String, dynamic> toMap() {
return {
'token': token,
'server': server,
'serverName': serverName,
'serverId': serverId,
'deviceId': deviceId,
};
}
factory CredentialsModel.fromMap(Map<String, dynamic> map) {
return CredentialsModel(
token: map['token'] ?? '',
server: map['server'] ?? '',
serverName: map['serverName'] ?? '',
serverId: map['serverId'] ?? '',
deviceId: map['deviceId'] ?? '',
);
}
String toJson() => json.encode(toMap());
factory CredentialsModel.fromJson(String source) => CredentialsModel.fromMap(json.decode(source));
@override
String toString() {
return 'CredentialsModel(token: $token, server: $server, serverName: $serverName, serverId: $serverId, header: $header)';
}
}