Files
workavia-mail-front/model/lib/account/account_request.dart
T
dab246 424ab675d5 TF-2177 Fix download attachment not working on web
Signed-off-by: dab246 <tdvu@linagora.com>
(cherry picked from commit 09cbfe5245c206670aa2191c151fd8f2ea48df3a)
2023-10-27 11:18:29 +07:00

46 lines
1.2 KiB
Dart

import 'dart:convert';
import 'package:equatable/equatable.dart';
import 'package:jmap_dart_client/jmap/core/user_name.dart';
import 'package:model/account/authentication_type.dart';
import 'package:model/account/password.dart';
import 'package:model/oidc/token.dart';
class AccountRequest with EquatableMixin {
final UserName? userName;
final Password? password;
final Token? token;
final AuthenticationType authenticationType;
AccountRequest({
this.userName,
this.password,
this.token,
this.authenticationType = AuthenticationType.none,
});
factory AccountRequest.withOidc({required Token token}) {
return AccountRequest(
token: token,
authenticationType: AuthenticationType.oidc
);
}
factory AccountRequest.withBasic({
required UserName userName,
required Password password
}) {
return AccountRequest(
userName: userName,
password: password,
authenticationType: AuthenticationType.basic
);
}
String get basicAuth => 'Basic ${base64Encode(utf8.encode('${userName?.value}:${password?.value}'))}';
String get bearerToken => 'Bearer ${token?.token}';
@override
List<Object?> get props => [userName, password];
}