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"); } }
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)); }
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); }