diff --git a/src/server/lib/autoLogin.ts b/src/server/lib/autoLogin.ts index 32c5835..884c99f 100644 --- a/src/server/lib/autoLogin.ts +++ b/src/server/lib/autoLogin.ts @@ -1,6 +1,8 @@ import { PaFirewallService } from '../services/PaFirewallService' import { db } from '../prisma' import { LoginResult } from '../schemas/LoginResult' +import { PaHost } from '@prisma/client' +import { getNetworkForIP } from './netInfo' export async function autoLogin({ username, @@ -15,7 +17,15 @@ export async function autoLogin({ const paHosts = await db.paHost.findMany() - const pa = new PaFirewallService(paHosts[0].ip, paHosts[0].key) + const network = await getNetworkForIP(ip) + + const paHost: PaHost | undefined = paHosts.find(paHost => { + return network?.contains(paHost.ip) + }) + + if (!paHost) throw new Error('Rede não suportada') + + const pa = new PaFirewallService(paHost.ip, paHost.key) await pa.login({ username, ip, domain })