package io.kaif.model.article; import java.time.Instant; import java.util.List; import java.util.Optional; import java.util.UUID; import javax.annotation.Nullable; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.stereotype.Repository; import io.kaif.database.DaoOperations; import io.kaif.flake.FlakeId; import io.kaif.model.KaifIdGenerator; @Repository public class ArticleWatchDao implements DaoOperations { @Autowired private NamedParameterJdbcTemplate namedParameterJdbcTemplate; @Autowired private KaifIdGenerator kaifIdGenerator; @Override public NamedParameterJdbcTemplate namedJdbc() { return namedParameterJdbcTemplate; } public List<ArticleWatch> listWatched(UUID accountId, @Nullable FlakeId startWatchId, int size) { return null; } public Optional<ArticleWatch> watch(UUID accountId, FlakeId articleId, Instant now) { //TODO use upsert, and ignore duplicate return null; } public List<UUID> listWatchers(FlakeId articleId) { //TODO paging per 2000 watchers return null; } }