findUserByCredentials method
Finds a user by credentials
credentials Map containing login credentials
fields List of fields to check (email, username, etc.)
table The table name to search in
Returns the user record if found, null otherwise
Implementation
@override
Future<Map<String, dynamic>?> findUserByCredentials(
Map<String, dynamic> credentials,
List<String> fields,
String table,
) async {
final query = Khadem.db.table(table);
bool hasValidField = false;
for (final field in fields) {
if (credentials.containsKey(field) && credentials[field] != null) {
query.where(field, '=', credentials[field]);
hasValidField = true;
}
}
if (!hasValidField) {
return null;
}
final result = await query.first();
return result as Map<String, dynamic>?;
}