public ServiceFixture() { // This is the service startup handler = new ServiceHandler(); handler.Startup(); // This is the client startup string connection = string.Format("{0}:{1}", localhost_ip, port); channel = new Channel(connection, ChannelCredentials.Insecure); itemClient = new ItemRepository.ItemRepositoryClient(channel); tradeClient = new TradeService.TradeServiceClient(channel); }
public Need4Service() { string serverAddress = "https://localhost:50051"; channel = GrpcChannel.ForAddress(serverAddress); itemClient = new ItemRepository.ItemRepositoryClient(channel); tradeClient = new TradeService.TradeServiceClient(channel); saleClient = new SaleService.SaleServiceClient(channel); userClient = new UserService.UserServiceClient(channel); permissionClient = new PermissionService.PermissionServiceClient(channel); activityClient = new ActivityService.ActivityServiceClient(channel); communityClient = new CommunityService.CommunityServiceClient(channel); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, BasicCommunityRequirement requirement, Trade resource) { string email = Helpers.Claims.GetEmail(context.User.Claims); if (email == null) { return(null); } Need4Service service = new Need4Service(); UserService.UserServiceClient userClient = service.GetUserClient(); Need4Protocol.User user = userClient.GetUser(new Need4Protocol.User { Email = email }); TradeUserInfo tradeUserInfo = user != null ? new TradeUserInfo { AuthenticatedUserId = user.Id, TradeId = resource.Id } : new TradeUserInfo { UnauthenticatedUser = new Empty(), TradeId = resource.Id }; TradeService.TradeServiceClient tradeClient = service.GetTradeClient(); PermissionSet permissions = tradeClient.GetPermissions(tradeUserInfo); bool hasJoinTradePermission = (from p in permissions.Permissions where p.PermissionType.Name == _Permissions.BASIC select p).Any(); if (hasJoinTradePermission) { context.Succeed(requirement); } return(Task.CompletedTask); }
protected override void OnInitialized() { base.OnInitialized(); tradeClient = Need4Service.GetTradeClient(); user = Utility.GetUser(); }