MqttApiDocPretty.cshtml 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. @using Edge.Core.Processor;
  2. @using System.Reflection;
  3. @model IEnumerable<UniversalApiInfoDoc>;
  4. @{
  5. ViewData["Title"] = "Show Me API";
  6. }
  7. <div class="text-center">
  8. <h3 class="display-4">Show Me API - @(Context.Request.Query["apitype"].FirstOrDefault()?.ToUpper()??"")</h3>
  9. </div>
  10. <div>
  11. <p>Total Api ProviderType count: @Model.GroupBy(d => d.ProviderType).Count()</p>
  12. <ul>
  13. @foreach (var apiInfoDocByProviderType in Model.GroupBy(d => d.ProviderType))
  14. {
  15. <li>
  16. <h5><i>ProviderType:</i> <b>@apiInfoDocByProviderType.Key</b></h5>
  17. <p><i>Tags: @(apiInfoDocByProviderType.First()?.ProviderTags?.Aggregate("", (acc, n) => acc + n + ", ", (final) => final == ", " ? "" : final)??"")</i></p>
  18. <p><i>Instances count: @apiInfoDocByProviderType.GroupBy(sg => sg.ProviderConfigName).Count()</i></p>
  19. <ul>
  20. @foreach (var apiInfoByProviderConfigName in apiInfoDocByProviderType.GroupBy(sg => sg.ProviderConfigName))
  21. {
  22. <li>
  23. @apiInfoByProviderConfigName.Key
  24. <ul>
  25. @foreach (var apiInfoDocByBaseCategory in apiInfoByProviderConfigName.GroupBy(d => d.BaseCategory))
  26. {
  27. <li>
  28. @apiInfoDocByBaseCategory.Key
  29. <ul>
  30. @foreach (var apiInfo in apiInfoDocByBaseCategory)
  31. {
  32. <li>
  33. @apiInfo.ApiName
  34. <ul>
  35. <li>
  36. <i>Path</i>:<br> @apiInfo.Path
  37. </li>
  38. <li>
  39. <i>Input Parameters JsonSchemas (count: @(apiInfo.InputParametersJsonSchemaStrings?.Count()??0))</i>: @Html.Raw(apiInfo.InputParametersJsonSchemaStrings?.Aggregate("", (acc, n) => acc + "</br>" + n))
  40. </li>
  41. <li>
  42. <i>Input Parameters Sample</i>: @Html.Raw("</br>" + apiInfo.InputParametersExampleJson)
  43. </li>
  44. <li>
  45. <i>Ouput Parameter JsonSchema</i>: @Html.Raw("</br>" + apiInfo.OutputParametersJsonSchema)
  46. </li>
  47. <li>
  48. <i>Ouput Parameter Sample</i>: @Html.Raw(apiInfo.OutputParametersExampleJson)
  49. </li>
  50. <li>
  51. <i>Description</i>:<br> @Html.Raw(@apiInfo.Description)
  52. </li>
  53. </ul>
  54. </li>
  55. }
  56. </ul>
  57. </li>
  58. }
  59. </ul>
  60. </li>
  61. }
  62. </ul>
  63. </li>
  64. }
  65. </ul>
  66. </div>