Files
workavia-mail-front/lib/features/offline_mode/scheduler/work_request.dart
T
dab246 b1af1d8533 TF-1861 Config and abstraction work manager
(cherry picked from commit ee2dca9b34a907c8356ceccf0b23efba2893a01c)
2023-06-05 11:02:20 +07:00

38 lines
946 B
Dart

import 'package:equatable/equatable.dart';
import 'package:tmail_ui_user/features/offline_mode/scheduler/worker.dart';
import 'package:workmanager/workmanager.dart';
/// Represents the scheduling of requests
abstract class WorkRequest with EquatableMixin {
final Worker worker;
final Duration initialDelay;
final Duration backoffPolicyDelay;
final ExistingWorkPolicy? existingWorkPolicy;
final BackoffPolicy? backoffPolicy;
final OutOfQuotaPolicy? outOfQuotaPolicy;
final Constraints? constraints;
WorkRequest(
this.worker,
{
this.initialDelay = Duration.zero,
this.backoffPolicyDelay = Duration.zero,
this.existingWorkPolicy,
this.backoffPolicy,
this.outOfQuotaPolicy,
this.constraints
}
);
@override
List<Object?> get props => [
worker,
initialDelay,
backoffPolicyDelay,
existingWorkPolicy,
backoffPolicy,
outOfQuotaPolicy,
constraints
];
}