mirror of
https://github.com/Mercantec-GHC/h4-projekt-gruppe-0-sm.git
synced 2025-04-28 00:34:06 +02:00
38 lines
1.1 KiB
Dart
38 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:mobile/controllers/session.dart';
|
|
import 'package:mobile/results.dart';
|
|
import 'package:mobile/server/server.dart';
|
|
|
|
class UsersController extends ChangeNotifier {
|
|
Server server;
|
|
SessionController sessionController;
|
|
|
|
UsersController({required this.server, required this.sessionController});
|
|
|
|
Future<Result<Null, String>> register(
|
|
String name, String email, String password) async {
|
|
final res = await server.register(name, email, password);
|
|
switch (res) {
|
|
case Success<Null>():
|
|
return const Ok(null);
|
|
case Error<Null>(message: final message):
|
|
return Err(message);
|
|
}
|
|
}
|
|
|
|
Future<Result<Null, String>> addBalance() async {
|
|
final token = sessionController.sessionToken;
|
|
if (token == null) {
|
|
return const Err("No token");
|
|
}
|
|
final res = await server.addBalance(token);
|
|
notifyListeners();
|
|
switch (res) {
|
|
case Success<Null>():
|
|
return const Ok(null);
|
|
case Error<Null>(message: final message):
|
|
return Err(message);
|
|
}
|
|
}
|
|
}
|