mirror of
https://github.com/gabehf/Fladder.git
synced 2026-03-08 23:18:16 -07:00
chore: Implement a fake response for testing (#202)
Co-authored-by: PartyDonut <PartyDonut@users.noreply.github.com>
This commit is contained in:
parent
5b781cf642
commit
d60fec405a
6 changed files with 729 additions and 27 deletions
|
|
@ -14,8 +14,7 @@ part 'api_provider.g.dart';
|
|||
@riverpod
|
||||
class JellyApi extends _$JellyApi {
|
||||
@override
|
||||
JellyService build() {
|
||||
return JellyService(
|
||||
JellyService build() => JellyService(
|
||||
ref,
|
||||
JellyfinOpenApi.create(
|
||||
interceptors: [
|
||||
|
|
@ -23,8 +22,8 @@ class JellyApi extends _$JellyApi {
|
|||
JellyResponse(ref),
|
||||
HttpLoggingInterceptor(level: Level.basic),
|
||||
],
|
||||
));
|
||||
}
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
class JellyRequest implements Interceptor {
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ class AuthNotifier extends StateNotifier<LoginScreenModel> {
|
|||
state = state.copyWith(loading: true);
|
||||
clearAllProviders();
|
||||
var response = await api.usersAuthenticateByNamePost(userName: userName, password: password);
|
||||
var serverResponse = await api.systemInfoPublicGet();
|
||||
CredentialsModel credentials = state.tempCredentials;
|
||||
if (response.isSuccessful && (response.body?.accessToken?.isNotEmpty ?? false)) {
|
||||
var serverResponse = await api.systemInfoPublicGet();
|
||||
credentials = credentials.copyWith(
|
||||
token: response.body?.accessToken ?? "",
|
||||
serverId: response.body?.serverId,
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import 'package:collection/collection.dart';
|
|||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:path/path.dart';
|
||||
|
||||
import 'package:fladder/fake/fake_jellyfin_open_api.dart';
|
||||
import 'package:fladder/jellyfin/enum_models.dart';
|
||||
import 'package:fladder/jellyfin/jellyfin_open_api.swagger.dart';
|
||||
import 'package:fladder/models/account_model.dart';
|
||||
|
|
@ -13,25 +14,12 @@ import 'package:fladder/models/credentials_model.dart';
|
|||
import 'package:fladder/models/item_base_model.dart';
|
||||
import 'package:fladder/models/items/media_segments_model.dart';
|
||||
import 'package:fladder/models/items/trick_play_model.dart';
|
||||
import 'package:fladder/providers/api_provider.dart';
|
||||
import 'package:fladder/providers/auth_provider.dart';
|
||||
import 'package:fladder/providers/image_provider.dart';
|
||||
import 'package:fladder/providers/user_provider.dart';
|
||||
import 'package:fladder/util/duration_extensions.dart';
|
||||
import 'package:fladder/util/jellyfin_extension.dart';
|
||||
|
||||
final jellyServiceProvider = StateProvider<JellyService>(
|
||||
(ref) => JellyService(
|
||||
ref,
|
||||
JellyfinOpenApi.create(
|
||||
interceptors: [
|
||||
JellyRequest(ref),
|
||||
JellyResponse(ref),
|
||||
HttpLoggingInterceptor(level: Level.basic),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
class ServerQueryResult {
|
||||
final List<BaseItemDto> original;
|
||||
final List<ItemBaseModel> items;
|
||||
|
|
@ -77,9 +65,20 @@ class ServerQueryResult {
|
|||
}
|
||||
|
||||
class JellyService {
|
||||
JellyService(this.ref, this.api);
|
||||
JellyService(this.ref, this._api);
|
||||
|
||||
final JellyfinOpenApi _api;
|
||||
|
||||
JellyfinOpenApi get api {
|
||||
var authServer = ref.read(authProvider).tempCredentials.server;
|
||||
var currentServer = ref.read(userProvider)?.credentials.server;
|
||||
if ((authServer.isNotEmpty ? authServer : currentServer) == FakeHelper.fakeTestServerUrl) {
|
||||
return FakeJellyfinOpenApi();
|
||||
} else {
|
||||
return _api;
|
||||
}
|
||||
}
|
||||
|
||||
final JellyfinOpenApi api;
|
||||
final Ref ref;
|
||||
AccountModel? get account => ref.read(userProvider);
|
||||
|
||||
|
|
@ -294,10 +293,11 @@ class JellyService {
|
|||
);
|
||||
return response.copyWith(
|
||||
body: response.body?.items
|
||||
?.map(
|
||||
(e) => ItemBaseModel.fromBaseDto(e, ref),
|
||||
)
|
||||
.toList(),
|
||||
?.map(
|
||||
(e) => ItemBaseModel.fromBaseDto(e, ref),
|
||||
)
|
||||
.toList() ??
|
||||
[],
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue