Beispiel #1
0
 def setUp(self):
     DB.create_all()
     password = hashlib.md5(f"password{settings.SALT}".encode("utf-8")).hexdigest()
     user_data = {"username": "******", "password": password}
     self.user, status = db_actions.crud(
         action="create",
         model=models.User,
         data=user_data,
         params=["id"]
     )
     response = self.client.post(
         "/auth",
         json={"username": "******", "password": "******"},
         content_type="application/json"
     )
     self.TOKEN = response.json["access_token"]
Beispiel #2
0
class User(DB.Model):
    __tablename__ = "User"
    id = DB.Column(DB.Integer, primary_key=True)
    username = DB.Column(DB.VARCHAR(30), unique=True, nullable=False)
    password = DB.Column(DB.CHAR(32), nullable=False)
    email = DB.Column(DB.VARCHAR(50), unique=True, nullable=True)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<User({self.username})>"
Beispiel #3
0
class Battle(DB.Model):
    __tablename__ = "Battle"
    id = DB.Column(DB.Integer, primary_key=True)
    user_id = DB.Column(DB.Integer, DB.ForeignKey("User.id"), nullable=False)
    name = DB.Column(DB.VARCHAR(30), unique=True, index=True, nullable=False)
    description = DB.Column(DB.Text, nullable=True)
    experience = DB.Column(DB.Integer, default=0, nullable=True)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<Battle({self.name})>"
Beispiel #4
0
class Item(DB.Model):
    __tablename__ = "Item"
    id = DB.Column(DB.Integer, primary_key=True)
    user_id = DB.Column(DB.Integer, DB.ForeignKey("User.id"), nullable=False)
    name = DB.Column(DB.VARCHAR(30), unique=True, index=True, nullable=False)
    weight = DB.Column(DB.Float, nullable=False)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<Item({self.name})>"
Beispiel #5
0
class PlayerItem(DB.Model):
    __tablename__ = "PlayerItem"
    player_id = DB.Column(DB.Integer,
                          DB.ForeignKey("Player.id"),
                          primary_key=True)
    item_id = DB.Column(DB.Integer, DB.ForeignKey("Item.id"), primary_key=True)
    amount = DB.Column(DB.Integer, default=1)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<PlayerItem({self.player_id}-{self.item_id})>"
Beispiel #6
0
class CampaignPlayer(DB.Model):
    __tablename__ = "CampaignPlayer"
    campaign_id = DB.Column(DB.Integer,
                            DB.ForeignKey("Campaign.id"),
                            primary_key=True)
    player_id = DB.Column(DB.Integer,
                          DB.ForeignKey("Player.id"),
                          primary_key=True)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<CampaignPlayer({self.campaign_id}-{self.player_id})>"
Beispiel #7
0
class BattleEnemy(DB.Model):
    __tablename__ = "BattleEnemy"
    battle_id = DB.Column(DB.Integer,
                          DB.ForeignKey("Battle.id"),
                          primary_key=True)
    enemy_id = DB.Column(DB.Integer,
                         DB.ForeignKey("Enemy.id"),
                         primary_key=True)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<BattleEnemy({self.battle_id}-{self.enemy_id})>"
Beispiel #8
0
class Enemy(DB.Model):
    __tablename__ = "Enemy"
    id = DB.Column(DB.Integer, primary_key=True)
    user_id = DB.Column(DB.Integer, DB.ForeignKey("User.id"), nullable=False)
    name = DB.Column(DB.VARCHAR(30), unique=True, index=True, nullable=False)
    level = DB.Column(DB.Integer, default=1, nullable=False)
    avatar = DB.Column(DB.VARCHAR(50), nullable=True)
    health = DB.Column(DB.Integer, nullable=True)
    current_health = DB.Column(DB.Integer, nullable=True)
    alive = DB.Column(DB.Boolean, default=True)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<Enemy({self.name})>"
Beispiel #9
0
class Campaign(DB.Model):
    __tablename__ = "Campaign"
    id = DB.Column(DB.Integer, primary_key=True)
    user_id = DB.Column(DB.Integer, DB.ForeignKey("User.id"), nullable=False)
    name = DB.Column(DB.VARCHAR(30), unique=True, index=True, nullable=False)
    description = DB.Column(DB.VARCHAR(500), nullable=True)
    time_of_day = DB.Column(DB.Time, nullable=False)
    day = DB.Column(DB.Integer, default=1, nullable=False)
    created_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           nullable=False)
    updated_at = DB.Column(DB.DateTime,
                           default=datetime.utcnow(),
                           onupdate=datetime.utcnow(),
                           nullable=False)

    def __repr__(self):
        return f"<Campaign({self.name})>"
Beispiel #10
0
 def tearDown(self):
     DB.session.remove()
     DB.drop_all()