base and custom navigation settings: added api descriptions

This commit is contained in:
Natalia Ovchinnikova 2023-03-02 18:19:48 +03:00
parent 21d95de876
commit f4c56ae706
2 changed files with 59 additions and 12 deletions

View File

@ -24,8 +24,12 @@
// content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0
// International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
namespace ASC.Web.Api.Controllers.Settings;
namespace ASC.Web.Api.Controllers.Settings;
///<summary>
/// Portal settings API.
///</summary>
///<name>settings</name>
[Scope]
[DefaultRoute]
[ApiController]

View File

@ -47,26 +47,60 @@ public class CustomNavigationController : BaseSettingsController
_permissionContext = permissionContext;
_settingsManager = settingsManager;
_storageHelper = storageHelper;
}
}
/// <summary>
/// Returns a list of the custom navigation items.
/// </summary>
/// <short>Get the custom navigation items</short>
/// <category>Custom navigation</category>
/// <returns>List of the custom navigation items</returns>
/// <path>api/2.0/settings/customnavigation/getall</path>
/// <httpMethod>GET</httpMethod>
[HttpGet("customnavigation/getall")]
public List<CustomNavigationItem> GetCustomNavigationItems()
{
return _settingsManager.Load<CustomNavigationSettings>().Items;
}
}
/// <summary>
/// Returns a custom navigation item sample.
/// </summary>
/// <short>Get a custom navigation item sample</short>
/// <category>Custom navigation</category>
/// <returns>Custom navigation item</returns>
/// <path>api/2.0/settings/customnavigation/getsample</path>
/// <httpMethod>GET</httpMethod>
[HttpGet("customnavigation/getsample")]
public CustomNavigationItem GetCustomNavigationItemSample()
{
return CustomNavigationItem.GetSample();
}
}
/// <summary>
/// Returns a custom navigation item by the ID specified in the request.
/// </summary>
/// <short>Get a custom navigation item by ID</short>
/// <category>Custom navigation</category>
/// <param name="id">Custom navigation item ID</param>
/// <returns>Custom navigation item</returns>
/// <path>api/2.0/settings/customnavigation/get/{id}</path>
/// <httpMethod>GET</httpMethod>
[HttpGet("customnavigation/get/{id}")]
public CustomNavigationItem GetCustomNavigationItem(Guid id)
{
return _settingsManager.Load<CustomNavigationSettings>().Items.FirstOrDefault(item => item.Id == id);
}
}
/// <summary>
/// Adds a custom navigation item with the parameters specified in the request.
/// </summary>
/// <short>Add a custom navigation item</short>
/// <category>Custom navigation</category>
/// <param name="item">Custom navigation parameters: ID, label, URL, big image, small image, show in menu or not, show on home page or not</param>
/// <returns>Custom navigation item</returns>
/// <path>api/2.0/settings/customnavigation/create</path>
/// <httpMethod>POST</httpMethod>
[HttpPost("customnavigation/create")]
public async Task<CustomNavigationItem> CreateCustomNavigationItem(CustomNavigationItem item)
{
@ -118,8 +152,17 @@ public class CustomNavigationController : BaseSettingsController
_messageService.Send(MessageAction.CustomNavigationSettingsUpdated);
return item;
}
}
/// <summary>
/// Deletes a custom navigation item with the ID specified in the request.
/// </summary>
/// <short>Delete a custom navigation item</short>
/// <category>Custom navigation</category>
/// <param name="id">Custom navigation item ID</param>
/// <path>api/2.0/settings/customnavigation/delete/{id}</path>
/// <httpMethod>DELETE</httpMethod>
/// <returns>Task awaiter</returns>
[HttpDelete("customnavigation/delete/{id}")]
public async Task DeleteCustomNavigationItem(Guid id)
{