diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-12-22 14:44:26 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-12-22 14:44:26 +0100 |
| commit | 58ef5833b3f77f321c587dd86448c888029016ce (patch) | |
| tree | fe5e6f47781573cc1fb5938f9b8cd8b51022946a /code/api/Models/LoggedInUserModel.cs | |
| parent | 82ade3c31fb17b662feec59e9e654ceb66edbb7a (diff) | |
| download | storage-58ef5833b3f77f321c587dd86448c888029016ce.tar.xz storage-58ef5833b3f77f321c587dd86448c888029016ce.zip | |
feat: Many things
- Working Login/Logout
- Groundwork for web components
- Loading web-components with version tag
- Load temporal-polyfill globally
Diffstat (limited to 'code/api/Models/LoggedInUserModel.cs')
| -rw-r--r-- | code/api/Models/LoggedInUserModel.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/code/api/Models/LoggedInUserModel.cs b/code/api/Models/LoggedInUserModel.cs new file mode 100644 index 0000000..9d9b944 --- /dev/null +++ b/code/api/Models/LoggedInUserModel.cs @@ -0,0 +1,31 @@ +namespace I2R.Storage.Api.Models; + +public class LoggedInUserModel +{ + public LoggedInUserModel() { } + + public LoggedInUserModel(ClaimsPrincipal user) { + Username = user.FindFirstValue(AppClaims.USERNAME); + Id = user.FindFirstValue(AppClaims.USER_ID).AsGuid(); + Role = UserRole.FromString(user.FindFirstValue(AppClaims.USER_ROLE)); + } + + public string Username { get; set; } + public Guid Id { get; set; } + public EUserRole Role { get; set; } + + public class Public + { + public string Id { get; set; } + public string Username { get; set; } + public string Role { get; set; } + } + + public static Public ForThePeople(HttpContext httpContext) { + return new Public() { + Id = httpContext.User.FindFirstValue(AppClaims.USER_ID), + Username = httpContext.User.FindFirstValue(AppClaims.USERNAME), + Role = httpContext.User.FindFirstValue(AppClaims.USER_ROLE) + }; + } +}
\ No newline at end of file |
