package com.stacksync.syncservice.db; import java.util.List; import java.util.UUID; import com.stacksync.commons.models.Item; import com.stacksync.commons.models.ItemMetadata; import com.stacksync.syncservice.exceptions.dao.DAOException; public interface ItemDAO { public Item findById(Long id) throws DAOException; public void add(Item item) throws DAOException; public void update(Item item) throws DAOException; public void put(Item item) throws DAOException; public void delete(Long id) throws DAOException; // ItemMetadata information public List<ItemMetadata> getItemsByWorkspaceId(UUID workspaceId) throws DAOException; public List<ItemMetadata> getItemsById(Long id) throws DAOException; public ItemMetadata findById(Long id, Boolean includeList, Long version, Boolean includeDeleted, Boolean includeChunks) throws DAOException; public ItemMetadata findByUserId(UUID serverUserId, Boolean includeDeleted) throws DAOException; public ItemMetadata findItemVersionsById(Long id) throws DAOException; public List<String> migrateItem(Long itemId, UUID workspaceId) throws DAOException; }