mirror of
https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
synced 2024-12-24 18:34:18 +00:00
Add api blueprint.
This commit is contained in:
parent
93330c0efb
commit
6bc1ef94dc
@ -24,6 +24,9 @@ def create_app(config_name):
|
||||
scheduler.init_app(app)
|
||||
scheduler.start()
|
||||
|
||||
from .api import api as api_blueprint
|
||||
app.register_blueprint(api_blueprint, url_prefix='/api')
|
||||
|
||||
from .auth import auth as auth_blueprint
|
||||
app.register_blueprint(auth_blueprint, url_prefix='/auth')
|
||||
|
||||
|
5
app/api/__init__.py
Normal file
5
app/api/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from flask import Blueprint
|
||||
|
||||
api = Blueprint('api', __name__)
|
||||
|
||||
from . import views
|
67
app/api/views.py
Normal file
67
app/api/views.py
Normal file
@ -0,0 +1,67 @@
|
||||
from flask import jsonify
|
||||
from flask_login import current_user, login_required
|
||||
from . import api
|
||||
|
||||
|
||||
@api.route('/v1.0/corpora')
|
||||
@login_required
|
||||
def corpora():
|
||||
corpora = []
|
||||
for corpus in current_user.corpora.all():
|
||||
corpora.append({'id': corpus.id,
|
||||
'creation_date': corpus.creation_date.timestamp(),
|
||||
'description': corpus.description,
|
||||
'title': corpus.title})
|
||||
return jsonify(corpora)
|
||||
|
||||
|
||||
@api.route('/v1.0/corpora/<int:corpus_id>')
|
||||
@login_required
|
||||
def corpus(corpus_id):
|
||||
corpus = current_user.corpora.filter_by(id=corpus_id).first()
|
||||
if not corpus:
|
||||
''' This should return 404 '''
|
||||
return jsonify(None)
|
||||
return jsonify({'id': corpus.id,
|
||||
'creation_date': corpus.creation_date,
|
||||
'description': corpus.description,
|
||||
'title': corpus.title})
|
||||
|
||||
|
||||
@api.route('/v1.0/jobs')
|
||||
@login_required
|
||||
def jobs():
|
||||
jobs = []
|
||||
for job in current_user.jobs.all():
|
||||
jobs.append({'id': job.id,
|
||||
'creation_date': job.creation_date.timestamp(),
|
||||
'description': job.description,
|
||||
'end_date': job.end_date.timestamp() if job.end_date else None,
|
||||
'mem_mb': job.mem_mb,
|
||||
'n_cores': job.n_cores,
|
||||
'service': job.service,
|
||||
'service_args': job.service_args,
|
||||
'service_version': job.service_version,
|
||||
'status': job.status,
|
||||
'title': job.title})
|
||||
return jsonify(jobs)
|
||||
|
||||
|
||||
@api.route('/v1.0/jobs/<int:job_id>')
|
||||
@login_required
|
||||
def job(job_id):
|
||||
job = current_user.jobs.filter_by(id=job_id).first()
|
||||
if not job:
|
||||
''' This should return 404 '''
|
||||
return jsonify(None)
|
||||
return jsonify({'id': job.id,
|
||||
'creation_date': job.creation_date.timestamp(),
|
||||
'description': job.description,
|
||||
'end_date': job.end_date.timestamp() if job.end_date else None,
|
||||
'mem_mb': job.mem_mb,
|
||||
'n_cores': job.n_cores,
|
||||
'service': job.service,
|
||||
'service_args': job.service_args,
|
||||
'service_version': job.service_version,
|
||||
'status': job.status,
|
||||
'title': job.title})
|
Loading…
Reference in New Issue
Block a user