diff --git a/Houdini/Data/Penguin.py b/Houdini/Data/Penguin.py new file mode 100644 index 0000000..5885236 --- /dev/null +++ b/Houdini/Data/Penguin.py @@ -0,0 +1,237 @@ +from Houdini.Data import db + + +class Penguin(db.Model): + __tablename__ = 'penguin' + + ID = db.Column(db.Integer, primary_key=True, server_default=db.text("nextval('\"penguin_ID_seq\"'::regclass)")) + Username = db.Column(db.String(12), nullable=False, unique=True) + Nickname = db.Column(db.String(30), nullable=False) + Password = db.Column(db.CHAR(255), nullable=False) + Email = db.Column(db.String(255), nullable=False, index=True) + RegistrationDate = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + Active = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + SafeChat = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + LastPaycheck = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + MinutesPlayed = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + Moderator = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + Character = db.Column(db.ForeignKey('character.ID', ondelete='CASCADE', onupdate='CASCADE')) + Igloo = db.Column(db.ForeignKey('penguin_igloo_room.ID', ondelete='CASCADE', onupdate='CASCADE')) + Coins = db.Column(db.Integer, nullable=False, server_default=db.text("500")) + Color = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Head = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Face = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Neck = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Body = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Hand = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Feet = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Photo = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Flag = db.Column(db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE')) + Permaban = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + BookModified = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + BookColor = db.Column(db.SmallInteger, nullable=False, server_default=db.text("1")) + BookHighlight = db.Column(db.SmallInteger, nullable=False, server_default=db.text("1")) + BookPattern = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + BookIcon = db.Column(db.SmallInteger, nullable=False, server_default=db.text("1")) + AgentStatus = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + FieldOpStatus = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + CareerMedals = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + AgentMedals = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + LastFieldOp = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + NinjaRank = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + NinjaProgress = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + FireNinjaRank = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + FireNinjaProgress = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + WaterNinjaRank = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + WaterNinjaProgress = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + NinjaMatchesWon = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + FireMatchesWon = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + WaterMatchesWon = db.Column(db.Integer, nullable=False, server_default=db.text("0")) + RainbowAdoptability = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + HasDug = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + Nuggets = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + TimerActive = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + TimerStart = db.Column(db.Time, nullable=False, server_default=db.text("'00:00:00'::time without time zone")) + TimerEnd = db.Column(db.Time, nullable=False, server_default=db.text("'23:59:59'::time without time zone")) + ApprovalEn = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + ApprovalPt = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + ApprovalFr = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + ApprovalEs = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + ApprovalDe = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + ApprovalRu = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionEn = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionPt = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionFr = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionEs = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionDe = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + RejectionRu = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + + +class ActivationKey(db.Model): + __tablename__ = 'activation_key' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + ActivationKey = db.Column(db.CHAR(255), primary_key=True, nullable=False) + + +class PuffleQuest(db.Model): + __tablename__ = 'puffle_quest' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + TaskID = db.Column(db.SmallInteger, primary_key=True, nullable=False) + CompletionDate = db.Column(db.DateTime) + ItemCollected = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + CoinsCollected = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + + +t_penguin_igloo = db.Table( + 'penguin_igloo', db, + db.Column('PenguinID', db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False), + db.Column('IglooID', db.ForeignKey('igloo.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) +) + + +t_penguin_item = db.Table( + 'penguin_item', db, + db.Column('PenguinID', db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False), + db.Column('ItemID', db.ForeignKey('item.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) +) + + +t_penguin_location = db.Table( + 'penguin_location', db, + db.Column('PenguinID', db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False), + db.Column('LocationID', db.ForeignKey('location.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) +) + + +class PenguinStamp(db.Model): + __tablename__ = 'penguin_stamp' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + StampID = db.Column(db.ForeignKey('stamp.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + Recent = db.Column(db.Boolean, nullable=False, server_default=db.text("true")) + + +class PenguinRedemption(db.Model): + __tablename__ = 'penguin_redemption' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + CodeID = db.Column(db.ForeignKey('redemption_code.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False, index=True) + BookID = db.Column(db.ForeignKey('redemption_book.ID', ondelete='CASCADE', onupdate='CASCADE'), index=True) + + +class PenguinMembership(db.Model): + __tablename__ = 'penguin_membership' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + Start = db.Column(db.DateTime, primary_key=True, nullable=False) + End = db.Column(db.DateTime, primary_key=True, nullable=False) + + +class PenguinPostcard(db.Model): + __tablename__ = 'penguin_postcard' + + ID = db.Column(db.Integer, primary_key=True, + server_default=db.text("nextval('\"penguin_postcard_ID_seq\"'::regclass)")) + SenderID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), index=True) + RecipientID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False, + index=True) + PostcardID = db.Column(db.ForeignKey('postcard.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + SendDate = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + Details = db.Column(db.String(255), nullable=False, server_default=db.text("''::character varying")) + HasRead = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + + +class PenguinIglooRoom(db.Model): + __tablename__ = 'penguin_igloo_room' + + ID = db.Column(db.Integer, primary_key=True, + server_default=db.text("nextval('\"penguin_igloo_room_ID_seq\"'::regclass)")) + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Type = db.Column(db.ForeignKey('igloo.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Flooring = db.Column(db.ForeignKey('flooring.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Music = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + Location = db.Column(db.ForeignKey('location.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Locked = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + + +class PenguinLaunchGame(db.Model): + __tablename__ = 'penguin_launch_game' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + Level = db.Column(db.SmallInteger, primary_key=True, nullable=False, server_default=db.text("0")) + PuffleOs = db.Column(db.SmallInteger, nullable=False, server_default=db.text("0")) + BestTime = db.Column(db.SmallInteger, nullable=False, server_default=db.text("600")) + Turbo = db.Column(db.Boolean, nullable=False, server_default=db.text("false")) + + +class PenguinCard(db.Model): + __tablename__ = 'penguin_card' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False, index=True) + CardID = db.Column(db.ForeignKey('card.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + Quantity = db.Column(db.SmallInteger, nullable=False, server_default=db.text("1")) + + +class PenguinFurniture(db.Model): + __tablename__ = 'penguin_furniture' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + FurnitureID = db.Column(db.ForeignKey('furniture.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + Quantity = db.Column(db.SmallInteger, nullable=False, server_default=db.text("1")) + + +class PenguinPuffle(db.Model): + __tablename__ = 'penguin_puffle' + + ID = db.Column(db.Integer, primary_key=True, + server_default=db.text("nextval('\"penguin_puffle_ID_seq\"'::regclass)")) + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Name = db.Column(db.String(16), nullable=False) + AdoptionDate = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + Type = db.Column(db.ForeignKey('puffle.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Food = db.Column(db.SmallInteger, nullable=False, server_default=db.text("100")) + Play = db.Column(db.SmallInteger, nullable=False, server_default=db.text("100")) + Rest = db.Column(db.SmallInteger, nullable=False, server_default=db.text("100")) + Clean = db.Column(db.SmallInteger, nullable=False, server_default=db.text("100")) + Walking = db.Column(db.Boolean, server_default=db.text("false")) + Hat = db.Column(db.ForeignKey('puffle_item.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Backyard = db.Column(db.Boolean, server_default=db.text("false")) + HasDug = db.Column(db.Boolean, server_default=db.text("false")) + + +class PenguinPuffleItem(db.Model): + __tablename__ = 'penguin_puffle_item' + + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), primary_key=True, + nullable=False) + ItemID = db.Column(db.Integer, primary_key=True, nullable=False) + Quantity = db.Column(db.SmallInteger, nullable=False) + + +class Login(db.Model): + __tablename__ = 'login' + + ID = db.Column(db.Integer, primary_key=True, server_default=db.text("nextval('\"login_ID_seq\"'::regclass)")) + PenguinID = db.Column(db.ForeignKey('penguin.ID', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) + Date = db.Column(db.DateTime, nullable=False, server_default=db.text("now()")) + IPAddress = db.Column(db.CHAR(255), nullable=False)