Fixed teacher self registration api
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
c07cef18da
commit
b58f5cbaa1
2 changed files with 12 additions and 12 deletions
|
@ -90,11 +90,11 @@ module Backend
|
||||||
end
|
end
|
||||||
|
|
||||||
# User's is one of *roles*
|
# 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?
|
return false unless authenticated?
|
||||||
|
|
||||||
roles.each do |role|
|
roles.each do |role|
|
||||||
return true if @role == role && if external
|
return true if @role == role && if external_check
|
||||||
role == case @external.not_nil!
|
role == case @external.not_nil!
|
||||||
when Db::Teacher
|
when Db::Teacher
|
||||||
Schema::UserRole::Teacher
|
Schema::UserRole::Teacher
|
||||||
|
@ -110,30 +110,30 @@ module Backend
|
||||||
end
|
end
|
||||||
|
|
||||||
# :ditto:
|
# :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
|
raise "Invalid permissions" unless role? external, *roles
|
||||||
|
|
||||||
true
|
true
|
||||||
end
|
end
|
||||||
|
|
||||||
# User is teacher
|
# User is teacher
|
||||||
def teacher?(external = false) : Bool
|
def teacher?(external_check = true) : Bool
|
||||||
role? external, Schema::UserRole::Teacher
|
role? external_check, Schema::UserRole::Teacher
|
||||||
end
|
end
|
||||||
|
|
||||||
# :ditto:
|
# :ditto:
|
||||||
def teacher! : Bool
|
def teacher!(external_check = true) : Bool
|
||||||
role! external, Schema::UserRole::Teacher
|
role! external_check, Schema::UserRole::Teacher
|
||||||
end
|
end
|
||||||
|
|
||||||
# User is student
|
# User is student
|
||||||
def student?(external = false) : Bool
|
def student?(external_check = true) : Bool
|
||||||
role? external, Schema::UserRole::Student
|
role? external_check, Schema::UserRole::Student
|
||||||
end
|
end
|
||||||
|
|
||||||
# :ditto:
|
# :ditto:
|
||||||
def student! : Bool
|
def student!(external_check = true) : Bool
|
||||||
role! external, Schema::UserRole::Student
|
role! external_check, Schema::UserRole::Student
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -97,7 +97,7 @@ module Backend
|
||||||
@[GraphQL::Field]
|
@[GraphQL::Field]
|
||||||
# Self register as teacher
|
# Self register as teacher
|
||||||
def register_teacher(context : Context, input : TeacherInput) : Teacher
|
def register_teacher(context : Context, input : TeacherInput) : Teacher
|
||||||
context.teacher? external: false
|
context.teacher! external_check: false
|
||||||
|
|
||||||
Teacher.new(
|
Teacher.new(
|
||||||
Db::Teacher.create!(user_id: context.user.not_nil!.id, max_students: input.max_students, skif: input.skif)
|
Db::Teacher.create!(user_id: context.user.not_nil!.id, max_students: input.max_students, skif: input.skif)
|
||||||
|
|
Loading…
Reference in a new issue