impreoved commands logging
Some checks failed
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed
Some checks failed
ci/woodpecker/push/billing_fees Pipeline was successful
ci/woodpecker/push/bff Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/chain_gateway Pipeline was successful
ci/woodpecker/push/fx_ingestor Pipeline was successful
ci/woodpecker/push/frontend Pipeline was successful
ci/woodpecker/push/fx_oracle Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
ci/woodpecker/push/ledger Pipeline was successful
ci/woodpecker/push/notification Pipeline was successful
ci/woodpecker/push/payments_orchestrator Pipeline was successful
ci/woodpecker/push/bump_version Pipeline failed
This commit is contained in:
@@ -45,6 +45,36 @@ enum ResourceType {
|
||||
@JsonValue('chain_wallets')
|
||||
chainWallets,
|
||||
|
||||
@JsonValue('chain_wallet_balances')
|
||||
chainWalletBalances,
|
||||
|
||||
@JsonValue('chain_transfers')
|
||||
chainTransfers,
|
||||
|
||||
@JsonValue('chain_deposits')
|
||||
chainDeposits,
|
||||
|
||||
@JsonValue('ledger')
|
||||
ledger,
|
||||
|
||||
@JsonValue('ledger_accounts')
|
||||
ledgerAccounts,
|
||||
|
||||
@JsonValue('ledger_balances')
|
||||
ledgerBalances,
|
||||
|
||||
@JsonValue('ledger_journal_entries')
|
||||
ledgerJournalEntries,
|
||||
|
||||
@JsonValue('ledger_outbox')
|
||||
ledgerOutbox,
|
||||
|
||||
@JsonValue('ledger_parties')
|
||||
ledgerParties,
|
||||
|
||||
@JsonValue('ledger_posing_lines')
|
||||
ledgerPostingLines,
|
||||
|
||||
/// Represents permissions service
|
||||
@JsonValue('permissions')
|
||||
permissions,
|
||||
|
||||
@@ -20,6 +20,7 @@ import 'package:pshared/service/permissions.dart';
|
||||
class PermissionsProvider extends ChangeNotifier {
|
||||
Resource<UserAccess> _userAccess = Resource(data: null, isLoading: false, error: null);
|
||||
late OrganizationsProvider _organizations;
|
||||
bool _isLoaded = false;
|
||||
|
||||
void update(OrganizationsProvider venue) {
|
||||
_organizations = venue;
|
||||
@@ -54,6 +55,7 @@ class PermissionsProvider extends ChangeNotifier {
|
||||
final allAccess = await PermissionsService.loadAll(orgRef);
|
||||
_userAccess = _userAccess.copyWith(data: allAccess, isLoading: false);
|
||||
}
|
||||
_isLoaded = true;
|
||||
} catch (e) {
|
||||
_userAccess = _userAccess.copyWith(
|
||||
error: e is Exception ? e : Exception(e.toString()),
|
||||
@@ -125,8 +127,9 @@ class PermissionsProvider extends ChangeNotifier {
|
||||
PolicyDescription? getPolicyDescription(String policyRef) => policyDescriptions.firstWhereOrNull((p) => p.storable.id == policyRef);
|
||||
|
||||
// -- Permission checks --
|
||||
|
||||
bool get isLoading => _userAccess.isLoading;
|
||||
bool get isReady => !_userAccess.isLoading && error == null;
|
||||
bool get isReady => !_userAccess.isLoading && error == null && _isLoaded;
|
||||
Exception? get error => _userAccess.error;
|
||||
|
||||
bool _hasMatchingPermission(
|
||||
@@ -158,6 +161,12 @@ class PermissionsProvider extends ChangeNotifier {
|
||||
return _hasMatchingPermission(pd, Effect.allow, action, objectRef: objectRef);
|
||||
}
|
||||
|
||||
void reset() {
|
||||
_userAccess = Resource(data: null, isLoading: false, error: null);
|
||||
_isLoaded = false;
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
bool canRead(ResourceType r, {Object? objectRef}) => canAccessResource(r, action: perm.Action.read, objectRef: objectRef);
|
||||
bool canUpdate(ResourceType r, {Object? objectRef}) => canAccessResource(r, action: perm.Action.update, objectRef: objectRef);
|
||||
bool canDelete(ResourceType r, {Object? objectRef}) => canAccessResource(r, action: perm.Action.delete, objectRef: objectRef);
|
||||
|
||||
Reference in New Issue
Block a user