Unverified Commit 56d4e794 authored by Peter Stanko's avatar Peter Stanko
Browse files

Worker service

parent 84f66b39
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -37,6 +37,7 @@ def register_namespaces(app: Flask): # pylint: disable=cyclic-import
    from portal.rest.workers import workers_namespace
    from portal.rest.workers import workers_namespace
    from portal.rest.users import users_namespace
    from portal.rest.users import users_namespace
    from portal.rest.management import management_namespace
    from portal.rest.management import management_namespace
    from portal.rest.client import client_namespace
    rest_api.add_namespace(auth_namespace)
    rest_api.add_namespace(auth_namespace)
    rest_api.add_namespace(courses_namespace)
    rest_api.add_namespace(courses_namespace)
    rest_api.add_namespace(roles_namespace)
    rest_api.add_namespace(roles_namespace)
@@ -46,6 +47,7 @@ def register_namespaces(app: Flask): # pylint: disable=cyclic-import
    rest_api.add_namespace(workers_namespace)
    rest_api.add_namespace(workers_namespace)
    rest_api.add_namespace(users_namespace)
    rest_api.add_namespace(users_namespace)
    rest_api.add_namespace(management_namespace)
    rest_api.add_namespace(management_namespace)
    rest_api.add_namespace(client_namespace)


    if app.config.get('GITLAB_URL'):
    if app.config.get('GITLAB_URL'):
        from portal.rest.gitlab import oauth_namespace
        from portal.rest.gitlab import oauth_namespace

portal/rest/client.py

0 → 100644
+23 −0
Original line number Original line Diff line number Diff line
from flask_jwt_extended import jwt_required
from flask_restplus import Namespace, Resource

from portal import logger
from portal.database.models import ClientType
from portal.rest.schemas import users_schema, worker_schema
from portal.service import permissions

client_namespace = Namespace('client')

log = logger.get_logger(__name__)


@client_namespace.route('')
class ClientController(Resource):
    @jwt_required
    # @users_namespace.response(200, 'List of users', model=users_schema)
    def get(self):
        perm_service = permissions.PermissionsService()
        client = perm_service.client_owner
        schema = users_schema if client.type == ClientType.USER else worker_schema
        return schema.dump(client)[0], 200
+0 −2
Original line number Original line Diff line number Diff line
import flask
import flask
from flask import Flask
from flask import Flask
import json
import logging
from flask_jwt_extended.exceptions import NoAuthorizationError
from flask_jwt_extended.exceptions import NoAuthorizationError
from flask_restplus import abort
from flask_restplus import abort
from marshmallow.exceptions import ValidationError
from marshmallow.exceptions import ValidationError
+2 −3
Original line number Original line Diff line number Diff line
import logging
from typing import Union
from typing import Union
from flask import Flask, Response, make_response, redirect, request, session
from flask import Flask, Response, make_response, redirect, request, session
from flask_oauthlib.client import OAuth, OAuthRemoteApp
from flask_oauthlib.client import OAuth, OAuthRemoteApp
@@ -7,7 +6,7 @@ from flask_restplus import Namespace, Resource
from portal import oauth, logger
from portal import oauth, logger
from portal.rest import rest_api
from portal.rest import rest_api
from portal.service import general
from portal.service import general
from portal.service.users import create_user
from portal.service.users import UserService


log = logger.get_logger(__name__)
log = logger.get_logger(__name__)


@@ -66,7 +65,7 @@ class OAuthLogin(Resource):




def user_oauth_register(user_info):
def user_oauth_register(user_info):
    new_user = create_user(
    new_user = UserService().create_user(
        uco=None,
        uco=None,
        username=user_info['username'],
        username=user_info['username'],
        name=user_info['name'],
        name=user_info['name'],
+0 −1
Original line number Original line Diff line number Diff line
import logging
from flask_restplus import Namespace, Resource, fields
from flask_restplus import Namespace, Resource, fields


from portal import logger
from portal import logger
Loading