# -*- coding: utf-8 -*- # app/api/data.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from app.models import OrderState, OrderType, OrderPicture from app.email import send_mail_template from .utils import token_required, role_required, get_current_user, order_states api = server.get_api() app = server.get_app() ns = server.get_namespace("data") picture_model = api.model( "picture_model", {'picture': fields.Boolean(required=True, description='Picture value')}) @ns.route('/orders') class DataOrderCollectionResource(Resource): @api.doc(security='apikey') @token_required @role_required(["DATA"]) def get(self): dbo = app.order_dbo user = get_current_user()
# -*- coding: utf-8 -*- # app/api/supervisor.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from app.models import OrderState from .utils import token_required, role_required, get_current_user api = server.get_api() app = server.get_app() ns = server.get_namespace("supervisor") @ns.route('/states') class SupervisorStateCollectionResource(Resource): @api.doc(security='apikey') @token_required def get(self): result = list() states = OrderState.select() for state in states: result.append(state.state) return result
# -*- coding: utf-8 -*- # app/api/comment.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from .utils import token_required, role_required, get_current_user api = server.get_api() app = server.get_app() ns = server.get_namespace("comment") comment_model = api.model( "comment_model", {'text': fields.String(required=True, description='Comment Text')}) @ns.route('/order/<int:_id>') class OrderCommentCollectionResource(Resource): @api.doc(security='apikey') @token_required def get(self, _id): dbo = app.order_dbo user = get_current_user() if not dbo.verify_authority(_id, user): return 401, "Not authorized in this order"
# -*- coding: utf-8 -*- # app/api/manager.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from app.models import OrderState, OrderType from .utils import token_required, role_required, get_current_user, order_states api = server.get_api() app = server.get_app() ns = server.get_namespace("manager") @ns.route('/orders') class ManagerOrderCollectionResource(Resource): @api.doc(security='apikey') @token_required @role_required(["MANAGER", "SUPERVISOR/MANAGER"]) def get(self): dbo = app.order_dbo user = get_current_user() response = dict() orders = dbo.read_all()
# -*- coding: utf-8 -*- # app/api/research.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from app.models import OrderState, OrderType from app.email import send_mail_template from .utils import token_required, role_required, get_current_user, order_states api = server.get_api() app = server.get_app() ns = server.get_namespace("research") @ns.route('/orders') class ResearchOrderCollectionResource(Resource): @api.doc(security='apikey') @token_required @role_required(["RESEARCH"]) def get(self): dbo = app.order_dbo user = get_current_user() result = list() orders = dbo.read_all()
# -*- coding: utf-8 -*- # app/api/client.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from .utils import token_required, role_required api = server.get_api() app = server.get_app() ns = server.get_namespace("admin") client_code_model = api.model( "client_code_model", {'code': fields.String(required=True, description='Client Code')}) @ns.route('/client-code') class AdminClientCodeCollectionResource(Resource): @api.doc(security='apikey') @token_required @role_required(["ADMIN"]) def get(self): result = list() dbo = app.client_code_dbo
# -*- coding: utf-8 -*- # app/api/auth.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from .utils import token_required api = server.get_api() app = server.get_app() ns = server.get_namespace("auth") login_model = api.model( "login_model", { 'username': fields.String(required=True, description='Username'), 'password': fields.String(required=True, description='Password') }) @ns.route('/login') class AuthLoginResource(Resource): @ns.expect(login_model) def post(self): dbo = app.user_dbo payload = api.payload
# -*- coding: utf-8 -*- # app/api/company.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from .utils import token_required, role_required api = server.get_api() app = server.get_app() ns = server.get_namespace("admin") company_model = api.model( "company_model", { 'company': fields.String(required=True, description='Company name'), 'website': fields.String(required=True, description='Company website'), 'user': fields.String(required=True, description='Company user'), 'password': fields.String(required=True, description='Company password') }) @ns.route('/companies') class AdminCompanyCollectionResource(Resource): @api.doc(security='apikey') @token_required @role_required(["ADMIN"]) def get(self):
# -*- coding: utf-8 -*- # app/api/attachment.py from flask import request from flask_restplus import Resource, fields from playhouse.shortcuts import model_to_dict from app.server import server from .utils import token_required, role_required, get_current_user, file_types api = server.get_api() app = server.get_app() ns = server.get_namespace("attachment") upload_model = api.model( "upload_model", { 'filename': fields.String(required=True, description='File name'), 'filetype': fields.String(required=True, description='File type'), 'base64': fields.String(required=True, description='File base64') }) @ns.route('/upload') class UploadResource(Resource): @api.doc(security='apikey') @ns.expect(upload_model) @token_required @role_required(["SUPERVISOR", "RESEARCH"]) def post(self):