refactor: Remove Job dependency on ClientJobsCubit

pull/440/head
Inex Code 2024-02-20 20:04:39 +03:00
parent 16094a3257
commit 9459191c09
2 changed files with 16 additions and 20 deletions

View File

@ -5,7 +5,6 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server_api.dart';
import 'package:selfprivacy/logic/models/job.dart'; import 'package:selfprivacy/logic/models/job.dart';
import 'package:selfprivacy/logic/models/json/server_job.dart'; import 'package:selfprivacy/logic/models/json/server_job.dart';
@ -28,8 +27,6 @@ class JobsCubit extends Cubit<JobsState> {
StreamSubscription? _apiDataSubscription; StreamSubscription? _apiDataSubscription;
final ServerApi api = ServerApi();
void _handleServerJobs(final List<ServerJob> jobs) { void _handleServerJobs(final List<ServerJob> jobs) {
if (state is! JobsStateLoading) { if (state is! JobsStateLoading) {
return; return;
@ -66,7 +63,7 @@ class JobsCubit extends Cubit<JobsState> {
const [], const [],
), ),
); );
final rebootResult = await api.reboot(); final rebootResult = await getIt<ApiConnectionRepository>().api.reboot();
if (rebootResult.success && rebootResult.data != null) { if (rebootResult.success && rebootResult.data != null) {
emit( emit(
JobsStateFinished( JobsStateFinished(
@ -136,7 +133,7 @@ class JobsCubit extends Cubit<JobsState> {
(state as JobsStateLoading) (state as JobsStateLoading)
.updateJobStatus(job.id, JobStatusEnum.running), .updateJobStatus(job.id, JobStatusEnum.running),
); );
final (result, message) = await job.execute(this); final (result, message) = await job.execute();
if (result) { if (result) {
emit( emit(
(state as JobsStateLoading).updateJobStatus( (state as JobsStateLoading).updateJobStatus(

View File

@ -2,7 +2,6 @@ import 'package:easy_localization/easy_localization.dart';
import 'package:equatable/equatable.dart'; import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:selfprivacy/config/get_it_config.dart'; import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/cubit/client_jobs/client_jobs_cubit.dart';
import 'package:selfprivacy/logic/models/auto_upgrade_settings.dart'; import 'package:selfprivacy/logic/models/auto_upgrade_settings.dart';
import 'package:selfprivacy/logic/models/hive/user.dart'; import 'package:selfprivacy/logic/models/hive/user.dart';
import 'package:selfprivacy/logic/models/json/server_job.dart'; import 'package:selfprivacy/logic/models/json/server_job.dart';
@ -27,7 +26,7 @@ abstract class ClientJob extends Equatable {
final String? message; final String? message;
bool canAddTo(final List<ClientJob> jobs) => true; bool canAddTo(final List<ClientJob> jobs) => true;
Future<(bool, String)> execute(final JobsCubit cubit); Future<(bool, String)> execute();
@override @override
List<Object> get props => [id, title, status]; List<Object> get props => [id, title, status];
@ -50,7 +49,7 @@ class RebuildServerJob extends ClientJob {
!jobs.any((final job) => job is RebuildServerJob); !jobs.any((final job) => job is RebuildServerJob);
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
(false, 'unimplemented'); (false, 'unimplemented');
@override @override
@ -74,7 +73,7 @@ class UpgradeServerJob extends ClientJob {
!jobs.any((final job) => job is UpgradeServerJob); !jobs.any((final job) => job is UpgradeServerJob);
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
(false, 'unimplemented'); (false, 'unimplemented');
@override @override
@ -101,7 +100,7 @@ class RebootServerJob extends ClientJob {
!jobs.any((final job) => job is RebootServerJob); !jobs.any((final job) => job is RebootServerJob);
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
(false, 'unimplemented'); (false, 'unimplemented');
@override @override
@ -127,7 +126,7 @@ class CreateUserJob extends ClientJob {
final User user; final User user;
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
getIt<ApiConnectionRepository>().createUser(user); getIt<ApiConnectionRepository>().createUser(user);
@override @override
@ -157,7 +156,7 @@ class ResetUserPasswordJob extends ClientJob {
final User user; final User user;
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
getIt<ApiConnectionRepository>().changeUserPassword(user, user.password!); getIt<ApiConnectionRepository>().changeUserPassword(user, user.password!);
@override @override
@ -192,7 +191,7 @@ class DeleteUserJob extends ClientJob {
); );
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
getIt<ApiConnectionRepository>().deleteUser(user); getIt<ApiConnectionRepository>().deleteUser(user);
@override @override
@ -232,8 +231,8 @@ class ServiceToggleJob extends ClientJob {
); );
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async { Future<(bool, String)> execute() async {
await cubit.api.switchService(service.id, needToTurnOn); await getIt<ApiConnectionRepository>().api.switchService(service.id, needToTurnOn);
return (true, 'Check not implemented'); return (true, 'Check not implemented');
} }
@ -267,7 +266,7 @@ class CreateSSHKeyJob extends ClientJob {
final String publicKey; final String publicKey;
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
getIt<ApiConnectionRepository>().addSshKey(user, publicKey); getIt<ApiConnectionRepository>().addSshKey(user, publicKey);
@override @override
@ -308,7 +307,7 @@ class DeleteSSHKeyJob extends ClientJob {
); );
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async => Future<(bool, String)> execute() async =>
getIt<ApiConnectionRepository>().deleteSshKey(user, publicKey); getIt<ApiConnectionRepository>().deleteSshKey(user, publicKey);
@override @override
@ -352,8 +351,8 @@ class ChangeAutoUpgradeSettingsJob extends ReplaceableJob {
final bool allowReboot; final bool allowReboot;
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async { Future<(bool, String)> execute() async {
await cubit.api.setAutoUpgradeSettings( await getIt<ApiConnectionRepository>().api.setAutoUpgradeSettings(
AutoUpgradeSettings(enable: enable, allowReboot: allowReboot), AutoUpgradeSettings(enable: enable, allowReboot: allowReboot),
); );
return (true, 'Check not implemented'); return (true, 'Check not implemented');
@ -393,7 +392,7 @@ class ChangeServerTimezoneJob extends ReplaceableJob {
final String timezone; final String timezone;
@override @override
Future<(bool, String)> execute(final JobsCubit cubit) async { Future<(bool, String)> execute() async {
await getIt<ApiConnectionRepository>().api.setTimezone(timezone); await getIt<ApiConnectionRepository>().api.setTimezone(timezone);
return (true, 'Check not implemented'); return (true, 'Check not implemented');
} }