frost.server.database package¶
Submodules¶
frost.server.database.db module¶
-
class
frost.server.database.db.Base(**kwargs)¶ Bases:
objectThe most base type
-
metadata= MetaData(bind=None)¶
-
-
frost.server.database.db.engine= Engine(sqlite:///pyfrost.sqlite3)¶ The SQLAlchemy engine.
-
frost.server.database.db.init_db() → None¶ Initlializes a database and creates the pre-defined models.
-
frost.server.database.db.managed_session() → Session¶ A context manager for thread-safe database access. Automatically commits if no errors occur, else it is rolled back. Session is removed after use.
- Yield
An SQLAlchemy scoped_session
- Return type
sqlalchemy.orm.Session
frost.server.database.models module¶
-
class
frost.server.database.models.Message(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe Message model.
__tablename__ = 'messages'-
id¶ The message’s ID.
-
message¶ The message’s contents.
-
room¶ The room the message was sent in.
-
room_id¶ The ID of the room the message was sent in.
-
timestamp¶ The date and time the message was sent.
-
user¶ The user who sent the message.
-
user_id¶ The ID of the user who sent the message.
-
-
class
frost.server.database.models.Room(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe Room model.
__tablename__ = 'rooms'-
id¶ The room’s ID.
-
invite_code¶ The room’s invite code.
-
messages¶ The messages that have been sent in the room.
-
name¶ The room’s name.
-
owner_id¶ The ID of the user who created the room.
-
users¶ The users who are have joined the room.
-
-
class
frost.server.database.models.User(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe User model.
__tablename__ = 'users'-
id¶ The user’s ID.
-
joined_rooms¶ The different rooms the user has joined.
-
messages¶ The messages the user has sent.
-
password¶ The user’s password.
-
token¶ The user’s authentication token, used after login.
-
username¶ The user’s username.
-
-
frost.server.database.models.user_room_association= Table('user_room_association', MetaData(bind=None), Column('users', Integer(), ForeignKey('users.id'), table=<user_room_association>), Column('rooms', Integer(), ForeignKey('rooms.id'), table=<user_room_association>), schema=None)¶ An association from the many-to-many relationship between users and rooms.
Module contents¶
-
frost.server.database.init_db() → None¶ Initlializes a database and creates the pre-defined models.
-
frost.server.database.managed_session() → Session¶ A context manager for thread-safe database access. Automatically commits if no errors occur, else it is rolled back. Session is removed after use.
- Yield
An SQLAlchemy scoped_session
- Return type
sqlalchemy.orm.Session
-
class
frost.server.database.Base(**kwargs)¶ Bases:
objectThe most base type
-
metadata= MetaData(bind=None)¶
-
-
class
frost.server.database.User(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe User model.
__tablename__ = 'users'-
id¶ The user’s ID.
-
joined_rooms¶ The different rooms the user has joined.
-
messages¶ The messages the user has sent.
-
password¶ The user’s password.
-
token¶ The user’s authentication token, used after login.
-
username¶ The user’s username.
-
-
class
frost.server.database.Room(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe Room model.
__tablename__ = 'rooms'-
id¶ The room’s ID.
-
invite_code¶ The room’s invite code.
-
messages¶ The messages that have been sent in the room.
-
name¶ The room’s name.
-
owner_id¶ The ID of the user who created the room.
-
users¶ The users who are have joined the room.
-
-
class
frost.server.database.Message(**kwargs)¶ Bases:
sqlalchemy.ext.declarative.api.BaseThe Message model.
__tablename__ = 'messages'-
id¶ The message’s ID.
-
message¶ The message’s contents.
-
room¶ The room the message was sent in.
-
room_id¶ The ID of the room the message was sent in.
-
timestamp¶ The date and time the message was sent.
-
user¶ The user who sent the message.
-
user_id¶ The ID of the user who sent the message.
-