Added campus verification
This commit is contained in:
parent
3e05b12698
commit
01e0a30321
4
server/package-lock.json
generated
4
server/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@prisma/client": "^3.11.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"description": "Servidor do Portal de TI do IFMS",
|
||||
"main": "src/index.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
import prisma from '../../prisma'
|
||||
import { ACCESS_POINTS_UPDATED, pubsub } from '../../pubsub'
|
||||
import { logInfo } from '../../lib/logger'
|
||||
import { getSubnetInfo } from '../../utils/subnetInfo'
|
||||
|
||||
export async function updateAccessPoint(
|
||||
parent,
|
||||
|
@ -11,15 +12,20 @@ export async function updateAccessPoint(
|
|||
) {
|
||||
|
||||
|
||||
const accessPoint = await prisma.accessPoint.update({
|
||||
const accessPoint = await prisma.accessPoint.findUnique({ where: { id: parseInt(id) }, })
|
||||
|
||||
if (getSubnetInfo(accessPoint.ip).shortName !== auth.campus)
|
||||
throw new Error(`O AP ${accessPoint.name || accessPoint.hostname} não está na rede do campus ${auth.campus}. Você só pode editar APs da rede do seu campus.`)
|
||||
|
||||
const updatedAccessPoint = await prisma.accessPoint.update({
|
||||
where: { id: parseInt(id) },
|
||||
data: { name, local, notes }
|
||||
})
|
||||
|
||||
logInfo({
|
||||
tags: ['accessPointEdited', 'accessPoints'],
|
||||
message: `O usuário ${auth.displayName} (${auth.sAMAccountName}) atualizou as informações do AP ${accessPoint.name || accessPoint.hostname}`,
|
||||
data: accessPoint
|
||||
message: `O usuário ${auth.displayName} (${auth.sAMAccountName}) atualizou as informações do AP ${updatedAccessPoint.name || updatedAccessPoint.hostname}`,
|
||||
data: updatedAccessPoint
|
||||
})
|
||||
|
||||
const accessPoints = await prisma.accessPoint.findMany({
|
||||
|
@ -30,5 +36,5 @@ export async function updateAccessPoint(
|
|||
accessPointsUpdated: accessPoints
|
||||
})
|
||||
|
||||
return accessPoint
|
||||
return updatedAccessPoint
|
||||
}
|
|
@ -55,6 +55,12 @@ const User = {
|
|||
}
|
||||
})
|
||||
.wifiDevices()
|
||||
},
|
||||
|
||||
campus: parent => {
|
||||
const campus = parent.extensionAttribute1?.split('-')[0]
|
||||
|
||||
return campus || '--'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,7 +23,10 @@ class AuthDirective extends SchemaDirectiveVisitor {
|
|||
|
||||
const user = await new User(sAMAccountName).init()
|
||||
|
||||
context.auth = user
|
||||
context.auth = {
|
||||
...user,
|
||||
campus: user.extensionAttribute1?.split('-')[0] || '--',
|
||||
}
|
||||
|
||||
if (user.pwdLastSet.toISOString() === pwdLastSet) {
|
||||
if (
|
||||
|
|
|
@ -125,6 +125,7 @@ const typeDefs = gql`
|
|||
groups: [Group!]
|
||||
sharedFolders: [String!]
|
||||
sharedPrinters: [String!]
|
||||
campus: String
|
||||
|
||||
firstName: String
|
||||
|
||||
|
|
4
web/package-lock.json
generated
4
web/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "ifms-pti",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ifms-pti",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"dependencies": {
|
||||
"@mdi/font": "^6.6.96",
|
||||
"apollo-link-ws": "^1.0.20",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ifms-pti",
|
||||
"version": "2.13.1",
|
||||
"version": "2.13.2",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
@ -42,6 +42,9 @@
|
|||
Cancelar
|
||||
</v-btn>
|
||||
</v-card-actions>
|
||||
<v-alert v-for="error in errors" :key="error" class="mt-4" type="error">
|
||||
{{ error }}
|
||||
</v-alert>
|
||||
</v-card>
|
||||
</v-navigation-drawer>
|
||||
</template>
|
||||
|
|
|
@ -58,6 +58,7 @@ export default {
|
|||
lastLogin
|
||||
lastLoginPrior
|
||||
roles
|
||||
campus
|
||||
|
||||
firstName
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user