mirror of
https://github.com/SyncrowIOT/web.git
synced 2025-11-27 07:14:56 +00:00
Improved UniqueSubspacesDecorator implementation to improve handling of duplicate subspace names.
This commit is contained in:
@ -12,13 +12,17 @@ class UniqueSubspacesDecorator implements SpaceDetailsService {
|
|||||||
final response = await _decoratee.getSpaceDetails(param);
|
final response = await _decoratee.getSpaceDetails(param);
|
||||||
|
|
||||||
final uniqueSubspaces = <String, Subspace>{};
|
final uniqueSubspaces = <String, Subspace>{};
|
||||||
|
final duplicateNames = <String>{};
|
||||||
|
|
||||||
for (final subspace in response.subspaces) {
|
for (final subspace in response.subspaces) {
|
||||||
final normalizedName = subspace.name.trim().toLowerCase();
|
final normalizedName = subspace.name.trim().toLowerCase();
|
||||||
if (!uniqueSubspaces.containsKey(normalizedName)) {
|
if (uniqueSubspaces.containsKey(normalizedName)) {
|
||||||
|
duplicateNames.add(normalizedName);
|
||||||
|
} else {
|
||||||
uniqueSubspaces[normalizedName] = subspace;
|
uniqueSubspaces[normalizedName] = subspace;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
duplicateNames.forEach(uniqueSubspaces.remove);
|
||||||
|
|
||||||
return response.copyWith(
|
return response.copyWith(
|
||||||
subspaces: uniqueSubspaces.values.toList(),
|
subspaces: uniqueSubspaces.values.toList(),
|
||||||
|
|||||||
Reference in New Issue
Block a user