72 lines
2.0 KiB
Python
72 lines
2.0 KiB
Python
|
|
from sqlalchemy import Column, Integer, String
|
|
from sqlalchemy import ForeignKey
|
|
|
|
from sqlalchemy.ext.declarative import declarative_base
|
|
from sqlalchemy.orm import relationship, backref
|
|
|
|
Base = declarative_base()
|
|
|
|
class Site(Base):
|
|
__tablename__ = 'sites'
|
|
|
|
id = Column(Integer, primary_key=True)
|
|
name = Column(String, unique=True, nullable=False)
|
|
|
|
def __init__(self, name):
|
|
self.name = name
|
|
|
|
def __repr__(self):
|
|
return "<Site('%s')>" % (self.name)
|
|
|
|
class LocalUser(Base):
|
|
""" Mandaye local user
|
|
"""
|
|
__tablename__ = 'local_users'
|
|
|
|
id = Column(Integer, primary_key=True)
|
|
login = Column(String(150), nullable=True, unique=True)
|
|
password = Column(String(25), nullable=True)
|
|
fullname = Column(String(150), nullable=True)
|
|
|
|
def __init__(self, login=None, password=None, fullname=None):
|
|
self.login = login
|
|
self.password = password
|
|
self.fullname = fullname
|
|
|
|
def __repr__(self):
|
|
if self.login:
|
|
return "<LocalUser('%s')>" % (self.login)
|
|
elif self.token:
|
|
return "<LocalUser('%s')>" % (self.token)
|
|
return "<LocalUser>"
|
|
|
|
class ExtUser(Base):
|
|
""" User of externals applications
|
|
"""
|
|
__tablename__ = 'ext_users'
|
|
|
|
id = Column(Integer, primary_key=True)
|
|
login = Column(String(80), nullable=True)
|
|
password = Column(String(25), nullable=True)
|
|
birthdate = Column(String(15), nullable=True)
|
|
local_user_id = Column(Integer, ForeignKey('local_users.id'))
|
|
site_id = Column(Integer, ForeignKey('sites.id'))
|
|
|
|
local_user = relationship("LocalUser", backref=backref('ext_users', order_by=id))
|
|
site = relationship("LocalUser", backref=backref('users'))
|
|
|
|
def __init__(self, login=None, password=None):
|
|
self.login = login
|
|
self.password = password
|
|
|
|
def __repr__(self):
|
|
if self.login:
|
|
return "<ExtUser('%s')>" % (self.login)
|
|
elif self.token:
|
|
return "<ExtUser('%s')>" % (self.token)
|
|
return "<ExtUser>"
|
|
|
|
|
|
|