< Summary

Class:MUNity.Services.UserConferenceAuthService
Assembly:MUNity.Services
File(s):C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityServices\Services\UserConferenceAuthService.cs
Covered lines:0
Uncovered lines:43
Coverable lines:43
Total lines:83
Line coverage:0% (0 of 43)
Covered branches:0
Total branches:12
Branch coverage:0% (0 of 12)
Covered methods:0
Total methods:8
Method coverage:0% (0 of 8)

Metrics

MethodBranch coverage Cyclomatic complexity Line coverage
IsUserAllowedToEditTeam(...)0%20%
IsUserAllowedToEditTeam()0%20%
IsUserAllowedToEditConference(...)0%20%
IsUserAllowedToEditConference()0%20%
IsUserAllowedToEditConference()0%20%
IsUserTeamMember()0%20%
GetUserAsync(...)100%10%
.ctor(...)100%10%

File(s)

C:\Users\aeuke\source\repos\PeerConradi\munity\src\MUNityServices\Services\UserConferenceAuthService.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Components.Authorization;
 2using Microsoft.AspNetCore.Identity;
 3using MUNity.Database.Context;
 4using MUNity.Database.Models.Conference.Roles;
 5using MUNity.Database.Models.User;
 6using System;
 7using System.Collections.Generic;
 8using System.Linq;
 9using System.Security.Claims;
 10using System.Text;
 11using System.Threading.Tasks;
 12
 13namespace MUNity.Services
 14{
 15    public class UserConferenceAuthService
 16    {
 17        private MunityContext context;
 18
 19        private UserManager<MunityUser> userManager;
 20
 21        public bool IsUserAllowedToEditTeam(string conferenceId, string username)
 022        {
 023            var isCreator = context.Conferences.Any(n => n.ConferenceId == conferenceId && n.CreationUser.UserName == us
 024            if (isCreator)
 025                return true;
 26
 027            var isAllowedTeamMember = context.Participations.Any(n => n.User.UserName == username && n.Role.Conference.C
 028            return isAllowedTeamMember;
 029        }
 30
 31        public async Task<bool> IsUserAllowedToEditTeam(string conferenceId, ClaimsPrincipal claim)
 032        {
 033            var user = await userManager.GetUserAsync(claim);
 034            if (user == null)
 035                return false;
 036            return IsUserAllowedToEditTeam(conferenceId, user.UserName);
 037        }
 38
 39        public bool IsUserAllowedToEditConference(string conferenceId, string username)
 040        {
 041            var isCreator = context.Conferences.Any(n => n.ConferenceId == conferenceId && n.CreationUser.UserName == us
 042            if (isCreator)
 043                return true;
 44
 045            var isAllowedTeamMember = context.Participations.Any(n => n.User.UserName == username && n.Role.Conference.C
 046            return isAllowedTeamMember;
 047        }
 48
 49        public async Task<bool> IsUserAllowedToEditConference(string conferenceId, ClaimsPrincipal claim)
 050        {
 051            var user = await userManager.GetUserAsync(claim);
 052            if (user == null)
 053                return false;
 54
 055            return IsUserAllowedToEditConference(conferenceId, user.UserName);
 056        }
 57
 58        public async Task<bool> IsUserAllowedToEditConference(string conferenceId, Task<AuthenticationState> authStateTa
 059        {
 060            return await IsUserAllowedToEditConference(conferenceId, (await authStateTask)?.User);
 061        }
 62
 63        public async Task<bool> IsUserTeamMember(string conferenceId, ClaimsPrincipal claim)
 064        {
 065            var user = await userManager.GetUserAsync(claim);
 066            if (user == null)
 067                return false;
 68
 069            return context.Participations.Any(n => n.Role is ConferenceTeamRole && n.User == user && n.Role.Conference.C
 070        }
 71
 72        public Task<MunityUser> GetUserAsync(ClaimsPrincipal claim)
 073        {
 074            return userManager.GetUserAsync(claim);
 075        }
 76
 077        public UserConferenceAuthService(MunityContext context, UserManager<MunityUser> userManager)
 078        {
 079            this.context = context;
 080            this.userManager = userManager;
 081        }
 82    }
 83}