class Reserve(db.Model): __tablename__ = "reserves" id = db.Column(db.Integer, primary_key=True) date_out = db.Column(db.Date, unique=False, nullable=False) date_back = db.Column(db.Date, unique=False, nullable=True) client_id = db.Column(db.Integer, db.ForeignKey('clients.id'), nullable=False) client = db.relationship('Client', backref=db.backref('reserves')) book_id = db.Column(db.Integer, db.ForeignKey('books.id'), nullable=False) book = db.relationship('Book', backref=db.backref('reserves')) def __repr__(self): return f'Reserve {self.id}' def response(reserve): return jsonify({ 'date_out': reserve.date_out, 'date_back': reserve.date_back, 'client_id': reserve.client_id, 'book_id': reserve.book_id }) def delayDay(reserve): calc = date.today() - reserve.date_out return calc.days
class TagValue(db.Model): id = db.Column(db.Integer, primary_key=True) tag_definition_id = db.Column(db.Integer, db.ForeignKey('tag_definition.id')) tag_definition = db.relationship('TagDefinition', backref=db.backref('values')) value = db.Column(db.Text)
class ChangeSet(db.Model): __table_args__ = {'schema': schema} id = db.Column(db.Integer, primary_key=True) timestamp = db.Column(db.TIMESTAMP) contributor_id = db.Column(db.Integer, db.ForeignKey('user.id')) contributor = db.relationship('User') feature_id = db.Column(db.Integer, db.ForeignKey(schema + '.feature.id')) feature = db.relationship('Feature', backref=db.backref('changes')) json_values = db.Column(db.Text) values = JsonProperty('json_values')
class Tag(db.Model): __table_args__ = {'schema': schema} id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String) value = db.Column(db.Text) feature_id = db.Column(db.Integer, db.ForeignKey(schema + '.feature.id')) feature = db.relationship('Feature', backref=db.backref('tags')) def __repr__(self): return u"Tag <%s:%s>" % (self.name.encode('utf-8'), self.value.encode('utf-8'))
class Contact(db.Model, Ext): id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.Text, nullable=False) email = db.Column(db.Text, nullable=False, unique=True) secret_key = db.Column( db.BLOB, nullable=True ) # currently not used to cache the secret key of a contact identity = db.Column(db.Text, nullable=False, unique=True) # unique identity attribute # children of a contact properties = db.relationship('Property', backref='owner', cascade='all, delete-orphan', lazy='joined') attributes = db.relationship('Attribute', secondary=contacts_attributes, backref=db.backref('owner', lazy='joined')) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) def __init__(self, name, email, user_id): self.name = name self.email = email self.identity = 'AAAAA' + str(uuid.uuid4()).replace('-', '') self.user_id = user_id