last refactoring ...
This commit is contained in:
@@ -51,13 +51,13 @@ namespace xFileService.Controllers
|
||||
/// <summary>
|
||||
/// Attach Tag to Specified Model ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Tags/Attach")]
|
||||
public virtual async Task<ActionResult> TagAttach(
|
||||
[FromQuery] string tag,
|
||||
[FromQuery] Guid id
|
||||
[HttpPost("{id}/Tags/Attach")]
|
||||
public virtual async Task<ActionResult> AttachTag(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tag
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -72,7 +72,7 @@ namespace xFileService.Controllers
|
||||
var userId = userInfo.UserId;
|
||||
|
||||
//
|
||||
await FileProvider.TagAttach(
|
||||
await FileProvider.AttachTag(
|
||||
id: id,
|
||||
tag: tag,
|
||||
userInfo: userInfo,
|
||||
@@ -96,10 +96,10 @@ namespace xFileService.Controllers
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Tags/Detach")]
|
||||
public virtual async Task<ActionResult> TagDetach(
|
||||
[FromQuery] string tag,
|
||||
[FromQuery] Guid id
|
||||
[HttpDelete("{id}/Tags/Detach")]
|
||||
public virtual async Task<ActionResult> DetachTag(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tag
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -114,7 +114,7 @@ namespace xFileService.Controllers
|
||||
var userId = userInfo.UserId;
|
||||
|
||||
//
|
||||
await FileProvider.TagDetach(
|
||||
await FileProvider.DetachTag(
|
||||
id: id,
|
||||
tag: tag,
|
||||
userInfo: userInfo,
|
||||
@@ -138,10 +138,10 @@ namespace xFileService.Controllers
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Tags/AttachMany")]
|
||||
public virtual async Task<ActionResult> TagsAttach(
|
||||
[FromQuery] string tags,
|
||||
[FromQuery] Guid id
|
||||
[HttpPost("{id}/Tags/AttachMany")]
|
||||
public virtual async Task<ActionResult> AttachTags(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -159,7 +159,7 @@ namespace xFileService.Controllers
|
||||
var userId = userInfo.UserId;
|
||||
|
||||
//
|
||||
await FileProvider.TagsAttach(
|
||||
await FileProvider.AttachTags(
|
||||
id: id,
|
||||
tags: tagsList,
|
||||
userInfo: userInfo,
|
||||
@@ -183,10 +183,10 @@ namespace xFileService.Controllers
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Tags/DetachMany")]
|
||||
public virtual async Task<ActionResult> TagsDetach(
|
||||
[FromQuery] string tags,
|
||||
[FromQuery] Guid id
|
||||
[HttpDelete("{id}/Tags/DetachMany")]
|
||||
public virtual async Task<ActionResult> DetachTags(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
)
|
||||
{
|
||||
//
|
||||
@@ -204,7 +204,7 @@ namespace xFileService.Controllers
|
||||
var userId = userInfo.UserId;
|
||||
|
||||
//
|
||||
await FileProvider.TagsDetach(
|
||||
await FileProvider.DetachTags(
|
||||
id: id,
|
||||
tags: tagsList,
|
||||
userInfo: userInfo,
|
||||
@@ -221,6 +221,35 @@ namespace xFileService.Controllers
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Tags of Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("{id}/Tags")]
|
||||
public virtual async Task<ActionResult<IEnumerable<string>>> GetTags(
|
||||
[FromRoute] Guid id
|
||||
)
|
||||
{
|
||||
//
|
||||
// Do ...
|
||||
try
|
||||
{
|
||||
//
|
||||
var result = await FileProvider.GetTags(id);
|
||||
|
||||
//
|
||||
return Ok(result
|
||||
.ToDynamicObject());
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
//
|
||||
var result = GetExceptionActionResult(ex);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
@@ -342,7 +371,7 @@ namespace xFileService.Controllers
|
||||
/// </summary>
|
||||
/// <param name="files"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("Upload")]
|
||||
[HttpPost("")]
|
||||
[RequestSizeLimit(966_367_641)]
|
||||
public virtual async Task<ActionResult<IEnumerable<XFileDto>>> Upload(
|
||||
[FromForm] IFormFileCollection files
|
||||
@@ -384,7 +413,7 @@ namespace xFileService.Controllers
|
||||
/// <param name="ids"></param>
|
||||
/// <returns></returns>
|
||||
/// [HttpDelete("Remove")]
|
||||
[HttpDelete("Remove")]
|
||||
[HttpDelete("")]
|
||||
public virtual async Task<ActionResult<IEnumerable<Guid>>> Remove(
|
||||
[FromQuery] string ids
|
||||
) {
|
||||
@@ -507,7 +536,7 @@ namespace xFileService.Controllers
|
||||
/// </summary>
|
||||
/// <param name="query"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("Owned/Query")]
|
||||
[HttpGet("Query/Owned")]
|
||||
public virtual async Task<ActionResult<XQueryResult<XFileDto>>> QueryOwned(
|
||||
[FromQuery] XQuery query
|
||||
) {
|
||||
|
||||
@@ -59,14 +59,14 @@ namespace xFileService.Interfaces
|
||||
/// <summary>
|
||||
/// Attach Tag to Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task TagAttach(
|
||||
string tag,
|
||||
Task AttachTag(
|
||||
Guid id,
|
||||
string tag,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
);
|
||||
@@ -74,14 +74,14 @@ namespace xFileService.Interfaces
|
||||
/// <summary>
|
||||
/// Detach Tag fro Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task TagDetach(
|
||||
string tag,
|
||||
Task DetachTag(
|
||||
Guid id,
|
||||
string tag,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
);
|
||||
@@ -89,14 +89,14 @@ namespace xFileService.Interfaces
|
||||
/// <summary>
|
||||
/// Attach Tags for Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task TagsAttach(
|
||||
IEnumerable<string> tags,
|
||||
Task AttachTags(
|
||||
Guid id,
|
||||
IEnumerable<string> tags,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
);
|
||||
@@ -104,14 +104,14 @@ namespace xFileService.Interfaces
|
||||
/// <summary>
|
||||
/// Detach Tags for Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task TagsDetach(
|
||||
IEnumerable<string> tags,
|
||||
Task DetachTags(
|
||||
Guid id,
|
||||
IEnumerable<string> tags,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
);
|
||||
@@ -123,11 +123,18 @@ namespace xFileService.Interfaces
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task TagsDetach(
|
||||
Task DetachTags(
|
||||
Guid id,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Get Specified Model's Tag ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<string>> GetTags(Guid id);
|
||||
#endregion
|
||||
|
||||
//
|
||||
|
||||
@@ -17,12 +17,12 @@ namespace xFileService.Interfaces
|
||||
/// <summary>
|
||||
/// Attach Tag to Specified Model ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActionResult> TagAttach(
|
||||
[FromQuery] string tag,
|
||||
[FromQuery] Guid id
|
||||
Task<ActionResult> AttachTag(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tag
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
@@ -31,9 +31,9 @@ namespace xFileService.Interfaces
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActionResult> TagDetach(
|
||||
[FromQuery] string tag,
|
||||
[FromQuery] Guid id
|
||||
Task<ActionResult> DetachTag(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tag
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
@@ -42,9 +42,9 @@ namespace xFileService.Interfaces
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActionResult> TagsAttach(
|
||||
[FromQuery] string tags,
|
||||
[FromQuery] Guid id
|
||||
Task<ActionResult> AttachTags(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
@@ -53,9 +53,18 @@ namespace xFileService.Interfaces
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActionResult> TagsDetach(
|
||||
[FromQuery] string tags,
|
||||
[FromQuery] Guid id
|
||||
Task<ActionResult> DetachTags(
|
||||
[FromRoute] Guid id,
|
||||
[FromQuery] string tags
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Retrieve Tags of Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
Task<ActionResult<IEnumerable<string>>> GetTags(
|
||||
[FromRoute] Guid id
|
||||
);
|
||||
#endregion
|
||||
|
||||
@@ -95,8 +104,8 @@ namespace xFileService.Interfaces
|
||||
/// <returns></returns>
|
||||
Task<ActionResult> Download(
|
||||
[FromRoute] string name
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Upload Files ...
|
||||
/// </summary>
|
||||
@@ -104,8 +113,8 @@ namespace xFileService.Interfaces
|
||||
/// <returns></returns>
|
||||
Task<ActionResult<IEnumerable<XFileDto>>> Upload(
|
||||
[FromForm] IFormFileCollection files
|
||||
);
|
||||
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Remove Specified Files ...
|
||||
/// </summary>
|
||||
@@ -113,7 +122,7 @@ namespace xFileService.Interfaces
|
||||
/// <returns></returns>
|
||||
Task<ActionResult<IEnumerable<Guid>>> Remove(
|
||||
[FromQuery] string ids
|
||||
);
|
||||
);
|
||||
#endregion
|
||||
|
||||
//
|
||||
@@ -126,7 +135,7 @@ namespace xFileService.Interfaces
|
||||
/// <returns></returns>
|
||||
Task<ActionResult<XFileDto>> Get(
|
||||
[FromRoute] Guid id
|
||||
);
|
||||
);
|
||||
|
||||
/// <summary>
|
||||
/// Get All Exists File Models ...
|
||||
@@ -166,7 +175,7 @@ namespace xFileService.Interfaces
|
||||
/// <returns></returns>
|
||||
Task<ActionResult<bool>> IsExists(
|
||||
[FromRoute] Guid id
|
||||
);
|
||||
);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
+69
-24
@@ -216,14 +216,14 @@ namespace xFileService.Providers
|
||||
/// <summary>
|
||||
/// Attach Tag to Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task TagAttach(
|
||||
string tag,
|
||||
public async Task AttachTag(
|
||||
Guid id,
|
||||
string tag,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
)
|
||||
@@ -264,14 +264,14 @@ namespace xFileService.Providers
|
||||
/// <summary>
|
||||
/// Detach Tag fro Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tag"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task TagDetach(
|
||||
string tag,
|
||||
public async Task DetachTag(
|
||||
Guid id,
|
||||
string tag,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
)
|
||||
@@ -311,14 +311,14 @@ namespace xFileService.Providers
|
||||
/// <summary>
|
||||
/// Attach Tags for Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task TagsAttach(
|
||||
IEnumerable<string> tags,
|
||||
public async Task AttachTags(
|
||||
Guid id,
|
||||
IEnumerable<string> tags,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
)
|
||||
@@ -349,11 +349,11 @@ namespace xFileService.Providers
|
||||
foreach (var tag in tags)
|
||||
{
|
||||
//
|
||||
await TagAttach(
|
||||
tag,
|
||||
id,
|
||||
userInfo,
|
||||
connectionId
|
||||
await AttachTag(
|
||||
id: id,
|
||||
tag: tag,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -364,14 +364,14 @@ namespace xFileService.Providers
|
||||
/// <summary>
|
||||
/// Detach Tags for Specified File ...
|
||||
/// </summary>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="tags"></param>
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task TagsDetach(
|
||||
IEnumerable<string> tags,
|
||||
public async Task DetachTags(
|
||||
Guid id,
|
||||
IEnumerable<string> tags,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
)
|
||||
@@ -402,11 +402,11 @@ namespace xFileService.Providers
|
||||
foreach (var tag in tags)
|
||||
{
|
||||
//
|
||||
await TagDetach(
|
||||
tag,
|
||||
id,
|
||||
userInfo,
|
||||
connectionId
|
||||
await DetachTag(
|
||||
id: id,
|
||||
tag: tag,
|
||||
userInfo: userInfo,
|
||||
connectionId: connectionId
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -421,7 +421,7 @@ namespace xFileService.Providers
|
||||
/// <param name="userInfo"></param>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task TagsDetach(
|
||||
public async Task DetachTags(
|
||||
Guid id,
|
||||
XUserClaimsInfoDto userInfo = null,
|
||||
string connectionId = null
|
||||
@@ -452,6 +452,47 @@ namespace xFileService.Providers
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Specified Model's Tag ...
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IEnumerable<string>> GetTags(Guid id)
|
||||
{
|
||||
//
|
||||
// Validate ...
|
||||
var isValid = !id.IsNull() &&
|
||||
!id.IsDefaultGuid();
|
||||
if (!isValid)
|
||||
{
|
||||
XException.InvalidArgs.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
// Check Model Exists ...
|
||||
isValid = await IsExists(id);
|
||||
if (!isValid)
|
||||
{
|
||||
XException.NotFound.Throw();
|
||||
}
|
||||
|
||||
//
|
||||
var tags = await TagProvider.GetTags(id);
|
||||
|
||||
//
|
||||
var result = new List<string>();
|
||||
isValid = !tags.IsNull() && tags.HasChild();
|
||||
if (isValid)
|
||||
{
|
||||
//
|
||||
result = tags.Select(t => t.Tag)
|
||||
.ToList();
|
||||
}
|
||||
|
||||
//
|
||||
return result;
|
||||
}
|
||||
#endregion
|
||||
|
||||
//
|
||||
@@ -805,7 +846,11 @@ namespace xFileService.Providers
|
||||
//
|
||||
// Here we send Null Connection ID for Preventing Update Push ...
|
||||
// since we Remove Entity ...
|
||||
await TagsDetach(id, userInfo, null);
|
||||
await DetachTags(
|
||||
id: id,
|
||||
userInfo: userInfo,
|
||||
connectionId: null
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user