From a7d54479d9e2c82ed0d2b1627fc5d3dd40dbbd71 Mon Sep 17 00:00:00 2001 From: Dat PHAM HOANG Date: Tue, 31 May 2022 14:23:26 +0700 Subject: [PATCH] TF-571 Add account to identify which account with AuthenticationType are using --- model/lib/account/account.dart | 13 ++ model/lib/account/authentication_type.dart | 18 +++ model/lib/model.dart | 136 ++++++++++----------- 3 files changed, 95 insertions(+), 72 deletions(-) create mode 100644 model/lib/account/account.dart create mode 100644 model/lib/account/authentication_type.dart diff --git a/model/lib/account/account.dart b/model/lib/account/account.dart new file mode 100644 index 000000000..eea63a456 --- /dev/null +++ b/model/lib/account/account.dart @@ -0,0 +1,13 @@ +import 'package:equatable/equatable.dart'; +import 'package:model/account/authentication_type.dart'; + +class Account with EquatableMixin { + final String id; + final AuthenticationType authenticationType; + final bool isSelected; + + Account(this.id, this.authenticationType, {required this.isSelected}); + + @override + List get props => [id, authenticationType, isSelected]; +} \ No newline at end of file diff --git a/model/lib/account/authentication_type.dart b/model/lib/account/authentication_type.dart new file mode 100644 index 000000000..c38842f07 --- /dev/null +++ b/model/lib/account/authentication_type.dart @@ -0,0 +1,18 @@ +enum AuthenticationType { + basic, + oidc, + none +} + +extension AuthenticationTypeExtension on AuthenticationType { + String asString() { + switch (this) { + case AuthenticationType.oidc: + return 'oidc'; + case AuthenticationType.basic: + return 'basic'; + default: + return 'none'; + } + } +} \ No newline at end of file diff --git a/model/lib/model.dart b/model/lib/model.dart index bcd890424..4efa6e214 100644 --- a/model/lib/model.dart +++ b/model/lib/model.dart @@ -1,83 +1,75 @@ library model; +export 'account/account.dart'; +export 'account/account_request.dart'; +export 'account/account_type.dart'; +export 'account/authentication_type.dart'; +export 'account/password.dart'; // Account export 'account/user_name.dart'; -export 'account/password.dart'; -export 'account/account_type.dart'; -export 'account/account_request.dart'; - -// User -export 'user/user_profile.dart'; -export 'user/user_profile_response.dart'; - -// Mailbox -export 'mailbox/presentation_mailbox.dart'; -export 'mailbox/select_mode.dart'; -export 'mailbox/expand_mode.dart'; -export 'mailbox/mailbox_property.dart'; - -// Email -export 'email/presentation_email.dart'; -export 'email/email_content.dart'; -export 'email/prefix_email_address.dart'; -export 'email/email_action_type.dart'; -export 'email/presentation_email_address.dart'; -export 'email/email_address_cache.dart'; -export 'email/read_actions.dart'; -export 'email/attachment.dart'; -export 'email/mark_star_action.dart'; -export 'email/email_property.dart'; -export 'email/email_content_type.dart'; - -// Extensions -export 'extensions/email_address_extension.dart'; -export 'extensions/list_email_address_extension.dart'; -export 'extensions/session_extension.dart'; -export 'extensions/utc_date_extension.dart'; -export 'extensions/email_extension.dart'; -export 'extensions/user_profile_extension.dart'; -export 'extensions/presentation_email_extension.dart'; -export 'extensions/keyword_identifier_extension.dart'; -export 'extensions/presentation_mailbox_extension.dart'; -export 'extensions/email_body_part_extension.dart'; -export 'extensions/attachment_extension.dart'; -export 'extensions/list_email_id_extension.dart'; -export 'extensions/mailbox_id_extension.dart'; -export 'extensions/mailbox_extension.dart'; -export 'extensions/mailbox_name_extension.dart'; -export 'extensions/properties_extension.dart'; -export 'extensions/list_mailbox_extension.dart'; -export 'extensions/list_extension.dart'; -export 'extensions/list_email_extension.dart'; -export 'extensions/media_type_extension.dart'; -export 'extensions/list_attachment_extension.dart'; -export 'extensions/list_presentation_email_extension.dart'; -export 'extensions/list_email_content_extension.dart'; -export 'extensions/identity_extension.dart'; - -// Download -export 'download/download_task_id.dart'; - +// AutoComplete +export 'autocomplete/auto_complete_pattern.dart'; // Contact export 'contact/contact.dart'; export 'contact/device_contact.dart'; - +// Download +export 'download/download_task_id.dart'; +export 'email/attachment.dart'; +export 'email/email_action_type.dart'; +export 'email/email_address_cache.dart'; +export 'email/email_content.dart'; +export 'email/email_content_type.dart'; +export 'email/email_property.dart'; +export 'email/mark_star_action.dart'; +export 'email/prefix_email_address.dart'; +// Email +export 'email/presentation_email.dart'; +export 'email/presentation_email_address.dart'; +export 'email/read_actions.dart'; +export 'extensions/attachment_extension.dart'; +// Extensions +export 'extensions/email_address_extension.dart'; +export 'extensions/email_body_part_extension.dart'; +export 'extensions/email_extension.dart'; +export 'extensions/identity_extension.dart'; +export 'extensions/keyword_identifier_extension.dart'; +export 'extensions/list_attachment_extension.dart'; +export 'extensions/list_email_address_extension.dart'; +export 'extensions/list_email_content_extension.dart'; +export 'extensions/list_email_extension.dart'; +export 'extensions/list_email_id_extension.dart'; +export 'extensions/list_extension.dart'; +export 'extensions/list_mailbox_extension.dart'; +export 'extensions/list_presentation_email_extension.dart'; +export 'extensions/mailbox_extension.dart'; +export 'extensions/mailbox_id_extension.dart'; +export 'extensions/mailbox_name_extension.dart'; +export 'extensions/media_type_extension.dart'; +export 'extensions/presentation_email_extension.dart'; +export 'extensions/presentation_mailbox_extension.dart'; +export 'extensions/properties_extension.dart'; +export 'extensions/session_extension.dart'; +export 'extensions/user_profile_extension.dart'; +export 'extensions/utc_date_extension.dart'; +// Identity +export 'identity/identity_request_dto.dart'; +export 'mailbox/expand_mode.dart'; +export 'mailbox/mailbox_property.dart'; +// Mailbox +export 'mailbox/presentation_mailbox.dart'; +export 'mailbox/select_mode.dart'; +export 'oidc/oidc_configuration.dart'; +export 'oidc/request/oidc_request.dart'; +export 'oidc/response/oidc_link_dto.dart'; +// OIDC +export 'oidc/response/oidc_response.dart'; +export 'oidc/token.dart'; +export 'oidc/token_id.dart'; +export 'oidc/token_oidc.dart'; // Upload export 'upload/file_info.dart'; export 'upload/upload_request.dart'; export 'upload/upload_response.dart'; - -// AutoComplete -export 'autocomplete/auto_complete_pattern.dart'; - -// Identity -export 'identity/identity_request_dto.dart'; - -// OIDC -export 'oidc/response/oidc_response.dart'; -export 'oidc/response/oidc_link_dto.dart'; -export 'oidc/request/oidc_request.dart'; -export 'oidc/oidc_configuration.dart'; -export 'oidc/token_id.dart'; -export 'oidc/token_oidc.dart'; -export 'oidc/token.dart'; \ No newline at end of file +// User +export 'user/user_profile.dart'; +export 'user/user_profile_response.dart'; \ No newline at end of file