There are no too simple questions (just might get answer: read that part of documentation for something)
But current case makes it quite a bit more complicated.
I think I’d go with two authentication methods
Will students have password?
I’ll assume they have
I’d steal ideas from here: https://github.com/adonisjs/adonis-auth/issues/121#issuecomment-409090501
And from here: Multi model in jwt authentication
So you would end up with something like this:
Where user has email and password and covers all the other roles, expect student, who has code instead of email (uid)
I’m not exactly sure is changing secret needed or not