Refactoring
This commit is contained in:
parent
2771b3cd96
commit
f2c4ea49cb
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -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
|
||||||
|
|
|
@ -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
BIN
public/ti.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
10
src/server/lib/getIpFromContext.ts
Normal file
10
src/server/lib/getIpFromContext.ts
Normal 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
|
||||||
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 }) => {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user