"""Model of wradmin""" from flask import Flask from flask_sqlalchemy import SQLAlchemy from sqlalchemy import orm from flask_login import UserMixin from wrpylib import mwdb, wrmwdb class WrReport: pass class WrSledrunCache: pass class WrInnCache: pass class MwText: """MediaWiki text table""" pass class MwUser(UserMixin): """MediaWiki user table""" def get_id(self): return str(self.user_id) class MwUserGroups: """MediaWiki groups""" pass def init_db(app: Flask) -> SQLAlchemy: db = SQLAlchemy(app) wrreport_table = wrmwdb.wrreport_table(db.metadata) wrreportcache_table = wrmwdb.wrreportcache_table(db.metadata) wrsledruncache_table = wrmwdb.wrsledruncache_table(db.metadata) wrinncache_table = wrmwdb.wrinncache_table(db.metadata) page_table = mwdb.page_table(db.metadata) revision_table = mwdb.revision_table(db.metadata) text_table = mwdb.text_table(db.metadata) user_table = mwdb.user_table(db.metadata) user_groups_table = mwdb.user_groups_table(db.metadata) categorylinks_table = mwdb.categorylinks_table(db.metadata) orm.mapper(WrReport, wrreport_table) # We could add a relation but we don't need it yet: # orm.mapper(WrSledrunCache, wrsledruncache_table, # properties = {'reports': orm.relation(WrReport, backref='sledding')}) orm.mapper(WrSledrunCache, wrsledruncache_table) orm.mapper(WrInnCache, wrinncache_table) orm.mapper(MwText, text_table) orm.mapper(MwUserGroups, user_groups_table) orm.mapper(MwUser, user_table) return db