Loading portal/rest/__init__.py +3 −1 Original line number Original line Diff line number Diff line Loading @@ -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) Loading @@ -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 Loading 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 portal/rest/errors.py +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 Loading portal/rest/gitlab.py +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 Loading @@ -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__) Loading Loading @@ -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'], Loading portal/rest/management.py +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 Loading
portal/rest/__init__.py +3 −1 Original line number Original line Diff line number Diff line Loading @@ -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) Loading @@ -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 Loading
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
portal/rest/errors.py +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 Loading
portal/rest/gitlab.py +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 Loading @@ -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__) Loading Loading @@ -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'], Loading
portal/rest/management.py +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