Exemple #1
0
 public UserResponse(
     UserDiscovery userDiscovery,
     IDictionary <string, string> responseData,
     List <Album> albums
     )
 {
     ResponseData = responseData;
     Links        = userDiscovery;
     Albums       = albums;
 }
Exemple #2
0
 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);
        }