mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-17 22:27:19 +00:00
new file: api/auth-login.ts
new file: api/hello.ts
This commit is contained in:
parent
106253255a
commit
0eddcc7d59
2 changed files with 34 additions and 0 deletions
28
api/auth-login.ts
Normal file
28
api/auth-login.ts
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
// Vercel serverless function for /api/auth/login
|
||||||
|
import type { VercelRequest, VercelResponse } from '@vercel/node';
|
||||||
|
import { loginSchema } from '../shared/schema.js';
|
||||||
|
import { supabase } from '../server/supabase.js';
|
||||||
|
|
||||||
|
export default async function handler(req: VercelRequest, res: VercelResponse) {
|
||||||
|
if (req.method !== 'POST') {
|
||||||
|
res.status(405).json({ error: 'Method not allowed' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = loginSchema.safeParse(req.body);
|
||||||
|
if (!result.success) {
|
||||||
|
res.status(400).json({ error: 'Invalid email or password format' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { email, password } = result.data;
|
||||||
|
const { data, error } = await supabase.auth.signInWithPassword({ email, password });
|
||||||
|
|
||||||
|
if (error || !data.user) {
|
||||||
|
res.status(401).json({ error: error?.message || 'Invalid credentials' });
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// You may want to set a cookie or return a token here for client auth
|
||||||
|
res.status(200).json({ user: data.user });
|
||||||
|
}
|
||||||
6
api/hello.ts
Normal file
6
api/hello.ts
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
// Basic Vercel serverless function example for AeThex-OS
|
||||||
|
import type { VercelRequest, VercelResponse } from '@vercel/node';
|
||||||
|
|
||||||
|
export default function handler(req: VercelRequest, res: VercelResponse) {
|
||||||
|
res.status(200).json({ message: 'Hello from AeThex-OS API!' });
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue