mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-04 04:12:45 +00:00 
			
		
		
		
	Restructure code and use APScheduler for daemon functionality
This commit is contained in:
		@@ -2,4 +2,4 @@ from flask import Blueprint
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bp = Blueprint('main', __name__)
 | 
			
		||||
from . import routes
 | 
			
		||||
from . import events, routes
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										41
									
								
								app/main/events.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								app/main/events.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
from app import hashids, socketio
 | 
			
		||||
from app.models import User
 | 
			
		||||
from flask_login import current_user
 | 
			
		||||
from flask_socketio import join_room
 | 
			
		||||
from app.decorators import socketio_login_required
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@socketio.on('users.user.get')
 | 
			
		||||
@socketio_login_required
 | 
			
		||||
def users_user_get(user_hashid):
 | 
			
		||||
    user_id = hashids.decode(user_hashid)
 | 
			
		||||
    user = User.query.get(user_id)
 | 
			
		||||
    if user is None:
 | 
			
		||||
        return {'code': 404, 'msg': 'Not found'}
 | 
			
		||||
    if not (user == current_user or current_user.is_administrator):
 | 
			
		||||
        return {'code': 403, 'msg': 'Forbidden'}
 | 
			
		||||
    # corpora = [x.to_dict() for x in user.corpora]
 | 
			
		||||
    # jobs = [x.to_dict() for x in user.jobs]
 | 
			
		||||
    # transkribus_htr_models = TranskribusHTRModel.query.filter(
 | 
			
		||||
    #     (TranskribusHTRModel.shared == True) | (TranskribusHTRModel.user == user)
 | 
			
		||||
    # ).all()
 | 
			
		||||
    # tesseract_ocr_models = TesseractOCRModel.query.filter(
 | 
			
		||||
    #     (TesseractOCRModel.shared == True) | (TesseractOCRModel.user == user)
 | 
			
		||||
    # ).all()
 | 
			
		||||
    # response = {
 | 
			
		||||
    #     'code': 200,
 | 
			
		||||
    #     'msg': 'OK',
 | 
			
		||||
    #     'payload': {
 | 
			
		||||
    #         'user': user.to_dict(),
 | 
			
		||||
    #         'corpora': corpora,
 | 
			
		||||
    #         'jobs': jobs,
 | 
			
		||||
    #         'transkribus_htr_models': transkribus_htr_models,
 | 
			
		||||
    #         'tesseract_ocr_models': tesseract_ocr_models
 | 
			
		||||
    #     }
 | 
			
		||||
    # }
 | 
			
		||||
    join_room(f'users.{user.hashid}')
 | 
			
		||||
    return {
 | 
			
		||||
        'code': 200,
 | 
			
		||||
        'msg': 'OK',
 | 
			
		||||
        'payload': user.to_dict(backrefs=True, relationships=True)
 | 
			
		||||
    }
 | 
			
		||||
		Reference in New Issue
	
	Block a user