Updated user role auth
This commit is contained in:
parent
777e71db5c
commit
dcd28a1993
|
@ -47,15 +47,19 @@ module MW
|
|||
true
|
||||
end
|
||||
|
||||
def role?(role : Schema::UserRole) : Bool
|
||||
@role == role == case @external
|
||||
when Db::Admin
|
||||
Schema::UserRole::Admin
|
||||
when Db::Teacher
|
||||
Schema::UserRole::Teacher
|
||||
when Db::Student
|
||||
Schema::UserRole::Student
|
||||
def role?(*roles : Schema::UserRole) : Bool
|
||||
roles.each do |role|
|
||||
return true if @role == role == case @external
|
||||
when Db::Admin
|
||||
Schema::UserRole::Admin
|
||||
when Db::Teacher
|
||||
Schema::UserRole::Teacher
|
||||
when Db::Student
|
||||
Schema::UserRole::Student
|
||||
end
|
||||
end
|
||||
|
||||
false
|
||||
end
|
||||
|
||||
def role!(role : Schema::UserRole) : Bool
|
||||
|
@ -72,6 +76,22 @@ module MW
|
|||
role! Schema::UserRole::Admin
|
||||
end
|
||||
|
||||
def teacher? : Bool
|
||||
role? Schema::UserRole::Teacher
|
||||
end
|
||||
|
||||
def teacher! : Bool
|
||||
role! Schema::UserRole::Teacher
|
||||
end
|
||||
|
||||
def student? : Bool
|
||||
role? Schema::UserRole::Student
|
||||
end
|
||||
|
||||
def student! : Bool
|
||||
role! Schema::UserRole::Student
|
||||
end
|
||||
|
||||
def self.db_eq_role?(external : Granite::Base, role : Schema::UserRole) : Bool
|
||||
role == case external
|
||||
when Db::Admin
|
||||
|
|
|
@ -109,7 +109,7 @@ module MW
|
|||
|
||||
@[GraphQL::Field]
|
||||
def create_vote(context : Context, input : VoteCreateInput) : Vote
|
||||
context.role! UserRole::Student
|
||||
context.student!
|
||||
|
||||
if input.teacher_ids.any? { |id| Db::Teacher.find(id).nil? }
|
||||
raise "Teachers not found"
|
||||
|
|
Loading…
Reference in a new issue