package com.ssyf.module.resource.service;

import com.github.pagehelper.PageInfo;
import com.ssyf.module.resource.domain.entity.Filesystem;
import com.ssyf.module.resource.domain.query.FilesystemQuery;
import com.ssyf.module.resource.domain.query.MoveSortQuery;

import java.util.List;
import java.util.Map;

public interface FilesystemService {
    Filesystem addOne(FilesystemQuery query);

    void updateByUid(String uid, FilesystemQuery query);

    void removeByUid(String uid);

    Filesystem getByUid(String uid);

    PageInfo<Filesystem> getPage(FilesystemQuery query);

    List<Filesystem> getAll(FilesystemQuery query);

    List<Filesystem> getNextChildrenByUid(String uid ,FilesystemQuery query);

    List<Filesystem> getAllChildrenByUid(String uid ,FilesystemQuery query);

    PageInfo<Filesystem> getPageNextChildrenByUid(String uid ,FilesystemQuery query);

    PageInfo<Filesystem> getPageAllChildrenByUid(String uid ,FilesystemQuery query);

    Filesystem checkPermission(String uid);

    Filesystem getLastFormNextChildrenByUid(String uid);

    void moveSort(String hostId, MoveSortQuery query);

    void removeByHostId(String hostId);

    List<Map<String, Object>> getTree(String hostId ,FilesystemQuery query);
}
