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'
|
import prisma from '../../prisma'
|
||||||
|
|
||||||
const Mutation = {
|
const Mutation = {
|
||||||
async login(_, { data }) {
|
async login(parent, { data }) {
|
||||||
return User.login(data.username, data.password)
|
return User.login(data.username, data.password)
|
||||||
},
|
},
|
||||||
|
|
||||||
async updatePassword(_, { data }, { auth }) {
|
async updatePassword(parent, { data }, { auth }) {
|
||||||
return auth.updatePassword(data.oldPassword, data.newPassword)
|
return auth.updatePassword(data.oldPassword, data.newPassword)
|
||||||
},
|
},
|
||||||
|
|
||||||
async replacePassword(_, { data }, { auth }) {
|
async replacePassword(parent, { data }, { auth }) {
|
||||||
logInfo({
|
logInfo({
|
||||||
tags: ['replacePassword', 'user'],
|
tags: ['replacePassword', 'user'],
|
||||||
message: `Usuário ${auth.sAMAccountName} (${auth.displayName}) está trocando a senha do usuário ${data.username}`
|
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)
|
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)
|
return ResetToken.createToken(data.username, auth.sAMAccountName)
|
||||||
},
|
},
|
||||||
|
|
||||||
async useResetToken(_, { data }) {
|
async useResetToken(parent, { data }) {
|
||||||
return ResetToken.useToken(data.token, data.newPassword)
|
return ResetToken.useToken(data.token, data.newPassword)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -56,7 +78,7 @@ const Mutation = {
|
||||||
},
|
},
|
||||||
|
|
||||||
async addPAHost(
|
async addPAHost(
|
||||||
_,
|
parent,
|
||||||
{ data: { cidr, user, password, description, note } },
|
{ data: { cidr, user, password, description, note } },
|
||||||
{ auth }
|
{ auth }
|
||||||
) {
|
) {
|
||||||
|
@ -78,7 +100,7 @@ const Mutation = {
|
||||||
return host
|
return host
|
||||||
},
|
},
|
||||||
|
|
||||||
async delPAHost(_, { id }, { auth }) {
|
async delPAHost(parent, { id }, { auth }) {
|
||||||
const host = await prisma.pAHost.findUnique({ where: { id } })
|
const host = await prisma.pAHost.findUnique({ where: { id } })
|
||||||
|
|
||||||
if (host.ownerId != auth.id)
|
if (host.ownerId != auth.id)
|
||||||
|
|
|
@ -72,6 +72,10 @@ const typeDefs = gql`
|
||||||
replacePassword(data: ReplacePasswordInput!): String!
|
replacePassword(data: ReplacePasswordInput!): String!
|
||||||
@auth(roles: ["superAdmin"])
|
@auth(roles: ["superAdmin"])
|
||||||
|
|
||||||
|
"Update a student password"
|
||||||
|
replaceStudentPassword(data: ReplacePasswordInput!): String!
|
||||||
|
@auth(roles: ["tokenCreator"])
|
||||||
|
|
||||||
"Create a Reset Token to reset a student password"
|
"Create a Reset Token to reset a student password"
|
||||||
createResetToken(data: CreateResetTokenInput!): ResetToken!
|
createResetToken(data: CreateResetTokenInput!): ResetToken!
|
||||||
@auth(roles: ["superAdmin", "tokenCreator"])
|
@auth(roles: ["superAdmin", "tokenCreator"])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user