Push LocalStorage (UserManager+SaveToStorage)
continuous-integration/drone/push Build is failing Details

LocalManager
Louison PARANT 2 years ago
parent f420a4fd5e
commit b0d75eb10a

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

@ -0,0 +1,17 @@
library LocalLib;
import '../IAuthManager.dart';
import 'LocalData.dart';
class AuthManager extends IAuthManager {
final LocalData parent;
// Constructor
AuthManager(this.parent);
// Methods
@override
bool verifiedUser(String name, String password) {
return false;
}
}

@ -0,0 +1,49 @@
library LocalLib;
import '../IGameManager.dart';
import '../GameDetail.dart';
import '../Player.dart';
import '../User.dart';
import '../Guest.dart';
import 'LocalData.dart';
import 'package:uuid/uuid.dart';
class GameManager extends IGameManager {
List<GameDetail> games = [];
final LocalData parent;
// Constructor
GameManager(this.parent);
// Methods
@override
GameDetail getGameById(Uuid id) {
return GameDetail(Uuid(), DateTime.now(), Uuid(), 290, true, null,
Guest(Uuid(), "", ""), [], []);
}
@override
List<GameDetail> getGamesByPlayerId(Uuid id) {
return [];
}
@override
List<GameDetail> getGamesByPlayer(Player user) {
return [];
}
@override
List<GameDetail> getGamesByPlayers(List<Player> users) {
return [];
}
@override
List<User> getPlayersByIdGame(Uuid id) {
return [];
}
@override
Map<int, Uuid> getRankByIdGame(Uuid id) {
return {};
}
}

@ -0,0 +1,38 @@
library LocalLib;
import '../IManager.dart';
import '../IUserManager.dart';
import '../IGameManager.dart';
import '../User.dart';
import 'UserManager.dart';
import 'GameManager.dart';
import 'package:localstorage/localstorage.dart';
class LocalData extends IManager {
late IUserManager _userMgr;
late IGameManager _gameMgr;
final LocalStorage storage = LocalStorage('local_key');
List<User> users = [];
LocalData() {
_userMgr = UserManager(this);
_gameMgr = GameManager(this);
users = storage.getItem('users');
}
_saveToStorage() {
storage.setItem('users', toJSONEncodable());
}
_clearStorage() async {
await storage.clear();
}
toJSONEncodable() {
return users.map((user) {
return user.toJSONEncodable();
}).toList();
}
}

@ -0,0 +1,38 @@
library LocalLib;
import '../IUserManager.dart';
import '../IAuthManager.dart';
import 'AuthManager.dart';
import 'LocalData.dart';
import '../User.dart';
import 'package:uuid/uuid.dart';
class UserManager extends IUserManager {
final LocalData parent;
// Constructor
UserManager(this.parent) : super(AuthManager(parent));
// Methods
@override
List<User> getUsersByName(String name) {
List<User> returnList = [];
parent.users.forEach((element) {
if (element.name == name) {
returnList.add(element);
}
});
return returnList;
}
@override
User getUserById(Uuid id) {
var returnUser;
parent.users.forEach((element) {
if (element.id == id) {
returnUser = element;
}
});
return returnUser;
}
}

@ -1,4 +1,5 @@
library StubLib; library StubLib;
import '../IManager.dart'; import '../IManager.dart';
import '../IUserManager.dart'; import '../IUserManager.dart';
import '../IGameManager.dart'; import '../IGameManager.dart';
@ -19,8 +20,29 @@ class StubData extends IManager {
} }
List<User> users = [ List<User> users = [
User(Uuid(),"Emre","https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4","emre.kartal@etu.uca.fr", [Achievement("5 games"), Achievement("2 strikes in a row"), Achievement("Win a game")], [], Stat(10,2,12,130,7,6,700,58.33,30.2)), User(
User(Uuid(),"Dave","https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4","david.d_almeida@etu.uca.fr", [Achievement("5 games"), Achievement("0 point"), Achievement("Win a game")], [], Stat(2,7,9,80,4,3,250,27.77,10.55)) Uuid(),
"Emre",
"https://fastly.picsum.photos/id/1060/2000/2000.jpg?hmac=_RrU8GpkCDUlVKfgyWE-GcX-GS5TKNyUzdFbJAGXHV4",
"emre.kartal@etu.uca.fr",
[
Achievement("5 games"),
Achievement("2 strikes in a row"),
Achievement("Win a game")
],
[],
Stat(10, 2, 12, 130, 7, 6, 700, 58.33, 30.2)),
User(
Uuid(),
"Dave",
"https://fastly.picsum.photos/id/820/2000/2000.jpg?hmac=Ctxx2feJNZnG1S7UPx_YrWcEw89tKb7fR8i1W-VTOz4",
"david.d_almeida@etu.uca.fr",
[
Achievement("5 games"),
Achievement("0 point"),
Achievement("Win a game")
],
[],
Stat(2, 7, 9, 80, 4, 3, 250, 27.77, 10.55))
]; ];
} }

