Skip to content

Commit

Permalink
initial work and use case
Browse files Browse the repository at this point in the history
  • Loading branch information
n13 committed Sep 28, 2023
1 parent 8babc66 commit 54bd711
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 31 deletions.
6 changes: 3 additions & 3 deletions lib/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@ class HyphaAppView extends StatelessWidget {
navigateToSignTransaction: (ScanQrCodeResultData data) {
_showSignTransactionBottomSheet(data);
},
showJoinDaoRationale: (daoName, secret) {
_showJoinDaoRationale(daoName, secret, context);
showJoinDaoRationale: (daoName, daoId, secret) {
_showJoinDaoRationale(daoName, daoId, secret, context);
},
);
context.read<DeeplinkBloc>().add(const DeeplinkEvent.clearPageCommand());
Expand Down Expand Up @@ -226,7 +226,7 @@ class HyphaAppView extends StatelessWidget {
);
}

void _showJoinDaoRationale(String daoName, String secret, BuildContext context) {
void _showJoinDaoRationale(String daoName, String daoId, String secret, BuildContext context) {
showModalBottomSheet(
useSafeArea: true,
isScrollControlled: true,
Expand Down
5 changes: 0 additions & 5 deletions lib/core/network/api/services/dao_service.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import 'dart:convert';

import 'package:dio/dio.dart';
import 'package:hypha_wallet/core/error_handler/model/hypha_error.dart';
import 'package:hypha_wallet/core/logging/log_helper.dart';
Expand Down Expand Up @@ -60,9 +58,6 @@ class DaoService {
try {
final res = await _networkingManager.post(url, data: query);
final Map<String, dynamic> response = res.data;

print("response: ${response}");

final List<dynamic> daos = response['data']['queryDao'];
return Result.value(daos.isNotEmpty ? DaoData.fromJson(daos[0]) : null);
} catch (error, stackTrace) {
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/blocs/deeplink/deeplink_bloc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ class DeeplinkBloc extends Bloc<DeeplinkEvent, DeeplinkState> {
final String enrollSecret = queryParams['enroll_secret']!;

final PageCommand command;
if(_authRepository.currentAuthStatus is Authenticated) {
command = PageCommand.showJoinDaoRationale(dao, enrollSecret);
if (_authRepository.currentAuthStatus is Authenticated) {
command = PageCommand.showJoinDaoRationale(dao, dao, enrollSecret);
} else {
command = const PageCommand.navigateToCreateAccount();
}
Expand Down
58 changes: 38 additions & 20 deletions lib/ui/blocs/deeplink/deeplink_bloc.freezed.dart
Original file line number Diff line number Diff line change
Expand Up @@ -775,7 +775,7 @@ mixin _$PageCommand {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() navigateToCreateAccount,
required TResult Function(String daoName, String secret)
required TResult Function(String daoName, String daoId, String secret)
showJoinDaoRationale,
required TResult Function(ScanQrCodeResultData data)
navigateToSignTransaction,
Expand All @@ -784,14 +784,16 @@ mixin _$PageCommand {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? navigateToCreateAccount,
TResult? Function(String daoName, String secret)? showJoinDaoRationale,
TResult? Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult? Function(ScanQrCodeResultData data)? navigateToSignTransaction,
}) =>
throw _privateConstructorUsedError;
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? navigateToCreateAccount,
TResult Function(String daoName, String secret)? showJoinDaoRationale,
TResult Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult Function(ScanQrCodeResultData data)? navigateToSignTransaction,
required TResult orElse(),
}) =>
Expand Down Expand Up @@ -882,7 +884,7 @@ class _$_NavigateToCreateAccount implements _NavigateToCreateAccount {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() navigateToCreateAccount,
required TResult Function(String daoName, String secret)
required TResult Function(String daoName, String daoId, String secret)
showJoinDaoRationale,
required TResult Function(ScanQrCodeResultData data)
navigateToSignTransaction,
Expand All @@ -894,7 +896,8 @@ class _$_NavigateToCreateAccount implements _NavigateToCreateAccount {
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? navigateToCreateAccount,
TResult? Function(String daoName, String secret)? showJoinDaoRationale,
TResult? Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult? Function(ScanQrCodeResultData data)? navigateToSignTransaction,
}) {
return navigateToCreateAccount?.call();
Expand All @@ -904,7 +907,8 @@ class _$_NavigateToCreateAccount implements _NavigateToCreateAccount {
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? navigateToCreateAccount,
TResult Function(String daoName, String secret)? showJoinDaoRationale,
TResult Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult Function(ScanQrCodeResultData data)? navigateToSignTransaction,
required TResult orElse(),
}) {
Expand Down Expand Up @@ -963,7 +967,7 @@ abstract class _$$_ShowJoinDaoRationaleCopyWith<$Res> {
$Res Function(_$_ShowJoinDaoRationale) then) =
__$$_ShowJoinDaoRationaleCopyWithImpl<$Res>;
@useResult
$Res call({String daoName, String secret});
$Res call({String daoName, String daoId, String secret});
}

/// @nodoc
Expand All @@ -978,13 +982,18 @@ class __$$_ShowJoinDaoRationaleCopyWithImpl<$Res>
@override
$Res call({
Object? daoName = null,
Object? daoId = null,
Object? secret = null,
}) {
return _then(_$_ShowJoinDaoRationale(
null == daoName
? _value.daoName
: daoName // ignore: cast_nullable_to_non_nullable
as String,
null == daoId
? _value.daoId
: daoId // ignore: cast_nullable_to_non_nullable
as String,
null == secret
? _value.secret
: secret // ignore: cast_nullable_to_non_nullable
Expand All @@ -996,16 +1005,18 @@ class __$$_ShowJoinDaoRationaleCopyWithImpl<$Res>
/// @nodoc
class _$_ShowJoinDaoRationale implements _ShowJoinDaoRationale {
const _$_ShowJoinDaoRationale(this.daoName, this.secret);
const _$_ShowJoinDaoRationale(this.daoName, this.daoId, this.secret);

@override
final String daoName;
@override
final String daoId;
@override
final String secret;

@override
String toString() {
return 'PageCommand.showJoinDaoRationale(daoName: $daoName, secret: $secret)';
return 'PageCommand.showJoinDaoRationale(daoName: $daoName, daoId: $daoId, secret: $secret)';
}

@override
Expand All @@ -1014,11 +1025,12 @@ class _$_ShowJoinDaoRationale implements _ShowJoinDaoRationale {
(other.runtimeType == runtimeType &&
other is _$_ShowJoinDaoRationale &&
(identical(other.daoName, daoName) || other.daoName == daoName) &&
(identical(other.daoId, daoId) || other.daoId == daoId) &&
(identical(other.secret, secret) || other.secret == secret));
}

@override
int get hashCode => Object.hash(runtimeType, daoName, secret);
int get hashCode => Object.hash(runtimeType, daoName, daoId, secret);

@JsonKey(ignore: true)
@override
Expand All @@ -1031,34 +1043,36 @@ class _$_ShowJoinDaoRationale implements _ShowJoinDaoRationale {
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() navigateToCreateAccount,
required TResult Function(String daoName, String secret)
required TResult Function(String daoName, String daoId, String secret)
showJoinDaoRationale,
required TResult Function(ScanQrCodeResultData data)
navigateToSignTransaction,
}) {
return showJoinDaoRationale(daoName, secret);
return showJoinDaoRationale(daoName, daoId, secret);
}

@override
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? navigateToCreateAccount,
TResult? Function(String daoName, String secret)? showJoinDaoRationale,
TResult? Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult? Function(ScanQrCodeResultData data)? navigateToSignTransaction,
}) {
return showJoinDaoRationale?.call(daoName, secret);
return showJoinDaoRationale?.call(daoName, daoId, secret);
}

@override
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? navigateToCreateAccount,
TResult Function(String daoName, String secret)? showJoinDaoRationale,
TResult Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult Function(ScanQrCodeResultData data)? navigateToSignTransaction,
required TResult orElse(),
}) {
if (showJoinDaoRationale != null) {
return showJoinDaoRationale(daoName, secret);
return showJoinDaoRationale(daoName, daoId, secret);
}
return orElse();
}
Expand Down Expand Up @@ -1104,9 +1118,11 @@ class _$_ShowJoinDaoRationale implements _ShowJoinDaoRationale {

abstract class _ShowJoinDaoRationale implements PageCommand {
const factory _ShowJoinDaoRationale(
final String daoName, final String secret) = _$_ShowJoinDaoRationale;
final String daoName, final String daoId, final String secret) =
_$_ShowJoinDaoRationale;

String get daoName;
String get daoId;
String get secret;
@JsonKey(ignore: true)
_$$_ShowJoinDaoRationaleCopyWith<_$_ShowJoinDaoRationale> get copyWith =>
Expand Down Expand Up @@ -1183,7 +1199,7 @@ class _$_ESRLinkNavigateToSignTransaction
@optionalTypeArgs
TResult when<TResult extends Object?>({
required TResult Function() navigateToCreateAccount,
required TResult Function(String daoName, String secret)
required TResult Function(String daoName, String daoId, String secret)
showJoinDaoRationale,
required TResult Function(ScanQrCodeResultData data)
navigateToSignTransaction,
Expand All @@ -1195,7 +1211,8 @@ class _$_ESRLinkNavigateToSignTransaction
@optionalTypeArgs
TResult? whenOrNull<TResult extends Object?>({
TResult? Function()? navigateToCreateAccount,
TResult? Function(String daoName, String secret)? showJoinDaoRationale,
TResult? Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult? Function(ScanQrCodeResultData data)? navigateToSignTransaction,
}) {
return navigateToSignTransaction?.call(data);
Expand All @@ -1205,7 +1222,8 @@ class _$_ESRLinkNavigateToSignTransaction
@optionalTypeArgs
TResult maybeWhen<TResult extends Object?>({
TResult Function()? navigateToCreateAccount,
TResult Function(String daoName, String secret)? showJoinDaoRationale,
TResult Function(String daoName, String daoId, String secret)?
showJoinDaoRationale,
TResult Function(ScanQrCodeResultData data)? navigateToSignTransaction,
required TResult orElse(),
}) {
Expand Down
2 changes: 1 addition & 1 deletion lib/ui/blocs/deeplink/page_command.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ part of 'deeplink_bloc.dart';
@freezed
class PageCommand with _$PageCommand {
const factory PageCommand.navigateToCreateAccount() = _NavigateToCreateAccount;
const factory PageCommand.showJoinDaoRationale(String daoName, String secret) = _ShowJoinDaoRationale;
const factory PageCommand.showJoinDaoRationale(String daoName, String daoId, String secret) = _ShowJoinDaoRationale;
const factory PageCommand.navigateToSignTransaction(ScanQrCodeResultData data) = _ESRLinkNavigateToSignTransaction;
}
24 changes: 24 additions & 0 deletions lib/ui/home_page/usecases/get_dao_name_use_case.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import 'package:hypha_wallet/core/error_handler/model/hypha_error.dart';
import 'package:hypha_wallet/core/network/api/services/dao_service.dart';
import 'package:hypha_wallet/core/network/models/network.dart';
import 'package:hypha_wallet/ui/architecture/result/result.dart' as HResult;

class GetDaoNameUseCase {
final DaoService _daoService;

GetDaoNameUseCase(this._daoService);

@override
Future<HResult.Result<String, HyphaError>> run(String daoId, Network network) async {
final data = await _daoService.getDaoById(daoId: daoId, network: network);
final daoName = data.asValue?.value?.settingsDaoTitle;

if (daoName != null) {
return HResult.Result.value(daoName);
} else if (data.isError) {
return HResult.Result.error(data.asError!.error);
} else {
return HResult.Result.error(HyphaError.generic('Dao id not found'));
}
}
}

0 comments on commit 54bd711

Please sign in to comment.