From b58f5cbaa12150788a94cc87eb9a7dee2a9cd233 Mon Sep 17 00:00:00 2001 From: Dominic Grimm Date: Sun, 13 Feb 2022 13:08:04 +0100 Subject: [PATCH] Fixed teacher self registration api --- docker/backend/src/backend/api/context.cr | 22 +++++++++---------- .../src/backend/api/schema/mutation.cr | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docker/backend/src/backend/api/context.cr b/docker/backend/src/backend/api/context.cr index caad554..4d77f86 100644 --- a/docker/backend/src/backend/api/context.cr +++ b/docker/backend/src/backend/api/context.cr @@ -90,11 +90,11 @@ module Backend end # User's is one of *roles* - def role?(external = true, *roles : Schema::UserRole) : Bool + def role?(external_check = true, *roles : Schema::UserRole) : Bool return false unless authenticated? roles.each do |role| - return true if @role == role && if external + return true if @role == role && if external_check role == case @external.not_nil! when Db::Teacher Schema::UserRole::Teacher @@ -110,30 +110,30 @@ module Backend end # :ditto: - def role!(external = true, *roles : Schema::UserRole) : Bool + def role!(external_check = true, *roles : Schema::UserRole) : Bool raise "Invalid permissions" unless role? external, *roles true end # User is teacher - def teacher?(external = false) : Bool - role? external, Schema::UserRole::Teacher + def teacher?(external_check = true) : Bool + role? external_check, Schema::UserRole::Teacher end # :ditto: - def teacher! : Bool - role! external, Schema::UserRole::Teacher + def teacher!(external_check = true) : Bool + role! external_check, Schema::UserRole::Teacher end # User is student - def student?(external = false) : Bool - role? external, Schema::UserRole::Student + def student?(external_check = true) : Bool + role? external_check, Schema::UserRole::Student end # :ditto: - def student! : Bool - role! external, Schema::UserRole::Student + def student!(external_check = true) : Bool + role! external_check, Schema::UserRole::Student end end end diff --git a/docker/backend/src/backend/api/schema/mutation.cr b/docker/backend/src/backend/api/schema/mutation.cr index 066f6c4..5a1c719 100644 --- a/docker/backend/src/backend/api/schema/mutation.cr +++ b/docker/backend/src/backend/api/schema/mutation.cr @@ -97,7 +97,7 @@ module Backend @[GraphQL::Field] # Self register as teacher def register_teacher(context : Context, input : TeacherInput) : Teacher - context.teacher? external: false + context.teacher! external_check: false Teacher.new( Db::Teacher.create!(user_id: context.user.not_nil!.id, max_students: input.max_students, skif: input.skif)