@ -1,4 +1,5 @@
library StubLib; library StubLib;
import '../IUserManager.dart'; import '../IUserManager.dart';
import '../IAuthManager.dart'; import '../IAuthManager.dart';
import 'AuthManager.dart'; import 'AuthManager.dart';
@ -17,7 +18,9 @@ class UserManager extends IUserManager {
List<User> getUsersByName(String name) { List<User> getUsersByName(String name) {
return []; return [];
} }
User getUserById(Uuid id) { User getUserById(Uuid id) {
return User(Uuid(),"","","",[],[], Stat(10,10,10,10,10,10,10,10,10)); return User(
Uuid(), "", "", "", [], [], Stat(10, 10, 10, 10, 10, 10, 10, 10, 10));
} }
} }

@ -10,7 +10,8 @@ class User extends Player {
Stat _stat; Stat _stat;
// Constructor // Constructor
User(Uuid id, String name, String image, this._mail, this._achievements, this._friends, this._stat) User(Uuid id, String name, String image, this._mail, this._achievements,
this._friends, this._stat)
: super(id, name, image); : super(id, name, image);
// Getters and setters // Getters and setters
@ -37,4 +38,18 @@ class User extends Player {
set stats(Stat value) { set stats(Stat value) {
_stat = value; _stat = value;
} }
toJSONEncodable() {
Map<String, dynamic> m = new Map();
m['id'] = id;
m['Name'] = name;
m['Mail'] = _mail;
m['Image'] = image;
m['Achievement'] = achievements;
m['Friends'] = friends;
m['Stat'] = stat;
return m;
}
} }

@ -33,6 +33,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.1" version: "2.1.1"
buffer:
dependency: transitive
description:
name: buffer
sha256: "8962c12174f53e2e848a6acd7ac7fd63d8a1a6a316c20c458a832d87eba5422a"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@ -41,6 +49,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.2.1" version: "1.2.1"
charcode:
dependency: transitive
description:
name: charcode
sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
url: "https://pub.dev"
source: hosted
version: "1.3.1"
checked_yaml: checked_yaml:
dependency: transitive dependency: transitive
description: description:
@ -216,6 +232,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.0.1" version: "2.0.1"
localstorage:
dependency: "direct main"
description:
name: localstorage
sha256: "93f103074c0661bc1bb90aa88e172ee2e9096ec0c4f9baf519e23372c39ca681"
url: "https://pub.dev"
source: hosted
version: "4.0.0+1"
logging: logging:
dependency: transitive dependency: transitive
description: description:
@ -304,6 +328,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.3" version: "2.1.3"
pedantic:
dependency: transitive
description:
name: pedantic
sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
petitparser: petitparser:
dependency: transitive dependency: transitive
description: description:
@ -336,6 +368,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "3.6.2" version: "3.6.2"
pool:
dependency: transitive
description:
name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
postgres:
dependency: "direct main"
description:
name: postgres
sha256: "8a94c672fbfd252228862a8e786497828f650b427e51b2e624606756c64224e3"
url: "https://pub.dev"
source: hosted
version: "2.6.1"
process: process:
dependency: transitive dependency: transitive
description: description:
@ -344,6 +392,22 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "4.2.4" version: "4.2.4"
sasl_scram:
dependency: transitive
description:
name: sasl_scram
sha256: a47207a436eb650f8fdcf54a2e2587b850dc3caef9973ce01f332b07a6fc9cb9
url: "https://pub.dev"
source: hosted
version: "0.1.1"
saslprep:
dependency: transitive
description:
name: saslprep
sha256: "79c9e163a82f55da542feaf0f7a59031e74493299c92008b2b404cd88d639bb4"
url: "https://pub.dev"
source: hosted
version: "1.0.2"
simple_gradient_text: simple_gradient_text:
dependency: "direct main" dependency: "direct main"
description: description:
@ -413,6 +477,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.3.1" version: "1.3.1"
unorm_dart:
dependency: transitive
description:
name: unorm_dart
sha256: "5b35bff83fce4d76467641438f9e867dc9bcfdb8c1694854f230579d68cd8f4b"
url: "https://pub.dev"
source: hosted
version: "0.2.0"
uuid: uuid:
dependency: "direct main" dependency: "direct main"
description: description:

@ -40,6 +40,8 @@ dependencies:
google_fonts: ^3.0.1 google_fonts: ^3.0.1
go_router: ^6.0.1 go_router: ^6.0.1
uuid: ^3.0.7 uuid: ^3.0.7
postgres: ^2.6.1
localstorage: ^4.0.0+1
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:

Loading…
Cancel
Save