deleteUserTokens method
Deletes all tokens for a user
userId The user ID
guard Optional guard name filter
filter Optional metadata to filter tokens
Returns the number of affected rows
Implementation
@override
Future<int> deleteUserTokens(
dynamic userId, {
String? guard,
Map<String, dynamic>? filter,
}) async {
final query = Khadem.db
.table('personal_access_tokens')
.where('tokenable_id', '=', userId);
if (guard != null) {
query.where('guard', '=', guard);
}
if (filter != null) {
filter.forEach((key, value) {
if (value is List) {
query.whereRaw('$key IN (${value.map((v) => "'$v'").join(", ")})');
} else {
query.where(key, '=', value);
}
});
}
await query.delete();
return 1; // Assuming successful deletion
}