The Model Loader is part of the package
Piranha.AspNetCore
and is intended to be used when building integrated web applications withASP.NET
.
The Model Loader is a scoped service that simplifies model loading for Pages & Posts for the current request. It has support for loading unpublished content and drafts if the current user has access to it. It can be used both from your .cshtml
views or pages, or from your backend Controllers
.
The Model Loader should be added in ConfigureServices
by calling the extension method:
services.AddPiranhaApplication();
Task<T> GetPageAsync<T>(Guid id, ClaimsPrincipal user, bool draft = false) where T : PageBase;
Gets the page with the given id as the specified type. If draft
is set to true
the given user is checked for the correct claims for previewing pages.
If the page has policies specified on it that the user need to view it these will be checked as well. If the current user doesn't have access to the page an UnauthorizedAccessException
is thrown.
Task<T> GetPostAsync<T>(Guid id, ClaimsPrincipal user, bool draft = false) where T : PostBase;
Gets the post with the given id as the specified type. If draft
is set to true
the given user is checked for the correct claims for previewing posts.
If the post has policies specified on it that the user need to view it these will be checked as well. If the current user doesn't have access to the post an UnauthorizedAccessException
is thrown.