Add replaceStudentPassword mutation
This commit is contained in:
parent
ef832db90e
commit
cad76473d1
|
@ -11,15 +11,15 @@ import { updateAccessPoints } from '../../lib/accessPoints'
|
|||
import prisma from '../../prisma'
|
||||
|
||||
const Mutation = {
|
||||
async login(_, { data }) {
|
||||
async login(parent, { data }) {
|
||||
return User.login(data.username, data.password)
|
||||
},
|
||||
|
||||
async updatePassword(_, { data }, { auth }) {
|
||||
async updatePassword(parent, { data }, { auth }) {
|
||||
return auth.updatePassword(data.oldPassword, data.newPassword)
|
||||
},
|
||||
|
||||
async replacePassword(_, { data }, { auth }) {
|
||||
async replacePassword(parent, { data }, { auth }) {
|
||||
logInfo({
|
||||
tags: ['replacePassword', 'user'],
|
||||
message: `Usuário ${auth.sAMAccountName} (${auth.displayName}) está trocando a senha do usuário ${data.username}`
|
||||
|
@ -27,12 +27,34 @@ const Mutation = {
|
|||
|
||||
return replacePassword(data.username, data.newPassword)
|
||||
},
|
||||
async replaceStudentPassword(parent, { data }, { auth }) {
|
||||
const user = await new User(data.username).init()
|
||||
|
||||
async createResetToken(_, { data }, { auth }) {
|
||||
const isStudent = !!user.groups.find(
|
||||
group => group.name == (process.env.STUDENT_GROUP || 'Estudantes')
|
||||
)
|
||||
|
||||
const isServant = !!user.groups.find(
|
||||
group => group.name == (process.env.SERVANT_GROUP || 'G_SERVIDORES')
|
||||
)
|
||||
|
||||
if (isServant) throw new Error(`Usuário ${data.username} é um servidor`)
|
||||
|
||||
if (!isStudent)
|
||||
throw new Error(`Usuário ${data.username} não é um estudante`)
|
||||
|
||||
logInfo({
|
||||
tags: ['replaceStudentPassword', 'user'],
|
||||
message: `Usuário ${auth.sAMAccountName} (${auth.displayName}) está trocando a senha do aluno ${data.username}`
|
||||
})
|
||||
|
||||
return replacePassword(data.username, data.newPassword)
|
||||
},
|
||||
async createResetToken(parent, { data }, { auth }) {
|
||||
return ResetToken.createToken(data.username, auth.sAMAccountName)
|
||||
},
|
||||
|
||||
async useResetToken(_, { data }) {
|
||||
async useResetToken(parent, { data }) {
|
||||
return ResetToken.useToken(data.token, data.newPassword)
|
||||
},
|
||||
|
||||
|
@ -56,7 +78,7 @@ const Mutation = {
|
|||
},
|
||||
|
||||
async addPAHost(
|
||||
_,
|
||||
parent,
|
||||
{ data: { cidr, user, password, description, note } },
|
||||
{ auth }
|
||||
) {
|
||||
|
@ -78,7 +100,7 @@ const Mutation = {
|
|||
return host
|
||||
},
|
||||
|
||||
async delPAHost(_, { id }, { auth }) {
|
||||
async delPAHost(parent, { id }, { auth }) {
|
||||
const host = await prisma.pAHost.findUnique({ where: { id } })
|
||||
|
||||
if (host.ownerId != auth.id)
|
||||
|
|
|
@ -72,6 +72,10 @@ const typeDefs = gql`
|
|||
replacePassword(data: ReplacePasswordInput!): String!
|
||||
@auth(roles: ["superAdmin"])
|
||||
|
||||
"Update a student password"
|
||||
replaceStudentPassword(data: ReplacePasswordInput!): String!
|
||||
@auth(roles: ["tokenCreator"])
|
||||
|
||||
"Create a Reset Token to reset a student password"
|
||||
createResetToken(data: CreateResetTokenInput!): ResetToken!
|
||||
@auth(roles: ["superAdmin", "tokenCreator"])
|
||||
|
|
Loading…
Reference in New Issue
Block a user