public UserResponse( UserDiscovery userDiscovery, IDictionary <string, string> responseData, List <Album> albums ) { ResponseData = responseData; Links = userDiscovery; Albums = albums; }
private void HandleDiscovery(UserDiscovery discovery) { _log.LogInformation("Received user discovery!"); foreach (var user in discovery.Usernames) { _log.LogInformation($"Adding User {user}"); _userContainer.Users.TryAdd(user.ToLower(), new Data.User { Name = user }); } }
public async Task TestLookupUsersAsync() { // Setup if (MockData) { MockResponses(2); } await User.LoginAsync(TestSetup.user, TestSetup.pass, kinveyClient); // Arrange UserDiscovery criteria = new UserDiscovery(); criteria.FirstName = "George"; // Act User[] users = await kinveyClient.ActiveUser.LookupAsync(criteria); // Assert Assert.IsNotNull(users); Assert.AreEqual(3, users.Length); }
//public async Task<User> LoginCharlie() //{ // try // { // await User.LoginAsync("Charlie", "charlie"); // var alreadyLoggedInController = new PatientViewController(); // var navController = new UINavigationController(alreadyLoggedInController); // Window.RootViewController = navController; // // REALTIME REGISTRATION // // Register for realtime // await Client.SharedClient.ActiveUser.RegisterRealtimeAsync(); // // Create stream object corresponding to "meddevcmds" stream created on the backend // streamCommand = new Stream<MedicalDeviceCommand>("device_command"); // streamStatus = new Stream<MedicalDeviceStatus>("device_status"); // } // catch (KinveyException e) // { // if (e.ErrorCategory == EnumErrorCategory.ERROR_REALTIME) // { // Console.WriteLine("VRG (exception caught) Exception from Realtime operation"); // } // Console.WriteLine("VRG (exception caught) Exception Error -> " + e.Error); // Console.WriteLine("VRG (exception caught) Exception Description -> " + e.Description); // Console.WriteLine("VRG (exception caught) Exception Debug -> " + e.Debug); // Console.WriteLine("VRG (exception caught) Exception Request ID -> " + e.RequestID); // } // return Client.SharedClient.ActiveUser; //} public async Task <User> LoginAdmin() { try { await User.LoginAsync("Admin", "admin"); var alreadyLoggedInController = new PatientViewController(); var navController = new UINavigationController(alreadyLoggedInController); Window.RootViewController = navController; // REALTIME REGISTRATION // Register for realtime await Client.SharedClient.ActiveUser.RegisterRealtimeAsync(); // Create stream object corresponding to "meddevcmds" stream created on the backend var streamCommand = new Stream <MedicalDeviceCommand>("device_command"); var streamStatus = new Stream <MedicalDeviceStatus>("device_status"); // Get user IDs for granting stream access var criteria = new UserDiscovery(); // Alice criteria.FirstName = "Alice"; var lookup = await Client.SharedClient.ActiveUser.LookupAsync(criteria); User alice = lookup[0]; // Bob criteria.FirstName = "Bob"; lookup = await Client.SharedClient.ActiveUser.LookupAsync(criteria); User bob = lookup[0]; //// Charlie //criteria.FirstName = "Charlie"; //lookup = await Client.SharedClient.ActiveUser.LookupAsync(criteria); //User charlie = lookup[0]; // Grant stream access for the device stream var streamACLDeviceAlice = new StreamAccessControlList(); streamACLDeviceAlice.Publishers.Add(alice.Id); streamACLDeviceAlice.Subscribers.Add(bob.Id); bool resultGrantDevice = await streamCommand.GrantStreamAccess(bob.Id, streamACLDeviceAlice); //var streamACLDeviceBob = new StreamAccessControlList(); //streamACLDeviceBob.Subscribers.Add(bob.Id); //bool resultGrantDeviceBob = await streamCommand.GrantStreamAccess(alice.Id, streamACLDeviceBob); // Grant stream access for the status stream var streamACLStatusBob = new StreamAccessControlList(); streamACLStatusBob.Publishers.Add(bob.Id); streamACLStatusBob.Publishers.Add(alice.Id); streamACLStatusBob.Subscribers.Add(alice.Id); streamACLStatusBob.Subscribers.Add(bob.Id); bool resultGrantStatusBob = await streamStatus.GrantStreamAccess(bob.Id, streamACLStatusBob); var streamACLStatusAlice = new StreamAccessControlList(); streamACLStatusAlice.Subscribers.Add(alice.Id); streamACLStatusAlice.Subscribers.Add(bob.Id); streamACLStatusAlice.Publishers.Add(bob.Id); streamACLStatusAlice.Publishers.Add(alice.Id); bool resultGrantStatusAlice = await streamStatus.GrantStreamAccess(alice.Id, streamACLStatusAlice); } catch (KinveyException e) { if (e.ErrorCategory == EnumErrorCategory.ERROR_REALTIME) { Console.WriteLine("VRG (exception caught) Exception from Realtime operation"); } Console.WriteLine("VRG (exception caught) Exception Error -> " + e.Error); Console.WriteLine("VRG (exception caught) Exception Description -> " + e.Description); Console.WriteLine("VRG (exception caught) Exception Debug -> " + e.Debug); Console.WriteLine("VRG (exception caught) Exception Request ID -> " + e.RequestID); } return(Client.SharedClient.ActiveUser); }