172 lines
4.8 KiB
C#
172 lines
4.8 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(
|
|
[FromQuery] string tag,
|
|
[FromQuery] Guid id
|
|
);
|
|
|
|
/// <summary>
|
|
/// Detach Tag From Specified Model ...
|
|
/// </summary>
|
|
/// <param name="tag"></param>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> TagDetach(
|
|
[FromQuery] string tag,
|
|
[FromQuery] Guid id
|
|
);
|
|
|
|
/// <summary>
|
|
/// Attach Tags to Specified Model ...
|
|
/// </summary>
|
|
/// <param name="tags"></param>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> TagsAttach(
|
|
[FromQuery] string tags,
|
|
[FromQuery] Guid id
|
|
);
|
|
|
|
/// <summary>
|
|
/// Detach Tags From Specified Model ...
|
|
/// </summary>
|
|
/// <param name="tags"></param>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> TagsDetach(
|
|
[FromQuery] string tags,
|
|
[FromQuery] Guid id
|
|
);
|
|
#endregion
|
|
|
|
//
|
|
#region Tools ...
|
|
/// <summary>
|
|
/// Stream Specified File ...
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> Stream(
|
|
[FromRoute] Guid id
|
|
);
|
|
|
|
/// <summary>
|
|
/// Stream Specified File ...
|
|
/// </summary>
|
|
/// <param name="fileName"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> Stream(
|
|
[FromRoute] string fileName
|
|
);
|
|
|
|
/// <summary>
|
|
/// Download Specified File ...
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> Download(
|
|
[FromRoute] Guid id
|
|
);
|
|
|
|
/// <summary>
|
|
/// Download Specified File ...
|
|
/// </summary>
|
|
/// <param name="name"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult> Download(
|
|
[FromRoute] string name
|
|
);
|
|
|
|
/// <summary>
|
|
/// Upload Files ...
|
|
/// </summary>
|
|
/// <param name="files"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<IEnumerable<XFileDto>>> Upload(
|
|
[FromForm] IFormFileCollection files
|
|
);
|
|
|
|
/// <summary>
|
|
/// Remove Specified Files ...
|
|
/// </summary>
|
|
/// <param name="ids"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<IEnumerable<Guid>>> Remove(
|
|
[FromQuery] 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(
|
|
[FromRoute] 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(
|
|
[FromQuery] XQuery query
|
|
);
|
|
|
|
/// <summary>
|
|
/// retrieve Owned Entities based on XQuery Pagination structure ...
|
|
/// </summary>
|
|
/// <param name="query"></param>
|
|
/// <returns></returns>
|
|
Task<ActionResult<XQueryResult<XFileDto>>> QueryOwned(
|
|
[FromQuery] 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(
|
|
[FromRoute] Guid id
|
|
);
|
|
#endregion
|
|
}
|
|
} |