Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions app/api/prendas/route.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,95 @@
<<<<<<< HEAD
// import { NextResponse } from 'next/server';
// import { Prenda, syncDatabase } from '@/lib/models/index.js';
// import { verifyToken } from '@/lib/auth.js';

// let dbInitialized = false;
// const initDB = async () => {
// if (!dbInitialized) {
// await syncDatabase();
// dbInitialized = true;
// }
// };

// // GET: Obtener todas las prendas del usuario autenticado
// export async function GET(request) {
// try {
// await initDB();

// // Obtener token del header
// const authHeader = request.headers.get('authorization');
// if (!authHeader || !authHeader.startsWith('Bearer ')) {
// return NextResponse.json({ error: 'No autorizado' }, { status: 401 });
// }

// const token = authHeader.split(' ')[1];
// const decoded = verifyToken(token);

// if (!decoded) {
// return NextResponse.json({ error: 'Token inválido' }, { status: 401 });
// }

// const prendas = await Prenda.findAll({
// where: { usuario_id: decoded.id },
// order: [['createdAt', 'DESC']],
// });

// return NextResponse.json({ prendas });

// } catch (error) {
// console.error('Error GET prendas:', error);
// return NextResponse.json({ error: 'Error interno' }, { status: 500 });
// }
// }

// // POST: Crear una nueva prenda
// export async function POST(request) {
// try {
// await initDB();

// const authHeader = request.headers.get('authorization');
// if (!authHeader || !authHeader.startsWith('Bearer ')) {
// return NextResponse.json({ error: 'No autorizado' }, { status: 401 });
// }

// const token = authHeader.split(' ')[1];
// const decoded = verifyToken(token);

// if (!decoded) {
// return NextResponse.json({ error: 'Token inválido' }, { status: 401 });
// }

// const { nombre, descripcion, imagen_url, categoria, talle, color, etiquetas } = await request.json();

// if (!nombre || !imagen_url) {
// return NextResponse.json({ error: 'Nombre e imagen son obligatorios' }, { status: 400 });
// }

// const prenda = await Prenda.create({
// nombre,
// descripcion,
// imagen_url,
// categoria: categoria || 'otro',
// talle,
// color,
// etiquetas: etiquetas || [],
// usuario_id: decoded.id,
// });

// return NextResponse.json({ prenda }, { status: 201 });

// } catch (error) {
// console.error('Error POST prenda:', error);
// return NextResponse.json({ error: error.message }, { status: 500 });
// }
// }


import { NextResponse } from 'next/server';
import prisma from '@/lib/prisma';
import { verifyToken } from '@/lib/auth.js';

=======
import { NextResponse } from 'next/server';
import prisma from '@/lib/prisma';
import { verifyToken } from '@/lib/auth.js';
Expand Down Expand Up @@ -25,7 +117,11 @@ export async function GET(request) {
return NextResponse.json({ error: 'Token inválido' }, { status: 401 });
}

<<<<<<< HEAD
const prendas = await prisma.prendas.findMany({
=======
const prendas = await prisma.prenda.findMany({
>>>>>>> c288ec095e3c1a150ec685593bd5da517f6f53ac
where: { id_usuario: decoded.id },
orderBy: { createdAt: 'desc' },
});
Expand Down Expand Up @@ -87,6 +183,7 @@ export async function POST(request) {
}

const prenda = await prisma.prenda.create({
>>>>>>> c288ec095e3c1a150ec685593bd5da517f6f53ac
data: {
nombre,
tipo,
Expand Down
Loading