Feat: User Relationships and Session Members.

This commit is contained in:
2026-02-28 19:53:50 +00:00
parent c7db290aaf
commit e8e9a02e7b
73 changed files with 3818 additions and 571 deletions

View File

@@ -10,6 +10,8 @@ Feature: MTG Game Player Business Object
# internal
from business_objects.base import Base
from business_objects.db_base import SQLAlchemy_ABC, Get_Many_Parameters_Base
from business_objects.tcg.mtg_deck import MTG_Deck
from business_objects.tcg.mtg_game import MTG_Game
import lib.argument_validation as av
from extensions import db
from helpers.helper_app import Helper_App
@@ -22,8 +24,6 @@ from sqlalchemy.types import Text, Boolean
class MTG_Game_Player(SQLAlchemy_ABC, Base):
ATTR_PLAYER_ID: ClassVar[str] = 'player_id'
ATTR_GAME_ID: ClassVar[str] = 'game_id'
ATTR_DECK_ID: ClassVar[str] = 'deck_id'
FLAG_PLAYER: ClassVar[str] = 'player'
FLAG_NOTES: ClassVar[str] = 'notes'
FLAG_DISPLAY_ORDER: ClassVar[str] = 'display_order'
@@ -74,9 +74,9 @@ class MTG_Game_Player(SQLAlchemy_ABC, Base):
player = cls()
if json is None: return player
player.player_id = json.get(cls.ATTR_PLAYER_ID, -1)
player.game_id = json.get(cls.ATTR_GAME_ID, None)
player.game_id = json.get(MTG_Game.ATTR_GAME_ID, None)
player.user_id = json.get(Base.ATTR_USER_ID, None)
player.deck_id = json.get(cls.ATTR_DECK_ID, None)
player.deck_id = json.get(MTG_Deck.ATTR_DECK_ID, None)
player.name = json.get(cls.FLAG_NAME, None)
player.notes = json.get(cls.FLAG_NOTES, None)
player.display_order = json.get(cls.FLAG_DISPLAY_ORDER, 0)
@@ -89,9 +89,9 @@ class MTG_Game_Player(SQLAlchemy_ABC, Base):
as_json = {
**self.get_shared_json_attributes(self)
, self.ATTR_PLAYER_ID: self.player_id
, self.ATTR_GAME_ID: self.game_id
, MTG_Game.ATTR_GAME_ID: self.game_id
, Base.ATTR_USER_ID: self.user_id
, self.ATTR_DECK_ID: self.deck_id
, MTG_Deck.ATTR_DECK_ID: self.deck_id
, self.FLAG_NAME: self.name
, self.FLAG_NOTES: self.notes
, self.FLAG_DISPLAY_ORDER: self.display_order
@@ -104,9 +104,9 @@ class MTG_Game_Player(SQLAlchemy_ABC, Base):
return f'''
{self.__class__.__name__}(
{self.ATTR_PLAYER_ID}: {self.player_id}
{self.ATTR_GAME_ID}: {self.game_id}
{MTG_Game.ATTR_GAME_ID}: {self.game_id}
{Base.ATTR_USER_ID}: {self.user_id}
{self.ATTR_DECK_ID}: {self.deck_id}
{MTG_Deck.ATTR_DECK_ID}: {self.deck_id}
{self.FLAG_NAME}: {self.name}
{self.FLAG_NOTES}: {self.notes}
{self.FLAG_DISPLAY_ORDER}: {self.display_order}