Files
DnnSummit2025Demo/Server/DemoLibrary/TestController.cs
2025-01-28 16:29:11 +01:00

43 lines
1.4 KiB
C#

using DotNetNuke.Web.Api;
using System.Net.Http;
using System.Web.Http;
using System.Net;
using System.IO;
namespace Summit.ApiDemo.DemoLibrary
{
public class TestController : DnnApiController, IServiceRouteMapper
{
public void RegisterRoutes(IMapRoute mapRouteManager)
{
mapRouteManager.MapHttpRoute(
"Demo/DemoModule",
"DemoModuleTestControllerMap1",
"Test/{action}",
new { Controller = "Test" },
null, new[] { "Summit.ApiDemo.DemoLibrary" });
}
[HttpGet]
[ApiTokenAuthorize("Test1", "~/App_LocalResources/DemoModule.resx", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Host)]
public HttpResponseMessage Test1()
{
return Request.CreateResponse(HttpStatusCode.OK, "Hello from Test1");
}
[HttpGet]
[ApiTokenAuthorize("Test2", "~/App_LocalResources/DemoModule.resx", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.Portal)]
public HttpResponseMessage Test2()
{
return Request.CreateResponse(HttpStatusCode.OK, $"Hello from {PortalSettings.PortalName}");
}
[HttpGet]
[ApiTokenAuthorize("Test3", "~/App_LocalResources/DemoModule.resx", DotNetNuke.Web.Api.Auth.ApiTokens.Models.ApiTokenScope.User)]
public HttpResponseMessage Test3()
{
return Request.CreateResponse(HttpStatusCode.OK, $"Hello from {UserInfo.DisplayName}.");
}
}
}