Skip to content

Instantly share code, notes, and snippets.

View pazteddy's full-sized avatar
🏠
Working from home

Teddy Paz Muñoz pazteddy

🏠
Working from home
View GitHub Profile
@pazteddy
pazteddy / cors.php
Created July 17, 2026 16:52
Configuraciones de nuestro middleware de CORS
<?php
return [
'paths' => ['api/*'],
'allowed_methods' => ['*'],
'allowed_origins' => [env('FRONTEND_URL', 'http://localhost:3000')],
'allowed_origins_patterns' => [],
'allowed_headers' => ['*'],
'exposed_headers' => [],
'max_age' => 0,
@pazteddy
pazteddy / index.html
Created July 17, 2026 16:47
Página para probar la configuración CORS de nuestra API desarrollada con Laravel
<!doctype html>
<!--
═══════════════════════════════════════════════════════════════════
CORS Tester — proyecto de un solo archivo
═══════════════════════════════════════════════════════════════════
Página autocontenida para probar la configuración CORS de una API
(por ejemplo, config/cors.php en Laravel) desde un navegador real.
CÓMO USARLO
@pazteddy
pazteddy / api-requests.http
Created July 15, 2026 14:35
Peticiones para autenticación
### =============================
### AUTENTICACIÓN (JWT)
### =============================
# Pega aquí el access_token que devuelve login o register
@token = eyJ...
### Registrar un usuario
POST {{baseUrl}}/auth/register
Content-Type: application/json
@pazteddy
pazteddy / NoteEditor.razor
Created July 15, 2026 13:12
Cambios para las acciones de crear, editar y eliminar una nota
@page "/note-editor"
@page "/note-editor/{NoteId:int}"
@inject ISender Sender
@inject NavigationManager navigationManager
@if (isEditMode && Note is not null)
{
<PageTitle>Editar nota</PageTitle>
}
@pazteddy
pazteddy / guia_consumo_api_ecommerce.md
Created July 13, 2026 14:28
Cómo consumir una API versionada desde un cliente C# (WinForms / Blazor)

Cómo consumir una API versionada desde un cliente C# (WinForms / Blazor)

Esta guía usa como ejemplo real la API ApiEcommerce de este repositorio, que versiona con el paquete Asp.Versioning y expone:

Endpoint Versión Notas
GET api/v1/Categories 1.0 Marcado [Obsolete] en el servidor (aparece como deprecado en Swagger)
GET api/v2/Categories 2.0 Devuelve las categorías ordenadas por Id
POST api/v{n}/Users/Login Neutral Funciona igual en v1 y v2 ([ApiVersionNeutral])
@pazteddy
pazteddy / api-requests.http
Created July 10, 2026 19:09
Peticiones para películas
### =============================
### PELÍCULAS
### =============================
### Listar todas las películas
GET {{baseUrlV1}}/movies
Accept: application/json
### Listar películas con filtros
GET {{baseUrlV1}}/movies?search=padrino&year=1972&min_rating=8&genre_id=4&sort_by=rating&order=desc
@pazteddy
pazteddy / MovieFactory.php
Created July 9, 2026 20:31
Factory para poder crear películas para pruebas
<?php
namespace Database\Factories;
use App\Models\Movie;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;
class MovieFactory extends Factory
{
protected $model = Movie::class;
@pazteddy
pazteddy / movies.json
Created July 9, 2026 16:16
Datos de prueba para crear películas
[
{
"title": "Ciudad de Dios",
"year": 2002,
"rating": 8.6,
"director": "Fernando Meirelles",
"duration": 130,
"genre_ids": [4, 8],
"is_active": true
},
@pazteddy
pazteddy / StoreMovieRequest.php
Created July 8, 2026 19:33
Reglas para poder crear una película
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StoreMovieRequest extends FormRequest
{
public function authorize(): bool
{
@pazteddy
pazteddy / MovieResource.php
Created July 8, 2026 16:38
Recurso para películas
<?php
class MovieResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'title' => $this->title,
'slug' => $this->slug,
'synopsis' => $this->synopsis,