-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #171 from pedrolivaresanchez/feature/solicitudes-a…
…pi-backend feature: now only get request from api
- Loading branch information
Showing
9 changed files
with
102 additions
and
66 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,40 +1,48 @@ | ||
import { NextRequest, NextResponse } from 'next/server'; | ||
import { createClient } from '@/lib/supabase/server'; | ||
|
||
export async function GET() { | ||
const supabase = await createClient(); | ||
const { data, error } = await supabase.auth.getUser(); | ||
if (error || !data?.user) { | ||
return Response.json({ message: 'Not logged.', error }); | ||
} | ||
const email = data.user.email; | ||
const registeredPost = await supabase | ||
.from('help_requests') | ||
.select('*') | ||
.eq('type', 'necesita') | ||
.or(`contact_info.ilike.%${email}%,additional_info.cs.${JSON.stringify({ email: email })}`); | ||
return Response.json({ registeredPost }); | ||
} | ||
|
||
export async function POST(request: NextRequest) { | ||
try { | ||
// Obtener los datos del formulario (multipart/form-data) | ||
const formData = await request.formData(); | ||
|
||
// Obtener el ID desde el form-data | ||
const id = formData.get('id'); // Asumiendo que el campo 'id' se llama 'id' | ||
|
||
// Verificar que el ID esté presente | ||
if (!id) { | ||
return NextResponse.json({ error: 'El campo "id" es requerido' }, { status: 400 }); | ||
} | ||
|
||
return NextResponse.json({ | ||
message: 'Datos recibidos correctamente', | ||
id: id, | ||
}); | ||
} catch (error) { | ||
console.error('Error procesando la solicitud:', error); | ||
return NextResponse.json({ error: 'Error al procesar la solicitud' }, { status: 500 }); | ||
} | ||
} | ||
import { NextRequest } from 'next/server'; | ||
import { createServerRoleClient } from '@/lib/supabase/server_role'; | ||
|
||
export async function GET(req: NextRequest) { | ||
// Acceder a los parámetros de búsqueda | ||
const url = new URL(req.url); | ||
const searchParams: any = url.searchParams; | ||
|
||
const help_type = searchParams.get('type'); | ||
const town_id = searchParams.get('town'); | ||
const urgency = searchParams.get('urgency'); | ||
const currentPage = searchParams.get('page') ?? 1 ; | ||
const itemsPerPage = 10; | ||
|
||
const supabase = await createServerRoleClient(); | ||
// const { data: dataUser, error: errorUser } = await supabase.auth.getUser(); | ||
// if (errorUser || !dataUser?.user) { | ||
// return Response.json({ message: 'Not logged.', errorUser }); | ||
// } | ||
|
||
const query = supabase.from('help_requests').select('id, created_at, name, location, description, urgency, number_of_people, contact_info, additional_info->special_situations, status, resources, help_type, people_needed, other_help', { count: 'exact' }).eq('type', 'necesita'); | ||
|
||
if (help_type !== null) { | ||
query.contains('help_type', [help_type]); | ||
} | ||
|
||
if (town_id !== null) { | ||
query.eq('town_id', town_id); | ||
} | ||
|
||
if (urgency !== null) { | ||
query.eq('urgency', urgency); | ||
} | ||
|
||
query.neq('status', 'finished'); | ||
|
||
const { data, count, error } = await query | ||
.range((currentPage - 1) * itemsPerPage, currentPage * itemsPerPage - 1) | ||
.order('created_at', { ascending: false }); | ||
|
||
if (error) { | ||
return Response.json({error}) | ||
} else { | ||
const countResponse = count ?? 0; | ||
return Response.json({data, count: countResponse }); | ||
} | ||
return Response.json({message: 'Error'}); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
'use server'; | ||
|
||
import { createServerClient } from '@supabase/ssr'; | ||
import { cookies } from 'next/headers'; | ||
import { Database } from '@/types/database'; | ||
|
||
export async function createServerRoleClient() { | ||
const cookieStore = await cookies(); | ||
|
||
return createServerClient<Database>( | ||
process.env.NEXT_PUBLIC_SUPABASE_URL!, | ||
process.env.SUPABASE_SERVICE_ROLE!, | ||
{ | ||
cookies: { | ||
getAll() { | ||
return cookieStore.getAll(); | ||
}, | ||
setAll(cookiesToSet) { | ||
try { | ||
cookiesToSet.forEach(({ name, value, options }) => cookieStore.set(name, value, options)); | ||
} catch { | ||
// The `setAll` method was called from a Server Component. | ||
// This can be ignored if you have middleware refreshing | ||
// user sessions. | ||
} | ||
}, | ||
}, | ||
}, | ||
); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters