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 ...
///
/// Attach Tag to Specified Model ...
///
///
///
///
Task AttachTag(
[FromRoute] Guid id,
[FromQuery] string tag
);
///
/// Detach Tag From Specified Model ...
///
///
///
///
Task DetachTag(
[FromRoute] Guid id,
[FromQuery] string tag
);
///
/// Attach Tags to Specified Model ...
///
///
///
///
Task AttachTags(
[FromRoute] Guid id,
[FromQuery] string tags
);
///
/// Detach Tags From Specified Model ...
///
///
///
///
Task DetachTags(
[FromRoute] Guid id,
[FromQuery] string tags
);
///
/// Retrieve Tags of Specified File ...
///
///
///
Task>> GetTags(
[FromRoute] Guid id
);
#endregion
//
#region Tools ...
///
/// Stream Specified File ...
///
///
///
Task Stream(
[FromRoute] Guid id
);
///
/// Stream Specified File ...
///
///
///
Task Stream(
[FromRoute] string fileName
);
///
/// Download Specified File ...
///
///
///
Task Download(
[FromRoute] Guid id
);
///
/// Download Specified File ...
///
///
///
Task Download(
[FromRoute] string name
);
///
/// Upload Files ...
///
///
///
Task>> Upload(
[FromForm] IFormFileCollection files
);
///
/// Remove Specified Files ...
///
///
///
Task>> Remove(
[FromQuery] string ids
);
#endregion
//
#region Model ...
///
/// Get Specified File Model ...
///
///
///
///
Task> Get(
[FromRoute] Guid id
);
///
/// Get All Exists File Models ...
///
///
///
Task>> GetAll();
///
/// retrieve Entities based on XQuery Pagination structure ...
///
///
///
Task>> Query(
[FromQuery] XQuery query
);
///
/// retrieve Owned Entities based on XQuery Pagination structure ...
///
///
///
Task>> QueryOwned(
[FromQuery] XQuery query
);
///
/// count all exists Entities ...
///
///
Task> Count();
///
/// Check an Entity exists or not ...
///
///
///
Task> IsExists(
[FromRoute] Guid id
);
#endregion
}
}