Files
xFileService/Interfaces/IXFileServiceControllerActions.cs
T

164 lines
4.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using xFileService.Models.Dtos;
using xModels.Dtos;
using XFileDto = xFileService.Models.Dtos.XFileDto;
namespace xFileService.Interfaces
{
public interface IXFileServiceControllerActions
{
//
#region Tags ...
/// <summary>
/// Attach Tag to Specified Model ...
/// </summary>
/// <param name="tag"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> TagAttach(
string tag,
Guid id
);
/// <summary>
/// Detach Tag From Specified Model ...
/// </summary>
/// <param name="tag"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> TagDetach(
string tag,
Guid id
);
/// <summary>
/// Attach Tags to Specified Model ...
/// </summary>
/// <param name="tags"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> TagsAttach(
string tags,
Guid id
);
/// <summary>
/// Detach Tags From Specified Model ...
/// </summary>
/// <param name="tags"></param>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> TagsDetach(
string tags,
Guid id
);
#endregion
//
#region Tools ...
/// <summary>
/// Stream Specified File ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> Stream(Guid id);
/// <summary>
/// Stream Specified File ...
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
Task<ActionResult<FileStreamResult>> Stream(string fileName);
/// <summary>
/// Download Specified File ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult> Download(Guid id);
/// <summary>
/// Download Specified File ...
/// </summary>
/// <param name="fileName"></param>
/// <returns></returns>
Task<ActionResult> Download(string fileName);
/// <summary>
/// Upload Files ...
/// </summary>
/// <param name="files"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XFileDto>>> Upload(
IFormFileCollection files
);
/// <summary>
/// Remove Specified Files ...
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<Guid>>> Remove(
string ids
);
#endregion
//
#region Model ...
/// <summary>
/// Get Specified File Model ...
/// </summary>
/// <param name="id"></param>
/// <param name="ignoreSoftDeleteds"></param>
/// <returns></returns>
Task<ActionResult<XFileDto>> Get(
Guid id
);
/// <summary>
/// Get All Exists File Models ...
/// </summary>
/// <param name="ignoreSoftDeleteds"></param>
/// <returns></returns>
Task<ActionResult<IEnumerable<XFileDto>>> GetAll();
/// <summary>
/// retrieve Entities based on XQuery Pagination structure ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XFileDto>>> Query(
XQuery query
);
/// <summary>
/// retrieve Owned Entities based on XQuery Pagination structure ...
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
Task<ActionResult<XQueryResult<XFileDto>>> QueryOwned(
XQuery query
);
/// <summary>
/// count all exists Entities ...
/// </summary>
/// <returns></returns>
Task<ActionResult<int>> Count();
/// <summary>
/// Check an Entity exists or not ...
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<ActionResult<bool>> IsExists(
Guid id
);
#endregion
}
}