findTokensByPrefix method

Future<List<Map<String, dynamic>>> findTokensByPrefix(
  1. String prefix, {
  2. String? type,
  3. String? guard,
})

Find tokens by their token string prefix

This is used for finding session-correlated tokens efficiently

Implementation

Future<List<Map<String, dynamic>>> findTokensByPrefix(
  String prefix, {
  String? type,
  String? guard,
}) async {
  final query = Khadem.db.table('personal_access_tokens').whereRaw(
    'token LIKE ?',
    ['$prefix%'],
  ); // Use SQL LIKE for prefix search

  if (type != null) {
    query.where('type', '=', type);
  }
  if (guard != null) {
    query.where('guard', '=', guard);
  }

  final results = await query.get();
  return results.map((row) => row as Map<String, dynamic>).toList();
}