package com.stacksync.syncservice.handler;
import java.util.List;
import com.stacksync.commons.models.Item;
import com.stacksync.commons.models.ItemMetadata;
import com.stacksync.commons.models.User;
import com.stacksync.syncservice.rpc.messages.APICommitResponse;
import com.stacksync.syncservice.rpc.messages.APICreateFolderResponse;
import com.stacksync.syncservice.rpc.messages.APIDeleteResponse;
import com.stacksync.syncservice.rpc.messages.APIGetFolderMembersResponse;
import com.stacksync.syncservice.rpc.messages.APIGetMetadata;
import com.stacksync.syncservice.rpc.messages.APIGetVersions;
import com.stacksync.syncservice.rpc.messages.APIGetWorkspaceInfoResponse;
import com.stacksync.syncservice.rpc.messages.APIRestoreMetadata;
import com.stacksync.syncservice.rpc.messages.APIShareFolderResponse;
import com.stacksync.syncservice.rpc.messages.APIUnshareFolderResponse;
public interface APIHandler {
public APIGetMetadata getMetadata(User user, Long fileId, Boolean includeChunks, Long version, Boolean isFolder);
public APICommitResponse createFile(User user, ItemMetadata fileToSave);
public APICommitResponse updateData(User user, ItemMetadata fileToUpdate);
public APICommitResponse updateMetadata(User user, ItemMetadata fileToUpdate, Boolean parentUpdated);
public APICreateFolderResponse createFolder(User user, ItemMetadata item);
public APIRestoreMetadata restoreMetadata(User user, ItemMetadata item);
public APIDeleteResponse deleteItem(User user, ItemMetadata item);
public APIGetVersions getVersions(User user, ItemMetadata item);
public APIShareFolderResponse shareFolder(User user, Item item, List<String> emails);
public APIUnshareFolderResponse unshareFolder(User user, Item item, List<String> emails);
public APIGetWorkspaceInfoResponse getWorkspaceInfo(User user, ItemMetadata item);
public APIGetFolderMembersResponse getFolderMembers(User user, Item item);
}