Loading src/main/java/es/redmic/commandslib/usersettings/aggregate/PersistenceAggregate.java +14 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import es.redmic.commandslib.usersettings.commands.SaveSettingsCommand; import es.redmic.commandslib.usersettings.commands.UpdateSettingsAccessedDateCommand; import es.redmic.commandslib.usersettings.commands.UpdateSettingsCommand; import es.redmic.commandslib.usersettings.statestore.SettingsStateStore; import es.redmic.exception.settings.SettingsChangeForbiddenException; import es.redmic.restlib.config.UserService; import es.redmic.usersettingslib.dto.SettingsDTO; import es.redmic.usersettingslib.events.SettingsEventTypes; Loading Loading @@ -144,8 +145,21 @@ public class PersistenceAggregate extends Aggregate { return null; } String settingsId = cmd.getPersistence().getSettingsId(); Event state = getStateFromHistory(settingsId); loadFromHistory(state); checkState(settingsId, state.getType()); reset(); this.setAggregateId(id); if (!(state.getUserId().equals(userId) || ((SettingsEvent) state).getSettings().getShared())) throw new SettingsChangeForbiddenException(); CloneSettingsEvent evt = new CloneSettingsEvent(cmd.getPersistence()); evt.setAggregateId(id); evt.setVersion(1); Loading Loading
src/main/java/es/redmic/commandslib/usersettings/aggregate/PersistenceAggregate.java +14 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ import es.redmic.commandslib.usersettings.commands.SaveSettingsCommand; import es.redmic.commandslib.usersettings.commands.UpdateSettingsAccessedDateCommand; import es.redmic.commandslib.usersettings.commands.UpdateSettingsCommand; import es.redmic.commandslib.usersettings.statestore.SettingsStateStore; import es.redmic.exception.settings.SettingsChangeForbiddenException; import es.redmic.restlib.config.UserService; import es.redmic.usersettingslib.dto.SettingsDTO; import es.redmic.usersettingslib.events.SettingsEventTypes; Loading Loading @@ -144,8 +145,21 @@ public class PersistenceAggregate extends Aggregate { return null; } String settingsId = cmd.getPersistence().getSettingsId(); Event state = getStateFromHistory(settingsId); loadFromHistory(state); checkState(settingsId, state.getType()); reset(); this.setAggregateId(id); if (!(state.getUserId().equals(userId) || ((SettingsEvent) state).getSettings().getShared())) throw new SettingsChangeForbiddenException(); CloneSettingsEvent evt = new CloneSettingsEvent(cmd.getPersistence()); evt.setAggregateId(id); evt.setVersion(1); Loading