deletePasskeyAccounts method
Future<List<DeletedPasskeyAccount> >
deletePasskeyAccounts(
- Session session, {
- required UuidValue? authUserId,
- required UuidValue? passkeyAccountId,
- required Transaction? transaction,
Deletes all passkey accounts matching the given filters.
If authUserId is provided, only the passkey accounts for that user will be deleted.
If passkeyAccountId is provided, only the passkey account with that ID will be deleted.
Implementation
Future<List<DeletedPasskeyAccount>> deletePasskeyAccounts(
final Session session, {
required final UuidValue? authUserId,
required final UuidValue? passkeyAccountId,
required final Transaction? transaction,
}) async {
final removedAccounts = await PasskeyAccount.db.deleteWhere(
session,
where: (final t) {
Expression expression = Constant.bool(true);
if (authUserId != null) {
expression &= t.authUserId.equals(authUserId);
}
if (passkeyAccountId != null) {
expression &= t.id.equals(passkeyAccountId);
}
return expression;
},
transaction: transaction,
);
return removedAccounts
.map(
(final account) => (
authUserId: account.authUserId,
passkeyAccountId: account.id!,
),
)
.toList();
}