Rename some internal functions; Update db and start work on message filters

This commit is contained in:
2024-10-21 00:26:08 +02:00
parent 5ba0df43c4
commit 9220c95636
28 changed files with 213 additions and 62 deletions

View File

@ -14,19 +14,64 @@ class BaseModel(Model):
class EntitySettings(BaseModel):
language = CharField(null=True)
#country = ...
#timezone = ...
class Entity(BaseModel):
id = CharField(null=True)
id_hash = CharField()
settings = ForeignKeyField(EntitySettings, backref="entity", null=True)
class User(Entity):
pass
class File(BaseModel):
path = CharField()
content = BlobField()
owner = ForeignKeyField(Entity, backref="files")
class Meta:
indexes = (
(('path', 'owner'), True),
)
#class BaseFilter(BaseModel):
# name = CharField(null=True)
# owner = ForeignKeyField(Entity, backref="filters")
#class ScriptFilter(BaseFilter):
# script = TextField()
#class StaticFilter(BaseFilter):
# response = TextField()
class Filter(BaseModel):
name = CharField(null=True)
trigger = CharField(null=True)
output = CharField(null=True)
owner = ForeignKeyField(Entity, backref="filters")
class Room(Entity):
pass
Db.create_tables([EntitySettings, User, Room], safe=True)
UserToRoomDeferred = DeferredThroughModel()
FilterToRoomDeferred = DeferredThroughModel()
class User(Entity):
rooms = ManyToManyField(Room, backref="users", through_model=UserToRoomDeferred)
class UserToRoom(BaseModel):
user = ForeignKeyField(User, backref="room_links")
room = ForeignKeyField(Room, backref="user_links")
class FilterToRoom(BaseModel):
filter = ForeignKeyField(Filter, backref="room_links")
room = ForeignKeyField(Room, backref="filter_links")
UserToRoomDeferred.set_model(UserToRoom)
FilterToRoomDeferred.set_model(FilterToRoom)
Db.create_tables([
EntitySettings, File, Filter,
User, Room,
FilterToRoom, UserToRoom,
], safe=True)
class UserSettingsData():
def __new__(cls, user_id:str=None) -> SafeNamespace: