Documentation, Basic Login Workflow

This commit is contained in:
2021-02-20 14:10:25 -05:00
parent fec590b16e
commit 5212d7bf70
27 changed files with 1327 additions and 341 deletions

View File

@@ -0,0 +1,40 @@
import 'dart:async';
import 'package:imagini/core/imagini_application.dart';
import 'package:imagini/api/imagini_api_repository.dart';
class LoginBloc{
final ImaginiApplication _application;
ImaginiAPIRepository _imaginiAPI;
final _loginController = StreamController<bool>.broadcast();
Stream<bool> get loginResult => _loginController.stream;
final _authenticatedController = StreamController<bool>.broadcast();
Stream<bool> get authenticatedResult => _authenticatedController.stream;
LoginBloc(this._application){
_init();
}
void _init(){
_imaginiAPI = _application.imaginiAPI;
checkAuthentication();
// attemptLogin("admin", "admin", "http://localhost:8484");
}
void dispose(){
_loginController.close();
_authenticatedController.close();
}
checkAuthentication(){
_authenticatedController.addStream(_imaginiAPI.isAuthenticated());
}
attemptLogin(String username, password, server){
_loginController.addStream(_imaginiAPI.login(username, password, server));
}
}

View File

@@ -1,36 +0,0 @@
import 'dart:async';
import 'package:imagini/core/imagini_application.dart';
import 'package:imagini/api/imagini_api_repository.dart';
import 'package:imagini/graphql/imagini_graphql.dart';
class SplashBloc{
final ImaginiApplication _application;
final _loginController = StreamController<Login$Query$AuthResponse>();
Stream<Login$Query$AuthResponse> get loginResult => _loginController.stream;
SplashBloc(this._application){
_init();
}
void _init(){
// Do Initial Load
initializeLogin();
}
void dispose(){
_loginController.close();
}
initializeLogin(){
ImaginiAPIRepository imaginiAPI = _application.imaginiAPI;
// TODO: This should actually attempt to load the existing Tokens, not login
_loginController.addStream(imaginiAPI.login("admin", "admin"));
// imaginiAPI.login("admin", "admin1").listen((LoginResponse lr) {
// });
}
}