public static bool CanWriteDoohPanelLocation(this IAuthorizationService authorizationService, int partnerId) { if (authorizationService.CanAccessEverything()) { return(true); } var partnerIds = authorizationService.GetClaimValues(StandardClaimType.DoohPanelLocationOwner).Select(int.Parse); return(partnerIds.Contains(partnerId)); }
public static bool CanWriteSegment(this IAuthorizationService authorizationService, string rtbSegmentId) { if (authorizationService.CanAccessEverything()) { return(true); } if (string.IsNullOrEmpty(rtbSegmentId)) { return(true); } var prefixes = authorizationService.GetClaimValues(StandardClaimType.SegmentThirdPartyPrefix); // get prefixes from claims return(prefixes.Any(x => rtbSegmentId == x || rtbSegmentId.StartsWith($"{x}:"))); }