package com.flexpoker.game.command.repository;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.springframework.stereotype.Repository;
import com.flexpoker.game.command.framework.GameEvent;
@Repository
public class InMemoryGameEventRepository implements GameEventRepository {
private final Map<UUID, List<GameEvent>> gameEventMap;
public InMemoryGameEventRepository() {
gameEventMap = new HashMap<>();
}
@Override
public List<GameEvent> fetchAll(UUID id) {
return gameEventMap.get(id);
}
@Override
public void save(GameEvent event) {
if (!gameEventMap.containsKey(event.getAggregateId())) {
gameEventMap.put(event.getAggregateId(), new ArrayList<>());
}
gameEventMap.get(event.getAggregateId()).add(event);
}
}