diff --git a/server/src/resolvers/Mutation/index.js b/server/src/resolvers/Mutation/index.js
index 56eb926..44a739d 100644
--- a/server/src/resolvers/Mutation/index.js
+++ b/server/src/resolvers/Mutation/index.js
@@ -5,6 +5,7 @@ import { ResetToken } from '../../classes/ResetToken'
import { updateDevicesInfo } from '../../lib/wifiDevices'
import { updateUserIdMappings, addHost } from '../../lib/paloalto'
import { logInfo, logSuccess } from '../../lib/logger'
+import prisma from '../../prisma'
const Mutation = {
async login(_, { data }) {
@@ -61,6 +62,11 @@ const Mutation = {
})
return host
+ },
+
+ async delPAHost(_, { id }) {
+ console.log(id)
+ return prisma.pAHost.delete({ where: { id } })
}
}
diff --git a/server/src/typeDefs.js b/server/src/typeDefs.js
index 562ab31..529a681 100644
--- a/server/src/typeDefs.js
+++ b/server/src/typeDefs.js
@@ -89,6 +89,9 @@ const typeDefs = gql`
"Add a PA host"
addPAHost(data: AddPAHostInput!): PAHost! @auth(roles: ["superAdmin"])
+
+ "Remove a PA host"
+ delPAHost(id: Int!): PAHost! @auth(roles: ["superAdmin"])
}
type Subscription {
diff --git a/web/src/views/SystemAdministration/PaloAlto.vue b/web/src/views/SystemAdministration/PaloAlto.vue
index 9a10d30..86e08de 100644
--- a/web/src/views/SystemAdministration/PaloAlto.vue
+++ b/web/src/views/SystemAdministration/PaloAlto.vue
@@ -4,11 +4,18 @@
Hosts cadastrados
- mdi-plus Adicionar
+
+ mdi-plus
+ Adicionar
+
+
mdi-pencil
- mdi-trash-can
+
+ mdi-trash-can
+
+
+ Nenhum host cadastrado
+
Os hosts cadastrados serão usados para mapeamento de ID de usuários, a fim
de evitar a necessidade da tela de autenticação do Captive Portal.
@@ -72,6 +84,19 @@ const PAHOSTS_QUERY = gql`
}
}
`
+
+const DEL_HOST_MUTATION = gql`
+ mutation($id: Int!) {
+ delPAHost(id: $id) {
+ id
+ description
+ cidr
+ key
+ note
+ }
+ }
+`
+
export default {
name: 'PaloAlto',
data: () => ({
@@ -83,6 +108,20 @@ export default {
}),
apollo: {
pAHosts: { query: PAHOSTS_QUERY, fetchPolicy: 'network-only' }
+ },
+ methods: {
+ async delHost(id) {
+ try {
+ const deletedHost = await this.$apollo.mutate({
+ mutation: DEL_HOST_MUTATION,
+ variables: { id: Number(id) }
+ })
+ } catch (e) {
+ console.log({ e })
+ } finally {
+ this.$apollo.queries.pAHosts.refetch()
+ }
+ }
}
}