Initial commit: Krow Worker App
This commit is contained in:
82
lib/models/compliance.dart
Normal file
82
lib/models/compliance.dart
Normal file
@@ -0,0 +1,82 @@
|
||||
enum ComplianceState { verified, pending, missing }
|
||||
|
||||
extension ComplianceStateX on ComplianceState {
|
||||
String get label => switch (this) {
|
||||
ComplianceState.verified => 'Verified',
|
||||
ComplianceState.pending => 'Pending',
|
||||
ComplianceState.missing => 'Missing',
|
||||
};
|
||||
}
|
||||
|
||||
/// A single thing a business must see before you can work: a document, a
|
||||
/// certificate, a tax form or a piece of attire.
|
||||
class ComplianceItem {
|
||||
ComplianceItem({
|
||||
required this.id,
|
||||
required this.title,
|
||||
required this.subtitle,
|
||||
required this.state,
|
||||
this.statusLabel,
|
||||
this.fileName,
|
||||
this.fileMeta,
|
||||
this.expires,
|
||||
this.required_ = true,
|
||||
});
|
||||
|
||||
final String id;
|
||||
final String title;
|
||||
final String subtitle;
|
||||
final ComplianceState state;
|
||||
final String? statusLabel;
|
||||
final String? fileName;
|
||||
final String? fileMeta;
|
||||
final DateTime? expires;
|
||||
final bool required_;
|
||||
|
||||
String get badge => statusLabel ?? state.label;
|
||||
|
||||
ComplianceItem copyWith({
|
||||
ComplianceState? state,
|
||||
String? statusLabel,
|
||||
String? fileName,
|
||||
String? fileMeta,
|
||||
DateTime? expires,
|
||||
bool clearFile = false,
|
||||
}) => ComplianceItem(
|
||||
id: id,
|
||||
title: title,
|
||||
subtitle: subtitle,
|
||||
state: state ?? this.state,
|
||||
statusLabel: statusLabel ?? this.statusLabel,
|
||||
fileName: clearFile ? null : (fileName ?? this.fileName),
|
||||
fileMeta: clearFile ? null : (fileMeta ?? this.fileMeta),
|
||||
expires: expires ?? this.expires,
|
||||
required_: required_,
|
||||
);
|
||||
}
|
||||
|
||||
class EmergencyContact {
|
||||
EmergencyContact({
|
||||
required this.name,
|
||||
required this.phone,
|
||||
required this.relationship,
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String phone;
|
||||
final String relationship;
|
||||
}
|
||||
|
||||
class BankAccount {
|
||||
BankAccount({
|
||||
required this.bankName,
|
||||
required this.routing,
|
||||
required this.accountLast4,
|
||||
required this.accountType,
|
||||
});
|
||||
|
||||
final String bankName;
|
||||
final String routing;
|
||||
final String accountLast4;
|
||||
final String accountType;
|
||||
}
|
||||
Reference in New Issue
Block a user