From 4c6f68b07ef983b770fe9034d97ae550c94177ef Mon Sep 17 00:00:00 2001 From: Ryan Holmes Date: Wed, 14 Mar 2018 18:46:49 -0400 Subject: [PATCH] Move sso character stuff to character file (for now while I try to figure out how to properly delete these) --- eos/db/saveddata/character.py | 38 ++++++++++++++++++++++++++++---- eos/db/saveddata/ssoCharacter.py | 21 ------------------ 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/eos/db/saveddata/character.py b/eos/db/saveddata/character.py index 5bf9a1cd7..7de696ab8 100644 --- a/eos/db/saveddata/character.py +++ b/eos/db/saveddata/character.py @@ -17,19 +17,21 @@ # along with eos. If not, see . # =============================================================================== -from sqlalchemy import Table, Column, Integer, ForeignKey, String, DateTime, Float +from sqlalchemy import Table, Column, Integer, ForeignKey, String, DateTime, Float, UniqueConstraint from sqlalchemy.orm import relation, mapper import datetime from eos.db import saveddata_meta from eos.db.saveddata.implant import charImplants_table -from eos.db.saveddata.ssoCharacter import sso_character_map_table from eos.effectHandlerHelpers import HandledImplantBoosterList, HandledSsoCharacterList from eos.saveddata.implant import Implant from eos.saveddata.user import User from eos.saveddata.character import Character, Skill from eos.saveddata.ssocharacter import SsoCharacter + + + characters_table = Table("characters", saveddata_meta, Column("ID", Integer, primary_key=True), Column("name", String, nullable=False), @@ -40,6 +42,36 @@ characters_table = Table("characters", saveddata_meta, Column("created", DateTime, nullable=True, default=datetime.datetime.now), Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now)) +sso_table = Table("ssoCharacter", saveddata_meta, + Column("ID", Integer, primary_key=True), + Column("client", String, nullable=False), + Column("characterID", Integer, nullable=False), + Column("characterName", String, nullable=False), + Column("refreshToken", String, nullable=False), + Column("accessToken", String, nullable=False), + Column("accessTokenExpires", DateTime, nullable=False), + Column("created", DateTime, nullable=True, default=datetime.datetime.now), + Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now), + UniqueConstraint('client', 'characterID', name='uix_client_characterID'), + UniqueConstraint('client', 'characterName', name='uix_client_characterName') + ) + +sso_character_map_table = Table("ssoCharacterMap", saveddata_meta, + Column("characterID", ForeignKey("characters.ID"), primary_key=True), + Column("ssoCharacterID", ForeignKey("ssoCharacter.ID"), primary_key=True), + ) + + +mapper(SsoCharacter, sso_table, + properties={ + "_SsoCharacter__maps": relation( + Character, + cascade="all", + secondary=sso_character_map_table + ), +} +) + mapper(Character, characters_table, properties={ "_Character__alphaCloneID": characters_table.c.alphaCloneID, @@ -65,8 +97,6 @@ mapper(Character, characters_table, SsoCharacter, collection_class=HandledSsoCharacterList, cascade='all', - primaryjoin=sso_character_map_table.c.characterID == characters_table.c.ID, - secondaryjoin=sso_character_map_table.c.ssoCharacterID == SsoCharacter.ID, secondary=sso_character_map_table) } ) diff --git a/eos/db/saveddata/ssoCharacter.py b/eos/db/saveddata/ssoCharacter.py index 80610890a..b8210b197 100644 --- a/eos/db/saveddata/ssoCharacter.py +++ b/eos/db/saveddata/ssoCharacter.py @@ -23,24 +23,3 @@ import datetime from eos.db import saveddata_meta from eos.saveddata.ssocharacter import SsoCharacter - -sso_table = Table("ssoCharacter", saveddata_meta, - Column("ID", Integer, primary_key=True), - Column("client", String, nullable=False), - Column("characterID", Integer, nullable=False), - Column("characterName", String, nullable=False), - Column("refreshToken", String, nullable=False), - Column("accessToken", String, nullable=False), - Column("accessTokenExpires", DateTime, nullable=False), - Column("created", DateTime, nullable=True, default=datetime.datetime.now), - Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now), - UniqueConstraint('client', 'characterID', name='uix_client_characterID'), - UniqueConstraint('client', 'characterName', name='uix_client_characterName') - ) - -sso_character_map_table = Table("ssoCharacterMap", saveddata_meta, - Column("characterID", ForeignKey("characters.ID"), primary_key=True), - Column("ssoCharacterID", ForeignKey("ssoCharacter.ID"), primary_key=True), - ) - -mapper(SsoCharacter, sso_table)