예제 #1
0
        private async void Login(string username, string password)
        {
            FirebaseAuthService authService = new FirebaseAuthService();
            var firebaseAuthLink            = await authService.LoginUser(username, password);

            //User myUser = await User.LoginAsync(username, password);

            if (firebaseAuthLink != null)
            {
                Main mainForm = (Main)this.ParentForm;
                mainForm.RemoveSignIn();

                Console.WriteLine(firebaseAuthLink.User.Email + " logged in");
            }
            else
            {
                Console.WriteLine("There was a problem logging in");
            }
        }
예제 #2
0
        public async Task <FirestoreDb> DataBase()
        {
            FirebaseAuthService authService = new FirebaseAuthService();

            var auth = authService.LoadAuth();

            var firebaseToken = auth.FirebaseToken;

            if (auth.IsExpired())
            {
                firebaseToken = await authService.GetFreshTokenAsync();
            }

            var credential = GoogleCredential.FromAccessToken(firebaseToken);

            Channel channel = new Channel(FirestoreClient.DefaultEndpoint.Host, FirestoreClient.DefaultEndpoint.Port, credential.ToChannelCredentials());

            FirestoreClient client = FirestoreClient.Create(channel);

            return(FirestoreDb.Create(project, client));
        }
예제 #3
0
        public async Task <List <Machine> > GetMachines()
        {
            List <Machine> machines = new List <Machine>();

            FirestoreDb db = await DataBase();

            CollectionReference collection = db.Collection("Machines");

            FirebaseAuthService authService = new FirebaseAuthService();
            var userUID = await authService.GetUserUID();

            Query         userMachinesQuery = collection.WhereEqualTo("Creator", userUID);
            QuerySnapshot userMachines      = await userMachinesQuery.GetSnapshotAsync();

            foreach (DocumentSnapshot document in userMachines.Documents)
            {
                Machine machine = document.ConvertTo <Machine>();
                machines.Add(machine);
                //Console.WriteLine($"{machine.Name}: {machine.Ip}");
            }

            return(machines);
        }