/**
 * 此文件是奇文网盘中的文件相关操作的接口
 */

// 文件（夹）模块相关接口
import request from '@/utils/request'
const baseUrl = '/v1/api/folder'
/**
 * 获取文件列表相关接口
 */
// 获取文件列表（区分文件路径）
export const getFileListByPath = (data) => {
    return request({
        url: baseUrl + '/file/getFileList',
        method: 'post',
        data,
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded'
        }
    })
}
// 获取文件列表（区分文件类型）
export const getFileListByType = (params) => {
    return request({
        url: baseUrl + '/file/selectfilebyfiletype',
        method: 'get',
        params
    })
}
// 获取回收站文件列表
export const getRecoveryFile = (params) => {
    return request({
        url: baseUrl + '/recoveryfile/list',
        method: 'get',
        params
    })
}
// 获取我已分享的文件列表
export const getMyShareFileList = (params) => {
    return request({
        url: baseUrl + '/share/shareList',
        method: 'get',
        params
    })
}
// 获取存储占用
export const getStorage = (params) => {
    return request({
        url: baseUrl + '/filetransfer/getstorage',
        method: 'get',
        params
    })
}
// 获取文件目录树
export const getFoldTree = (params) => {
    return request({
        url: baseUrl + '/file/getfiletree',
        method: 'get',
        params
    })
}

// 获取文件目录树by path
export const getFoldTreeByPath = (params) => {
    return request({
        url: baseUrl + '/file/getfiletreeByPath',
        method: 'get',
        params
    })
}


/**
 * 单文件操作相关接口
 */

//创建文件
// 创建文档
// export const createOfficeFile = (p) => post('/file/createFile', p)
export const createOfficeFile = (data) => {
    return request({
        url: baseUrl + '/file/createFile',
        method: 'post',
        data
    })
}


// 创建文件夹
export const createFold = (data) => {
    return request({
        url: baseUrl + '/file/createFold',
        method: 'post',
        data
    })
}
// 获取文件详细信息
export const getFileDetail = (params) => {
    return request({
        url: baseUrl + '/file/detail',
        method: 'get',
        params
    })
}
// 删除文件
export const deleteFile = (data) => {
    return request({
        url: baseUrl + '/file/deletefile',
        method: 'post',
        data
    })
}
// 复制文件
export const copyFile = (data) => {
    return request({
        url: baseUrl + '/file/copyfile',
        method: 'post',
        data
    })
}
// 移动文件
export const moveFile = (data) => {
    return request({
        url: baseUrl + '/file/movefile',
        method: 'post',
        data
    })
}
// 重命名文件
export const renameFile = (data) => {
    return request({
        url: baseUrl + '/file/renamefile',
        method: 'post',
        data
    })
}
// 解压文件
export const unzipFile = (data) => {
    return request({
        url: baseUrl + '/file/unzipfile',
        method: 'post',
        data
    })
}
// 全局搜索文件
export const searchFile = (params) => {
    return request({
        url: baseUrl + '/file/search',
        method: 'get',
        params
    })
}
// 分享文件
export const shareFile = (data) => {
    return request({
        url: baseUrl + '/share/sharefile',
        method: 'post',
        data
    })
}
// 校验分享链接过期时间
export const checkShareLinkEndtime = (params) => {
    return request({
        url: baseUrl + '/share/checkendtime',
        method: 'get',
        params
    })
}
// 校验分享链接是否需要提取码
export const checkShareLinkType = (params) => {
    return request({
        url: baseUrl + '/share/sharetype',
        method: 'get',
        params
    })
}
// 校验分享链接提取码是否正确
export const checkShareLinkCode = (params) => {
    return request({
        url: baseUrl + '/share/checkextractioncode',
        method: 'get',
        params
    })
}
// 获取分享文件列表
export const getShareFileList = (params) => {
    return request({
        url: baseUrl + '/share/sharefileList',
        method: 'get',
        params
    })
}
// 保存分享文件
export const saveShareFile = (data) => {
    return request({
        url: baseUrl + '/share/savesharefile',
        method: 'post',
        data
    })
}

/**
 * 文件批量操作相关接口
 */
// 批量删除文件
export const batchDeleteFile = (data) => {
    return request({
        url: baseUrl + '/file/batchdeletefile',
        method: 'post',
        data
    })
}
// 批量移动文件
export const batchMoveFile = (data) => {
    return request({
        url: baseUrl + '/file/batchmovefile',
        method: 'post',
        data
    })
}

/**
 * 回收站文件操作相关接口
 */
// 回收站文件删除
export const deleteRecoveryFile = (data) => {
    return request({
        url: baseUrl + '/recoveryfile/deleterecoveryfile',
        method: 'post',
        data
    })
}
// 回收站文件还原
export const restoreRecoveryFile = (data) => {
    return request({
        url: baseUrl + '/recoveryfile/restorefile',
        method: 'post',
        data
    })
}
// 回收站文件批量删除
export const batchDeleteRecoveryFile = (data) => {
    return request({
        url: baseUrl + '/recoveryfile/batchdelete',
        method: 'post',
        data
    })
}

/**
 * 文件公共接口
 */
// 文件预览
export const getFilePreview = (params) => {
    return request({
        url: baseUrl + '/filetransfer/preview',
        method: 'get',
        params
    })
}
// 文件修改
export const modifyFileContent = (data) => {
    return request({
        url: baseUrl + '/file/update',
        method: 'post',
        data
    })
}
