mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2025-06-12 00:50:40 +00:00
Redesign db models.
This commit is contained in:
@ -25,10 +25,12 @@ class Role(db.Model):
|
||||
A Role can be associated with many User rows.
|
||||
"""
|
||||
__tablename__ = 'roles'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
name = db.Column(db.String(64), unique=True)
|
||||
default = db.Column(db.Boolean, default=False, index=True)
|
||||
name = db.Column(db.String(64), unique=True)
|
||||
permissions = db.Column(db.Integer)
|
||||
# Relationships
|
||||
users = db.relationship('User', backref='role', lazy='dynamic')
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
@ -101,12 +103,15 @@ class User(UserMixin, db.Model):
|
||||
Model for Users that are registered to Opaque.
|
||||
"""
|
||||
__tablename__ = 'users'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
confirmed = db.Column(db.Boolean, default=False)
|
||||
email = db.Column(db.String(64), unique=True, index=True)
|
||||
username = db.Column(db.String(64), unique=True, index=True)
|
||||
password_hash = db.Column(db.String(128))
|
||||
role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
|
||||
confirmed = db.Column(db.Boolean, default=False)
|
||||
username = db.Column(db.String(64), unique=True, index=True)
|
||||
# Relationships
|
||||
jobs = db.relationship('Job', backref='job', lazy='dynamic')
|
||||
|
||||
def __repr__(self):
|
||||
"""
|
||||
@ -204,21 +209,33 @@ class AnonymousUser(AnonymousUserMixin):
|
||||
return False
|
||||
|
||||
|
||||
class Job():
|
||||
class Job(db.Model):
|
||||
"""
|
||||
Class to define Jobs.
|
||||
"""
|
||||
__tablename__ = 'jobs'
|
||||
# Primary key
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
title = db.Column(db.String(32))
|
||||
description = db.Column(db.String(64))
|
||||
service = db.Column(db.String(64), index=True)
|
||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'), index=True)
|
||||
requested_cpus = db.Column(db.Integer, default=None)
|
||||
requested_memory = db.Column(db.Integer, default=None)
|
||||
service_args = db.Column(db.String(255)) # JSON string representation {'lang': new_ocr_job_form.language.data, 'version': new_ocr_job_form.version. }
|
||||
status = db.Column(db.String(64))
|
||||
cmd_args = db.Column(db.String(255)) # For extra cmd arguments
|
||||
'''
|
||||
' Requested ressources.
|
||||
' Example: {"n_cores": 2,
|
||||
' "mem_mb": 4096
|
||||
' }
|
||||
'''
|
||||
ressources = db.Column(db.String(255))
|
||||
service = db.Column(db.String(64))
|
||||
'''
|
||||
' Service specific arguments in JSON format.
|
||||
' Example: {"args": ["--keep-intermediates", "skip-binarization"],
|
||||
' "lang": "eng",
|
||||
' "version": "latest"
|
||||
' }
|
||||
'''
|
||||
service_args = db.Column(db.String(255))
|
||||
status = db.Column(db.String(8))
|
||||
title = db.Column(db.String(32))
|
||||
user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
super(Job, self).__init__(**kwargs)
|
||||
@ -230,7 +247,11 @@ class Job():
|
||||
return '<Job %r>' % self.title
|
||||
|
||||
|
||||
login_manager.anonymous_user = AnonymousUser # Flask-Login is told to use the application’s custom anonymous user by setting its class in the login_manager.anonymous_user attribute.
|
||||
'''
|
||||
' Flask-Login is told to use the application’s custom anonymous user by setting
|
||||
' its class in the login_manager.anonymous_user attribute.
|
||||
'''
|
||||
login_manager.anonymous_user = AnonymousUser
|
||||
|
||||
|
||||
@login_manager.user_loader
|
||||
|
Reference in New Issue
Block a user