Init model module
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class Password with EquatableMixin {
|
||||
final String value;
|
||||
|
||||
Password(this.value);
|
||||
|
||||
@override
|
||||
List<Object> get props => [value];
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class UserName with EquatableMixin {
|
||||
final String userName;
|
||||
|
||||
UserName(this.userName);
|
||||
|
||||
@override
|
||||
List<Object> get props => [userName];
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
enum ExpandMode { COLLAPSE, EXPAND }
|
||||
@@ -0,0 +1,63 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox.dart';
|
||||
import 'package:jmap_dart_client/jmap/mail/mailbox/mailbox_rights.dart';
|
||||
import 'package:model/mailbox/select_mode.dart';
|
||||
|
||||
class PresentationMailbox with EquatableMixin {
|
||||
|
||||
final MailboxId id;
|
||||
final MailboxName? name;
|
||||
final MailboxId? parentId;
|
||||
final Role? role;
|
||||
final SortOrder? sortOrder;
|
||||
final TotalEmails? totalEmails;
|
||||
final UnreadEmails? unreadEmails;
|
||||
final TotalThreads? totalThreads;
|
||||
final UnreadThreads? unreadThreads;
|
||||
final MailboxRights? myRights;
|
||||
final IsSubscribed? isSubscribed;
|
||||
final SelectMode selectMode;
|
||||
|
||||
PresentationMailbox(
|
||||
this.id,
|
||||
{
|
||||
this.name,
|
||||
this.parentId,
|
||||
this.role,
|
||||
this.sortOrder,
|
||||
this.totalEmails,
|
||||
this.unreadEmails,
|
||||
this.totalThreads,
|
||||
this.unreadThreads,
|
||||
this.myRights,
|
||||
this.isSubscribed,
|
||||
this.selectMode = SelectMode.INACTIVE
|
||||
}
|
||||
);
|
||||
|
||||
bool hasParentId() => parentId != null && parentId!.id.value.isNotEmpty;
|
||||
|
||||
bool hasRole() => role != null && role!.value.isNotEmpty;
|
||||
|
||||
String getCountUnReadEmails() {
|
||||
if (unreadEmails == null) {
|
||||
return '';
|
||||
} else {
|
||||
if (unreadEmails!.value.value <= 0) {
|
||||
return '';
|
||||
} else {
|
||||
return unreadEmails!.value.value <= 999
|
||||
? '${unreadEmails!.value.value}'
|
||||
: '999+';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
List<Object?> get props => [
|
||||
id,
|
||||
name,
|
||||
parentId,
|
||||
role
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
enum SelectMode { ACTIVE, INACTIVE }
|
||||
@@ -0,0 +1,13 @@
|
||||
library model;
|
||||
|
||||
// Account
|
||||
export 'account/user_name.dart';
|
||||
export 'account/password.dart';
|
||||
|
||||
// User
|
||||
export 'user/user_id.dart';
|
||||
export 'user/user.dart';
|
||||
// Mailbox
|
||||
export 'mailbox/presentation_mailbox.dart';
|
||||
export 'mailbox/select_mode.dart';
|
||||
export 'mailbox/expand_mode.dart';
|
||||
@@ -0,0 +1,22 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:model/user/user_id.dart';
|
||||
|
||||
class User with EquatableMixin {
|
||||
|
||||
final UserId userId;
|
||||
final String firstName;
|
||||
final String lastName;
|
||||
|
||||
User(
|
||||
this.userId,
|
||||
this.firstName,
|
||||
this.lastName,
|
||||
);
|
||||
|
||||
@override
|
||||
List<Object> get props => [
|
||||
userId,
|
||||
firstName,
|
||||
lastName,
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import 'package:equatable/equatable.dart';
|
||||
|
||||
class UserId with EquatableMixin {
|
||||
final String id;
|
||||
|
||||
UserId(this.id);
|
||||
|
||||
@override
|
||||
List<Object?> get props => [id];
|
||||
}
|
||||
Reference in New Issue
Block a user