Skip to content

Commit 8664b25

Browse files
committed
Keep order of teams when renaming
1 parent d635a98 commit 8664b25

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

api/lib/src/event/event.mapper.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4157,11 +4157,15 @@ class TeamChangedMapper extends SubClassMapperBase<TeamChanged> {
41574157
static const Field<TeamChanged, String> _f$name = Field('name', _$name);
41584158
static GameTeam _$team(TeamChanged v) => v.team;
41594159
static const Field<TeamChanged, GameTeam> _f$team = Field('team', _$team);
4160+
static String? _$newName(TeamChanged v) => v.newName;
4161+
static const Field<TeamChanged, String> _f$newName =
4162+
Field('newName', _$newName, mode: FieldMode.member);
41604163

41614164
@override
41624165
final MappableFields<TeamChanged> fields = const {
41634166
#name: _f$name,
41644167
#team: _f$team,
4168+
#newName: _f$newName,
41654169
};
41664170

41674171
@override

api/lib/src/event/process/server.dart

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,15 @@ ServerProcessed processServerEvent(
250250
var newName = event.newName;
251251
var teamMembers = Map<String, Set<int>>.from(state.teamMembers);
252252
if (newName != null) {
253-
info = info.copyWith.teams.remove(event.name);
254-
info = info.copyWith.teams.put(newName, event.team);
253+
final teams = Map<String, GameTeam>.fromEntries(info.teams.entries.map(
254+
(e) {
255+
if (e.key == event.name) {
256+
return MapEntry(newName, event.team);
257+
}
258+
return e;
259+
},
260+
));
261+
info = info.copyWith(teams: teams);
255262
teamMembers[newName] = teamMembers.remove(event.name) ?? {};
256263
} else {
257264
info = info.copyWith.teams.put(event.name, event.team);

0 commit comments

Comments
 (0)