From a7ff7c2697bfdf53c01d62bc649ea6340b8f3d3f Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Thu, 3 Jun 2021 15:41:18 +0200 Subject: [PATCH] Logout user, move code --- server/api/schema.py | 9 ++++----- server/core/schema/__init__.py | 0 server/core/schema/mutations/__init__.py | 0 server/core/schema/mutations/logout.py | 23 ----------------------- server/core/schema/mutations/main.py | 7 ------- server/oauth/hep_client.py | 5 +++++ server/oauth/mutations.py | 20 ++++++++++++++++++++ 7 files changed, 29 insertions(+), 35 deletions(-) delete mode 100644 server/core/schema/__init__.py delete mode 100644 server/core/schema/mutations/__init__.py delete mode 100644 server/core/schema/mutations/logout.py delete mode 100644 server/core/schema/mutations/main.py diff --git a/server/api/schema.py b/server/api/schema.py index 6b12e99d..575e664e 100644 --- a/server/api/schema.py +++ b/server/api/schema.py @@ -10,8 +10,7 @@ from assignments.schema.queries import AssignmentsQuery, StudentSubmissionQuery from basicknowledge.queries import BasicKnowledgeQuery from books.schema.mutations import BookMutations from books.schema.queries import BookQuery -from oauth.mutations import CouponMutations -from core.schema.mutations.main import CoreMutations +from oauth.mutations import OauthMutations from notes.mutations import NoteMutations from objectives.mutations import ObjectiveMutations from objectives.schema import ObjectivesQuery @@ -34,9 +33,9 @@ class CustomQuery(UsersQuery, AllUsersQuery, ModuleRoomsQuery, RoomsQuery, Objec debug = graphene.Field(DjangoDebug, name='_debug') -class CustomMutation(BookMutations, RoomMutations, AssignmentMutations, ObjectiveMutations, CoreMutations, PortfolioMutations, - ProfileMutations, SurveyMutations, NoteMutations, SpellCheckMutations, - CouponMutations, graphene.ObjectType): +class CustomMutation(BookMutations, RoomMutations, AssignmentMutations, ObjectiveMutations, OauthMutations, + PortfolioMutations, ProfileMutations, SurveyMutations, NoteMutations, SpellCheckMutations, + graphene.ObjectType): if settings.DEBUG: debug = graphene.Field(DjangoDebug, name='_debug') diff --git a/server/core/schema/__init__.py b/server/core/schema/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/server/core/schema/mutations/__init__.py b/server/core/schema/mutations/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/server/core/schema/mutations/logout.py b/server/core/schema/mutations/logout.py deleted file mode 100644 index 0940e8d6..00000000 --- a/server/core/schema/mutations/logout.py +++ /dev/null @@ -1,23 +0,0 @@ -# -*- coding: utf-8 -*- -# -# ITerativ GmbH -# http://www.iterativ.ch/ -# -# Copyright (c) 2018 ITerativ GmbH. All rights reserved. -# -# Created on 22.10.18 -# @author: chrigu - -import graphene -from django.contrib.auth import logout - - -class Logout(graphene.Mutation): - success = graphene.Boolean() - - def mutate(self, info, **kwargs): - try: - logout(info.context) - return Logout(success=True) - except Exception: - return Logout(success=False) diff --git a/server/core/schema/mutations/main.py b/server/core/schema/mutations/main.py deleted file mode 100644 index 1587a29f..00000000 --- a/server/core/schema/mutations/main.py +++ /dev/null @@ -1,7 +0,0 @@ -from oauth.mutations import Coupon -from core.schema.mutations.logout import Logout - - -class CoreMutations(object): - logout = Logout.Field() - coupon = Coupon.Field() diff --git a/server/oauth/hep_client.py b/server/oauth/hep_client.py index e436f6fa..886d12b5 100644 --- a/server/oauth/hep_client.py +++ b/server/oauth/hep_client.py @@ -57,6 +57,11 @@ class HepClient: response = self._call('api/auth/user', request, token) return response.json()['data'] + def logout(self, request=None, token=None): + self._has_credentials(request, token) + response = self._call('api/auth/logout', request, token, method='post') + return response.json()['message'] + def fetch_eorders(self, request=None, token=None): # self._has_credentials(request, token) # data = { diff --git a/server/oauth/mutations.py b/server/oauth/mutations.py index b695e073..c13f3f68 100644 --- a/server/oauth/mutations.py +++ b/server/oauth/mutations.py @@ -1,4 +1,5 @@ import graphene +from django.contrib.auth import logout from django.utils.timezone import now from graphene import relay @@ -47,3 +48,22 @@ class Coupon(relay.ClientIDMutation): class CouponMutations: redeem_coupon = Coupon.Field() + + +class Logout(graphene.Mutation): + success = graphene.Boolean() + + def mutate(self, info): + try: + logout(info.context) + hep_client = HepClient() + hep_client.logout(request=info) + return Logout(success=True) + except Exception: + return Logout(success=False) + + +class OauthMutations(object): + logout = Logout.Field() + coupon = Coupon.Field() +