deleteUserTokens method

  1. @override
Future<int> deleteUserTokens(
  1. dynamic userId, {
  2. String? guard,
  3. Map<String, dynamic>? filter,
})
override

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
}