Logout user, move code

This commit is contained in:
Christian Cueni 2021-06-03 15:41:18 +02:00
parent a9e7325b86
commit a7ff7c2697
7 changed files with 29 additions and 35 deletions

View File

@ -10,8 +10,7 @@ from assignments.schema.queries import AssignmentsQuery, StudentSubmissionQuery
from basicknowledge.queries import BasicKnowledgeQuery from basicknowledge.queries import BasicKnowledgeQuery
from books.schema.mutations import BookMutations from books.schema.mutations import BookMutations
from books.schema.queries import BookQuery from books.schema.queries import BookQuery
from oauth.mutations import CouponMutations from oauth.mutations import OauthMutations
from core.schema.mutations.main import CoreMutations
from notes.mutations import NoteMutations from notes.mutations import NoteMutations
from objectives.mutations import ObjectiveMutations from objectives.mutations import ObjectiveMutations
from objectives.schema import ObjectivesQuery from objectives.schema import ObjectivesQuery
@ -34,9 +33,9 @@ class CustomQuery(UsersQuery, AllUsersQuery, ModuleRoomsQuery, RoomsQuery, Objec
debug = graphene.Field(DjangoDebug, name='_debug') debug = graphene.Field(DjangoDebug, name='_debug')
class CustomMutation(BookMutations, RoomMutations, AssignmentMutations, ObjectiveMutations, CoreMutations, PortfolioMutations, class CustomMutation(BookMutations, RoomMutations, AssignmentMutations, ObjectiveMutations, OauthMutations,
ProfileMutations, SurveyMutations, NoteMutations, SpellCheckMutations, PortfolioMutations, ProfileMutations, SurveyMutations, NoteMutations, SpellCheckMutations,
CouponMutations, graphene.ObjectType): graphene.ObjectType):
if settings.DEBUG: if settings.DEBUG:
debug = graphene.Field(DjangoDebug, name='_debug') debug = graphene.Field(DjangoDebug, name='_debug')

View File

@ -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 <christian.cueni@iterativ.ch>
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)

View File

@ -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()

View File

@ -57,6 +57,11 @@ class HepClient:
response = self._call('api/auth/user', request, token) response = self._call('api/auth/user', request, token)
return response.json()['data'] 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): def fetch_eorders(self, request=None, token=None):
# self._has_credentials(request, token) # self._has_credentials(request, token)
# data = { # data = {

View File

@ -1,4 +1,5 @@
import graphene import graphene
from django.contrib.auth import logout
from django.utils.timezone import now from django.utils.timezone import now
from graphene import relay from graphene import relay
@ -47,3 +48,22 @@ class Coupon(relay.ClientIDMutation):
class CouponMutations: class CouponMutations:
redeem_coupon = Coupon.Field() 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()