Add alias support
This commit is contained in:
parent
bd432dca01
commit
7131e4ed66
6 changed files with 29 additions and 18 deletions
|
@ -25,17 +25,20 @@ class MailClientController extends AsyncNotifier<MailClient> {
|
|||
required String plainText,
|
||||
required String markdown,
|
||||
required String subject,
|
||||
required MailAddress from,
|
||||
required MailAddress to,
|
||||
}) async {
|
||||
final client = await future;
|
||||
final settings = ref.watch(SettingsController.provider)!;
|
||||
|
||||
return await client.sendMessageBuilder(
|
||||
MessageBuilder.prepareMultipartAlternativeMessage(
|
||||
plainText: plainText,
|
||||
htmlText: markdownToHtml(markdown),
|
||||
)
|
||||
..subject = subject
|
||||
..from = [from]
|
||||
..from = [
|
||||
MailAddress(settings.mailName, settings.emailAlias ?? settings.email),
|
||||
]
|
||||
..to = [to],
|
||||
);
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ abstract class Settings with _$Settings {
|
|||
required String adminName,
|
||||
required String adminRoom,
|
||||
required String email,
|
||||
required String? emailAlias,
|
||||
required String mailName,
|
||||
required String? inviteTo,
|
||||
required String mailDomain,
|
||||
|
|
|
@ -16,7 +16,7 @@ T _$identity<T>(T value) => value;
|
|||
/// @nodoc
|
||||
mixin _$Settings {
|
||||
|
||||
String get socket; Uri get homeserver; Uri get failureUri; Uri get successUri; String get name; String get adminName; String get adminRoom; String get email; String get mailName; String? get inviteTo; String get mailDomain; String get smtpPasswordFile; String get botPasswordFile;
|
||||
String get socket; Uri get homeserver; Uri get failureUri; Uri get successUri; String get name; String get adminName; String get adminRoom; String get email; String? get emailAlias; String get mailName; String? get inviteTo; String get mailDomain; String get smtpPasswordFile; String get botPasswordFile;
|
||||
/// Create a copy of Settings
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
|
@ -29,16 +29,16 @@ $SettingsCopyWith<Settings> get copyWith => _$SettingsCopyWithImpl<Settings>(thi
|
|||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is Settings&&(identical(other.socket, socket) || other.socket == socket)&&(identical(other.homeserver, homeserver) || other.homeserver == homeserver)&&(identical(other.failureUri, failureUri) || other.failureUri == failureUri)&&(identical(other.successUri, successUri) || other.successUri == successUri)&&(identical(other.name, name) || other.name == name)&&(identical(other.adminName, adminName) || other.adminName == adminName)&&(identical(other.adminRoom, adminRoom) || other.adminRoom == adminRoom)&&(identical(other.email, email) || other.email == email)&&(identical(other.mailName, mailName) || other.mailName == mailName)&&(identical(other.inviteTo, inviteTo) || other.inviteTo == inviteTo)&&(identical(other.mailDomain, mailDomain) || other.mailDomain == mailDomain)&&(identical(other.smtpPasswordFile, smtpPasswordFile) || other.smtpPasswordFile == smtpPasswordFile)&&(identical(other.botPasswordFile, botPasswordFile) || other.botPasswordFile == botPasswordFile));
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is Settings&&(identical(other.socket, socket) || other.socket == socket)&&(identical(other.homeserver, homeserver) || other.homeserver == homeserver)&&(identical(other.failureUri, failureUri) || other.failureUri == failureUri)&&(identical(other.successUri, successUri) || other.successUri == successUri)&&(identical(other.name, name) || other.name == name)&&(identical(other.adminName, adminName) || other.adminName == adminName)&&(identical(other.adminRoom, adminRoom) || other.adminRoom == adminRoom)&&(identical(other.email, email) || other.email == email)&&(identical(other.emailAlias, emailAlias) || other.emailAlias == emailAlias)&&(identical(other.mailName, mailName) || other.mailName == mailName)&&(identical(other.inviteTo, inviteTo) || other.inviteTo == inviteTo)&&(identical(other.mailDomain, mailDomain) || other.mailDomain == mailDomain)&&(identical(other.smtpPasswordFile, smtpPasswordFile) || other.smtpPasswordFile == smtpPasswordFile)&&(identical(other.botPasswordFile, botPasswordFile) || other.botPasswordFile == botPasswordFile));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType,socket,homeserver,failureUri,successUri,name,adminName,adminRoom,email,mailName,inviteTo,mailDomain,smtpPasswordFile,botPasswordFile);
|
||||
int get hashCode => Object.hash(runtimeType,socket,homeserver,failureUri,successUri,name,adminName,adminRoom,email,emailAlias,mailName,inviteTo,mailDomain,smtpPasswordFile,botPasswordFile);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'Settings(socket: $socket, homeserver: $homeserver, failureUri: $failureUri, successUri: $successUri, name: $name, adminName: $adminName, adminRoom: $adminRoom, email: $email, mailName: $mailName, inviteTo: $inviteTo, mailDomain: $mailDomain, smtpPasswordFile: $smtpPasswordFile, botPasswordFile: $botPasswordFile)';
|
||||
return 'Settings(socket: $socket, homeserver: $homeserver, failureUri: $failureUri, successUri: $successUri, name: $name, adminName: $adminName, adminRoom: $adminRoom, email: $email, emailAlias: $emailAlias, mailName: $mailName, inviteTo: $inviteTo, mailDomain: $mailDomain, smtpPasswordFile: $smtpPasswordFile, botPasswordFile: $botPasswordFile)';
|
||||
}
|
||||
|
||||
|
||||
|
@ -49,7 +49,7 @@ abstract mixin class $SettingsCopyWith<$Res> {
|
|||
factory $SettingsCopyWith(Settings value, $Res Function(Settings) _then) = _$SettingsCopyWithImpl;
|
||||
@useResult
|
||||
$Res call({
|
||||
String socket, Uri homeserver, Uri failureUri, Uri successUri, String name, String adminName, String adminRoom, String email, String mailName, String? inviteTo, String mailDomain, String smtpPasswordFile, String botPasswordFile
|
||||
String socket, Uri homeserver, Uri failureUri, Uri successUri, String name, String adminName, String adminRoom, String email, String? emailAlias, String mailName, String? inviteTo, String mailDomain, String smtpPasswordFile, String botPasswordFile
|
||||
});
|
||||
|
||||
|
||||
|
@ -66,7 +66,7 @@ class _$SettingsCopyWithImpl<$Res>
|
|||
|
||||
/// Create a copy of Settings
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@pragma('vm:prefer-inline') @override $Res call({Object? socket = null,Object? homeserver = null,Object? failureUri = null,Object? successUri = null,Object? name = null,Object? adminName = null,Object? adminRoom = null,Object? email = null,Object? mailName = null,Object? inviteTo = freezed,Object? mailDomain = null,Object? smtpPasswordFile = null,Object? botPasswordFile = null,}) {
|
||||
@pragma('vm:prefer-inline') @override $Res call({Object? socket = null,Object? homeserver = null,Object? failureUri = null,Object? successUri = null,Object? name = null,Object? adminName = null,Object? adminRoom = null,Object? email = null,Object? emailAlias = freezed,Object? mailName = null,Object? inviteTo = freezed,Object? mailDomain = null,Object? smtpPasswordFile = null,Object? botPasswordFile = null,}) {
|
||||
return _then(_self.copyWith(
|
||||
socket: null == socket ? _self.socket : socket // ignore: cast_nullable_to_non_nullable
|
||||
as String,homeserver: null == homeserver ? _self.homeserver : homeserver // ignore: cast_nullable_to_non_nullable
|
||||
|
@ -76,7 +76,8 @@ as Uri,name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nu
|
|||
as String,adminName: null == adminName ? _self.adminName : adminName // ignore: cast_nullable_to_non_nullable
|
||||
as String,adminRoom: null == adminRoom ? _self.adminRoom : adminRoom // ignore: cast_nullable_to_non_nullable
|
||||
as String,email: null == email ? _self.email : email // ignore: cast_nullable_to_non_nullable
|
||||
as String,mailName: null == mailName ? _self.mailName : mailName // ignore: cast_nullable_to_non_nullable
|
||||
as String,emailAlias: freezed == emailAlias ? _self.emailAlias : emailAlias // ignore: cast_nullable_to_non_nullable
|
||||
as String?,mailName: null == mailName ? _self.mailName : mailName // ignore: cast_nullable_to_non_nullable
|
||||
as String,inviteTo: freezed == inviteTo ? _self.inviteTo : inviteTo // ignore: cast_nullable_to_non_nullable
|
||||
as String?,mailDomain: null == mailDomain ? _self.mailDomain : mailDomain // ignore: cast_nullable_to_non_nullable
|
||||
as String,smtpPasswordFile: null == smtpPasswordFile ? _self.smtpPasswordFile : smtpPasswordFile // ignore: cast_nullable_to_non_nullable
|
||||
|
@ -92,7 +93,7 @@ as String,
|
|||
@JsonSerializable()
|
||||
|
||||
class _Settings implements Settings {
|
||||
const _Settings({required this.socket, required this.homeserver, required this.failureUri, required this.successUri, required this.name, required this.adminName, required this.adminRoom, required this.email, required this.mailName, required this.inviteTo, required this.mailDomain, required this.smtpPasswordFile, required this.botPasswordFile});
|
||||
const _Settings({required this.socket, required this.homeserver, required this.failureUri, required this.successUri, required this.name, required this.adminName, required this.adminRoom, required this.email, required this.emailAlias, required this.mailName, required this.inviteTo, required this.mailDomain, required this.smtpPasswordFile, required this.botPasswordFile});
|
||||
factory _Settings.fromJson(Map<String, dynamic> json) => _$SettingsFromJson(json);
|
||||
|
||||
@override final String socket;
|
||||
|
@ -103,6 +104,7 @@ class _Settings implements Settings {
|
|||
@override final String adminName;
|
||||
@override final String adminRoom;
|
||||
@override final String email;
|
||||
@override final String? emailAlias;
|
||||
@override final String mailName;
|
||||
@override final String? inviteTo;
|
||||
@override final String mailDomain;
|
||||
|
@ -122,16 +124,16 @@ Map<String, dynamic> toJson() {
|
|||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is _Settings&&(identical(other.socket, socket) || other.socket == socket)&&(identical(other.homeserver, homeserver) || other.homeserver == homeserver)&&(identical(other.failureUri, failureUri) || other.failureUri == failureUri)&&(identical(other.successUri, successUri) || other.successUri == successUri)&&(identical(other.name, name) || other.name == name)&&(identical(other.adminName, adminName) || other.adminName == adminName)&&(identical(other.adminRoom, adminRoom) || other.adminRoom == adminRoom)&&(identical(other.email, email) || other.email == email)&&(identical(other.mailName, mailName) || other.mailName == mailName)&&(identical(other.inviteTo, inviteTo) || other.inviteTo == inviteTo)&&(identical(other.mailDomain, mailDomain) || other.mailDomain == mailDomain)&&(identical(other.smtpPasswordFile, smtpPasswordFile) || other.smtpPasswordFile == smtpPasswordFile)&&(identical(other.botPasswordFile, botPasswordFile) || other.botPasswordFile == botPasswordFile));
|
||||
return identical(this, other) || (other.runtimeType == runtimeType&&other is _Settings&&(identical(other.socket, socket) || other.socket == socket)&&(identical(other.homeserver, homeserver) || other.homeserver == homeserver)&&(identical(other.failureUri, failureUri) || other.failureUri == failureUri)&&(identical(other.successUri, successUri) || other.successUri == successUri)&&(identical(other.name, name) || other.name == name)&&(identical(other.adminName, adminName) || other.adminName == adminName)&&(identical(other.adminRoom, adminRoom) || other.adminRoom == adminRoom)&&(identical(other.email, email) || other.email == email)&&(identical(other.emailAlias, emailAlias) || other.emailAlias == emailAlias)&&(identical(other.mailName, mailName) || other.mailName == mailName)&&(identical(other.inviteTo, inviteTo) || other.inviteTo == inviteTo)&&(identical(other.mailDomain, mailDomain) || other.mailDomain == mailDomain)&&(identical(other.smtpPasswordFile, smtpPasswordFile) || other.smtpPasswordFile == smtpPasswordFile)&&(identical(other.botPasswordFile, botPasswordFile) || other.botPasswordFile == botPasswordFile));
|
||||
}
|
||||
|
||||
@JsonKey(includeFromJson: false, includeToJson: false)
|
||||
@override
|
||||
int get hashCode => Object.hash(runtimeType,socket,homeserver,failureUri,successUri,name,adminName,adminRoom,email,mailName,inviteTo,mailDomain,smtpPasswordFile,botPasswordFile);
|
||||
int get hashCode => Object.hash(runtimeType,socket,homeserver,failureUri,successUri,name,adminName,adminRoom,email,emailAlias,mailName,inviteTo,mailDomain,smtpPasswordFile,botPasswordFile);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'Settings(socket: $socket, homeserver: $homeserver, failureUri: $failureUri, successUri: $successUri, name: $name, adminName: $adminName, adminRoom: $adminRoom, email: $email, mailName: $mailName, inviteTo: $inviteTo, mailDomain: $mailDomain, smtpPasswordFile: $smtpPasswordFile, botPasswordFile: $botPasswordFile)';
|
||||
return 'Settings(socket: $socket, homeserver: $homeserver, failureUri: $failureUri, successUri: $successUri, name: $name, adminName: $adminName, adminRoom: $adminRoom, email: $email, emailAlias: $emailAlias, mailName: $mailName, inviteTo: $inviteTo, mailDomain: $mailDomain, smtpPasswordFile: $smtpPasswordFile, botPasswordFile: $botPasswordFile)';
|
||||
}
|
||||
|
||||
|
||||
|
@ -142,7 +144,7 @@ abstract mixin class _$SettingsCopyWith<$Res> implements $SettingsCopyWith<$Res>
|
|||
factory _$SettingsCopyWith(_Settings value, $Res Function(_Settings) _then) = __$SettingsCopyWithImpl;
|
||||
@override @useResult
|
||||
$Res call({
|
||||
String socket, Uri homeserver, Uri failureUri, Uri successUri, String name, String adminName, String adminRoom, String email, String mailName, String? inviteTo, String mailDomain, String smtpPasswordFile, String botPasswordFile
|
||||
String socket, Uri homeserver, Uri failureUri, Uri successUri, String name, String adminName, String adminRoom, String email, String? emailAlias, String mailName, String? inviteTo, String mailDomain, String smtpPasswordFile, String botPasswordFile
|
||||
});
|
||||
|
||||
|
||||
|
@ -159,7 +161,7 @@ class __$SettingsCopyWithImpl<$Res>
|
|||
|
||||
/// Create a copy of Settings
|
||||
/// with the given fields replaced by the non-null parameter values.
|
||||
@override @pragma('vm:prefer-inline') $Res call({Object? socket = null,Object? homeserver = null,Object? failureUri = null,Object? successUri = null,Object? name = null,Object? adminName = null,Object? adminRoom = null,Object? email = null,Object? mailName = null,Object? inviteTo = freezed,Object? mailDomain = null,Object? smtpPasswordFile = null,Object? botPasswordFile = null,}) {
|
||||
@override @pragma('vm:prefer-inline') $Res call({Object? socket = null,Object? homeserver = null,Object? failureUri = null,Object? successUri = null,Object? name = null,Object? adminName = null,Object? adminRoom = null,Object? email = null,Object? emailAlias = freezed,Object? mailName = null,Object? inviteTo = freezed,Object? mailDomain = null,Object? smtpPasswordFile = null,Object? botPasswordFile = null,}) {
|
||||
return _then(_Settings(
|
||||
socket: null == socket ? _self.socket : socket // ignore: cast_nullable_to_non_nullable
|
||||
as String,homeserver: null == homeserver ? _self.homeserver : homeserver // ignore: cast_nullable_to_non_nullable
|
||||
|
@ -169,7 +171,8 @@ as Uri,name: null == name ? _self.name : name // ignore: cast_nullable_to_non_nu
|
|||
as String,adminName: null == adminName ? _self.adminName : adminName // ignore: cast_nullable_to_non_nullable
|
||||
as String,adminRoom: null == adminRoom ? _self.adminRoom : adminRoom // ignore: cast_nullable_to_non_nullable
|
||||
as String,email: null == email ? _self.email : email // ignore: cast_nullable_to_non_nullable
|
||||
as String,mailName: null == mailName ? _self.mailName : mailName // ignore: cast_nullable_to_non_nullable
|
||||
as String,emailAlias: freezed == emailAlias ? _self.emailAlias : emailAlias // ignore: cast_nullable_to_non_nullable
|
||||
as String?,mailName: null == mailName ? _self.mailName : mailName // ignore: cast_nullable_to_non_nullable
|
||||
as String,inviteTo: freezed == inviteTo ? _self.inviteTo : inviteTo // ignore: cast_nullable_to_non_nullable
|
||||
as String?,mailDomain: null == mailDomain ? _self.mailDomain : mailDomain // ignore: cast_nullable_to_non_nullable
|
||||
as String,smtpPasswordFile: null == smtpPasswordFile ? _self.smtpPasswordFile : smtpPasswordFile // ignore: cast_nullable_to_non_nullable
|
||||
|
|
|
@ -15,6 +15,7 @@ _Settings _$SettingsFromJson(Map<String, dynamic> json) => _Settings(
|
|||
adminName: json['adminName'] as String,
|
||||
adminRoom: json['adminRoom'] as String,
|
||||
email: json['email'] as String,
|
||||
emailAlias: json['emailAlias'] as String?,
|
||||
mailName: json['mailName'] as String,
|
||||
inviteTo: json['inviteTo'] as String?,
|
||||
mailDomain: json['mailDomain'] as String,
|
||||
|
@ -31,6 +32,7 @@ Map<String, dynamic> _$SettingsToJson(_Settings instance) => <String, dynamic>{
|
|||
'adminName': instance.adminName,
|
||||
'adminRoom': instance.adminRoom,
|
||||
'email': instance.email,
|
||||
'emailAlias': instance.emailAlias,
|
||||
'mailName': instance.mailName,
|
||||
'inviteTo': instance.inviteTo,
|
||||
'mailDomain': instance.mailDomain,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue