Readjust the LocalManager of louison and new functions in the UserManager
continuous-integration/drone/push Build is passing Details

ContinueLocalManager
Emre KARTAL 1 year ago
parent aef6be1c0e
commit 0e265bbead

@ -10,6 +10,5 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Dart SDK" level="project" />
<orderEntry type="library" name="Dart Packages" level="project" />
</component>
</module>

@ -2,10 +2,8 @@ import 'package:bowl_in/model/GameDetail.dart';
import 'package:bowl_in/model/GamePlayer.dart';
import 'User.dart';
import 'Game.dart';
import 'IUserManager.dart';
import 'IGameManager.dart';
import 'Game.dart';
abstract class IManager {
late User _userCurrent;

@ -0,0 +1,16 @@
import 'package:bowl_in/model/IAuthManager.dart';
import 'package:bowl_in/model/LocalManager/LocalData.dart';
class AuthManager extends IAuthManager {
final LocalData parent;
// Constructor
AuthManager(this.parent);
@override
bool verifiedUser(String mail, String password) {
// TODO: implement verifiedUser
throw UnimplementedError();
}
}

@ -0,0 +1,59 @@
import 'package:bowl_in/model/GameDetail.dart';
import 'package:bowl_in/model/IGameManager.dart';
import 'package:bowl_in/model/LocalManager/LocalData.dart';
import 'package:bowl_in/model/Player.dart';
class GameManager extends IGameManager {
final LocalData parent;
// Constructor
GameManager(this.parent);
@override
addGame(GameDetail gd) {
// TODO: implement addGame
throw UnimplementedError();
}
@override
GameDetail getGameById(int id) {
// TODO: implement getGameById
throw UnimplementedError();
}
@override
List<GameDetail> getGamesByPlayer(Player user) {
// TODO: implement getGamesByPlayer
throw UnimplementedError();
}
@override
List<GameDetail> getGamesByPlayerId(int id) {
// TODO: implement getGamesByPlayerId
throw UnimplementedError();
}
@override
List<GameDetail> getGamesByPlayers(List<Player> users) {
// TODO: implement getGamesByPlayers
throw UnimplementedError();
}
@override
int getNextId() {
// TODO: implement getNextId
throw UnimplementedError();
}
@override
List<Player> getPlayersByIdGame(int id) {
// TODO: implement getPlayersByIdGame
throw UnimplementedError();
}
@override
Map<Player, int> getRankByIdGame(int id) {
// TODO: implement getRankByIdGame
throw UnimplementedError();
}
}

@ -0,0 +1,19 @@
import 'package:bowl_in/model/IManager.dart';
import 'package:localstorage/localstorage.dart';
import '../IGameManager.dart';
import '../IUserManager.dart';
import 'GameManager.dart';
import 'UserManager.dart';
class LocalData extends IManager{
late IUserManager _userMgr;
late IGameManager _gameMgr;
final LocalStorage storage = LocalStorage('local_key');
LocalData() {
_userMgr = UserManager(this);
_gameMgr = GameManager(this);
}
}

@ -0,0 +1,78 @@
import 'dart:convert';
import 'package:bowl_in/model/IUserManager.dart';
import 'package:bowl_in/model/LocalManager/LocalData.dart';
import 'package:bowl_in/model/Player.dart';
import 'package:bowl_in/model/User.dart';
import '../Stat.dart';
import 'AuthManager.dart';
class UserManager extends IUserManager {
final LocalData parent;
// Constructor
UserManager(this.parent) : super(AuthManager(parent)) {
_initUser();
}
_initUser() {
String userJson = parent.storage.getItem('user');
if (userJson != null) {
Map<String, dynamic> userMap = json.decode(userJson);
User user = User(
userMap['_id'],
userMap['name'],
userMap['image'],
userMap['_mail'],
[],
[],
new Stat(0, 0, 0, 0, 0, 0, 2.0, 3.0),
);
parent.userCurrent = user;
} else {
parent.userCurrent = new User(
1,
"Unknown",
"./assets/images/image_user_cyan.png",
"david.d_almeida@etu.uca.fr",
[],
[],
Stat(0, 0, 0, 0, 0, 0, 0, 0));
}
}
saveUser(User user) {
String userJson = json.encode(userToMap(user));
parent.storage.setItem('user', userJson);
}
Map<String, dynamic> userToMap(User user) {
return {
'_id': user.id,
'name': user.name,
'image': user.image,
'_mail': user.mail,
};
}
@override
List<User> getRankingWithFriends() {
// TODO: implement getRankingWithFriends
throw UnimplementedError();
}
@override
Player getUserById(int id) {
// TODO: implement getUserById
throw UnimplementedError();
}
@override
List<Player> getUsersByName(String name) {
// TODO: implement getUsersByName
throw UnimplementedError();
}
}

@ -1,4 +1,5 @@
library StubLib;
import '../IAuthManager.dart';
import '../User.dart';
import 'StubData.dart';
@ -8,6 +9,7 @@ class AuthManager extends IAuthManager {
// Constructor
AuthManager(this.parent);
// Methods
bool verifiedUser(String mail, String password) {
for (var user in parent.players) {
@ -18,4 +20,4 @@ class AuthManager extends IAuthManager {
}
return false;
}
}
}

@ -51,15 +51,7 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
0,
0,
0,
0,
0,
0,
0,
0)),
Stat(0, 0, 0, 0, 0, 0, 0, 0)),
User(
9,
"Dave",
@ -82,15 +74,7 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
0,
0,
0,
0,
0,
0,
0,
0)),
Stat(0, 0, 0, 0, 0, 0, 0, 0)),
User(
22,
"Louison",
@ -102,15 +86,7 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
10,
12,
150,
7,
6,
700,
58.33,
30.2)),
Stat(10, 12, 150, 7, 6, 700, 58.33, 30.2)),
User(
23,
"Owen",
@ -122,15 +98,7 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
10,
12,
10,
7,
6,
700,
58.33,
30.2)),
Stat(10, 12, 10, 7, 6, 700, 58.33, 30.2)),
User(
24,
"LULU",
@ -142,15 +110,7 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
10,
12,
40,
7,
6,
700,
58.33,
30.2)),
Stat(10, 12, 40, 7, 6, 700, 58.33, 30.2)),
User(
25,
"Raphael",
@ -162,25 +122,9 @@ class StubData extends IManager {
Achievement("Win a game")
],
[],
Stat(
10,
12,
76,
7,
6,
700,
58.33,
30.2)),
Stat(10, 12, 76, 7, 6, 700, 58.33, 30.2)),
],
Stat(
0,
0,
0,
0,
0,
0,
0,
0))
Stat(0, 0, 0, 0, 0, 0, 0, 0))
];
List<GameDetail> _gameDetails = [];

@ -224,6 +224,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.0.1"
localstorage:
dependency: "direct main"
description:
name: localstorage
sha256: "1b5304491c85250b90807e0e2b3a6217d2739caea4871b820d42782572f880f4"
url: "https://pub.dev"
source: hosted
version: "4.0.1+2"
logging:
dependency: transitive
description:

@ -40,6 +40,7 @@ dependencies:
google_fonts: ^3.0.1
go_router: ^6.0.1
uuid: ^3.0.7
localstorage: ^4.0.0+1
intl: ^0.18.0

Loading…
Cancel
Save