Refactoring

This commit is contained in:
Douglas Barone 2023-10-19 09:25:33 -04:00
parent 2771b3cd96
commit f2c4ea49cb
8 changed files with 23 additions and 14 deletions

3
.gitignore vendored
View File

@ -2,7 +2,6 @@
node_modules node_modules
/dist /dist
# local env files # local env files
.env.local .env.local
.env.*.local .env.*.local
@ -21,3 +20,5 @@ pnpm-debug.log*
*.njsproj *.njsproj
*.sln *.sln
*.sw? *.sw?
.env

View File

@ -2,7 +2,8 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" /> <!-- <link rel="icon" href="/favicon.ico" /> -->
<link rel="icon" href="/ti.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Captive Portal</title> <title>Captive Portal</title>
</head> </head>

BIN
public/ti.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -5,5 +5,5 @@ type LoginResult = {
} }
interface Auth { interface Auth {
login(username: string, password: string): Promise<LoginResult> login(username: string, password: string): Promise<LoginResult> | LoginResult
} }

View File

@ -0,0 +1,10 @@
import { Context } from '../trpc'
export function getIpFromContext(ctx: Context) {
if (process.env.NODE_ENV === 'development') return '10.7.16.254'
const ip = ctx.ip.split(':').slice(-1)[0]
// console.log(`IP: ${ip}`)
return ip
}

View File

@ -1,6 +1,6 @@
import { Client } from 'ldapts' import { Client } from 'ldapts'
import { LdapAuth } from '../Auth/LdapAuth' import { LdapAuth } from '../auth/LdapAuth'
export async function login(username: string, password: string) { export async function login(username: string, password: string) {
const ldapClient = new Client({ const ldapClient = new Client({
@ -9,9 +9,9 @@ export async function login(username: string, password: string) {
const ldapAuth = new LdapAuth(ldapClient, 'ifms', 'DC=ifms,DC=edu,DC=br') const ldapAuth = new LdapAuth(ldapClient, 'ifms', 'DC=ifms,DC=edu,DC=br')
const result = await ldapAuth.login(username, password) const user = await ldapAuth.login(username, password)
console.log('Login result:', result) console.log('Login result:', user)
return result return user
} }

View File

@ -3,25 +3,22 @@ import * as trpcExpress from '@trpc/server/adapters/express'
import { z } from 'zod' import { z } from 'zod'
import { login } from './lib/login' import { login } from './lib/login'
import { getIpFromContext } from './lib/getIpFromContext'
// Created for each request // Created for each request
function createContext({ req, res }: trpcExpress.CreateExpressContextOptions) { function createContext({ req, res }: trpcExpress.CreateExpressContextOptions) {
return { ip: req.ip } return { ip: req.ip }
} }
type Context = inferAsyncReturnType<typeof createContext> export type Context = inferAsyncReturnType<typeof createContext>
export const t = initTRPC.context<Context>().create() export const t = initTRPC.context<Context>().create()
export const appRouter = t.router({ export const appRouter = t.router({
myIp: t.procedure.query(({ ctx }) => { myIp: t.procedure.query(({ ctx }) => {
const ip = ctx.ip.split(':').slice(-1)[0] return getIpFromContext(ctx)
console.log(`IP: ${ip}`)
if (process.env.NODE_ENV === 'development') return '10.7.16.254'
return ip
}), }),
login: t.procedure login: t.procedure
.input(z.object({ username: z.string(), password: z.string() })) .input(z.object({ username: z.string(), password: z.string() }))
.mutation(async ({ input }) => { .mutation(async ({ input }) => {