From 22657801b66fe23d9eaf28aacde1c637328cb74f Mon Sep 17 00:00:00 2001 From: Efrain Date: Wed, 2 Jun 2021 22:14:32 -0500 Subject: [PATCH] [Domain] Created new game code entities / model --- .../models/db/game_codes/game_codes_file.dart | 31 ------------------- lib/domain/models/entities.dart | 3 +- .../models/entities/game_code/game_code.dart | 26 ++++++++++++++++ .../entities/game_code/game_code_reward.dart | 17 ++++++++++ .../entities/game_code/used_game_code.dart | 14 --------- .../models/game_codes/game_code_model.dart | 11 ++++++- lib/domain/models/models.dart | 1 - 7 files changed, 55 insertions(+), 48 deletions(-) delete mode 100644 lib/domain/models/db/game_codes/game_codes_file.dart create mode 100644 lib/domain/models/entities/game_code/game_code.dart create mode 100644 lib/domain/models/entities/game_code/game_code_reward.dart delete mode 100644 lib/domain/models/entities/game_code/used_game_code.dart diff --git a/lib/domain/models/db/game_codes/game_codes_file.dart b/lib/domain/models/db/game_codes/game_codes_file.dart deleted file mode 100644 index e95e47fbd..000000000 --- a/lib/domain/models/db/game_codes/game_codes_file.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:freezed_annotation/freezed_annotation.dart'; - -import '../../models.dart'; - -part 'game_codes_file.freezed.dart'; -part 'game_codes_file.g.dart'; - -@freezed -abstract class GameCodesFile implements _$GameCodesFile { - factory GameCodesFile({ - @required List gameCodes, - }) = _GameCodesFile; - - GameCodesFile._(); - - factory GameCodesFile.fromJson(Map json) => _$GameCodesFileFromJson(json); -} - -@freezed -abstract class GameCodeFileModel implements _$GameCodeFileModel { - factory GameCodeFileModel({ - String dateAdded, - @required bool isExpired, - @required String code, - @required List rewards, - }) = _GameCodeFileModel; - - GameCodeFileModel._(); - - factory GameCodeFileModel.fromJson(Map json) => _$GameCodeFileModelFromJson(json); -} diff --git a/lib/domain/models/entities.dart b/lib/domain/models/entities.dart index 66647bc9f..2e0368242 100644 --- a/lib/domain/models/entities.dart +++ b/lib/domain/models/entities.dart @@ -1,7 +1,8 @@ export 'entities/calculator/calculator_character_skill.dart'; export 'entities/calculator/calculator_item.dart'; export 'entities/calculator/calculator_session.dart'; -export 'entities/game_code/used_game_code.dart'; +export 'entities/game_code/game_code.dart'; +export 'entities/game_code/game_code_reward.dart'; export 'entities/inventory/inventory_item.dart'; export 'entities/inventory/inventory_used_item.dart'; export 'entities/tierlist/tierlist_item.dart'; diff --git a/lib/domain/models/entities/game_code/game_code.dart b/lib/domain/models/entities/game_code/game_code.dart new file mode 100644 index 000000000..fa889acf1 --- /dev/null +++ b/lib/domain/models/entities/game_code/game_code.dart @@ -0,0 +1,26 @@ +import 'package:hive/hive.dart'; + +part 'game_code.g.dart'; + +@HiveType(typeId: 6) +class GameCode extends HiveObject { + @HiveField(0) + final String code; + + @HiveField(1) + DateTime usedOn; + + @HiveField(2) + DateTime discoveredOn; + + @HiveField(3) + DateTime expiredOn; + + @HiveField(4) + bool isExpired; + + @HiveField(5) + int region; + + GameCode(this.code, this.usedOn, this.discoveredOn, this.expiredOn, this.isExpired, this.region); +} diff --git a/lib/domain/models/entities/game_code/game_code_reward.dart b/lib/domain/models/entities/game_code/game_code_reward.dart new file mode 100644 index 000000000..dd809ddec --- /dev/null +++ b/lib/domain/models/entities/game_code/game_code_reward.dart @@ -0,0 +1,17 @@ +import 'package:hive/hive.dart'; + +part 'game_code_reward.g.dart'; + +@HiveType(typeId: 8) +class GameCodeReward extends HiveObject { + @HiveField(0) + final int gameCodeKey; + + @HiveField(1) + final String itemKey; + + @HiveField(2) + final int quantity; + + GameCodeReward(this.gameCodeKey, this.itemKey, this.quantity); +} diff --git a/lib/domain/models/entities/game_code/used_game_code.dart b/lib/domain/models/entities/game_code/used_game_code.dart deleted file mode 100644 index d4834f5d3..000000000 --- a/lib/domain/models/entities/game_code/used_game_code.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:hive/hive.dart'; - -part 'used_game_code.g.dart'; - -@HiveType(typeId: 6) -class UsedGameCode extends HiveObject { - @HiveField(0) - final String code; - - @HiveField(1) - final DateTime usedOn; - - UsedGameCode(this.code, this.usedOn); -} diff --git a/lib/domain/models/game_codes/game_code_model.dart b/lib/domain/models/game_codes/game_code_model.dart index 8460dc8b7..fe11f8cce 100644 --- a/lib/domain/models/game_codes/game_code_model.dart +++ b/lib/domain/models/game_codes/game_code_model.dart @@ -1,16 +1,25 @@ import 'package:flutter/cupertino.dart'; +import 'package:genshindb/domain/enums/enums.dart'; import 'package:genshindb/domain/models/models.dart'; class GameCodeModel { final String code; + final AppServerResetTimeType region; + + final DateTime discoveredOn; + final DateTime expiredOn; final bool isExpired; + final bool isUsed; final List rewards; GameCodeModel({ @required this.code, - @required this.isExpired, @required this.isUsed, @required this.rewards, + @required this.isExpired, + @required this.discoveredOn, + this.expiredOn, + this.region, }); } diff --git a/lib/domain/models/models.dart b/lib/domain/models/models.dart index 243e8e5ad..aea7bdb3f 100644 --- a/lib/domain/models/models.dart +++ b/lib/domain/models/models.dart @@ -17,7 +17,6 @@ export 'db/characters/characters_file.dart'; export 'db/elements/element_debuff_file_model.dart'; export 'db/elements/element_reaction_file_model.dart'; export 'db/elements/elements_file.dart'; -export 'db/game_codes/game_codes_file.dart'; export 'db/materials/material_file_model.dart'; export 'db/materials/materials_file.dart'; export 'db/monsters/monster_file_model.dart';