npm install --force
npm install -g @nestjs/cli
npm init
npm start
# (Se ejecuta en http://localhost:3000/api/)
Documentación de la API REST
URL : /api/products
Método : POST
Descripción : Crea un nuevo producto.
Request Body :
{
"name" : " Nombre del Producto" ,
"description" : " Descripción del Producto" ,
"price" : 100.00 ,
"stock" : 50 ,
"category" : " Categoría del Producto"
}
{
"id" : 1 ,
"name" : " Nombre del Producto" ,
"description" : " Descripción del Producto" ,
"price" : 100.00 ,
"stock" : 50 ,
"category" : " Categoría del Producto" ,
"createdAt" : " 2024-06-01T00:00:00Z"
}
Obtener Lista de Productos
URL : /api/products
Método : GET
Descripción : Obtiene una lista de todos los productos.
Response :
[
{
"id" : 1 ,
"name" : " Nombre del Producto" ,
"description" : " Descripción del Producto" ,
"price" : 100.00 ,
"stock" : 50 ,
"category" : " Categoría del Producto" ,
"createdAt" : " 2024-06-01T00:00:00Z"
},
...
]
URL : /api/products/{id}
Método : PUT
Descripción : Actualiza la información de un producto existente.
Request Body :
{
"name" : " Nombre del Producto Actualizado" ,
"description" : " Descripción del Producto Actualizada" ,
"price" : 120.00 ,
"stock" : 60 ,
"category" : " Nueva Categoría"
}
{
"id" : 1 ,
"name" : " Nombre del Producto Actualizado" ,
"description" : " Descripción del Producto Actualizada" ,
"price" : 120.00 ,
"stock" : 60 ,
"category" : " Nueva Categoría" ,
"updatedAt" : " 2024-06-01T01:00:00Z"
}
URL : /api/products/{id}
Método : DELETE
Descripción : Elimina un producto existente.
Response :
{
"message" : " Producto eliminado exitosamente."
}
URL : /api/inventory
Método : PUT
Descripción : Actualiza la cantidad de inventario de un producto.
Request Body :
{
"productId" : 1 ,
"quantity" : 100
}
{
"productId" : 1 ,
"quantity" : 100 ,
"updatedAt" : " 2024-06-01T01:30:00Z"
}
URL : /api/customers
Método : POST
Descripción : Crea un nuevo cliente.
Request Body :
{
"name" : " Nombre del Cliente" ,
"email" : " cliente@example.com" ,
"address" : " Dirección del Cliente"
}
{
"id" : 1 ,
"name" : " Nombre del Cliente" ,
"email" : " cliente@example.com" ,
"address" : " Dirección del Cliente" ,
"createdAt" : " 2024-06-01T02:00:00Z"
}
URL : /api/orders
Método : POST
Descripción : Crea un nuevo pedido.
Request Body :
{
"customerId" : 1 ,
"products" : [
{
"productId" : 1 ,
"quantity" : 2
},
{
"productId" : 2 ,
"quantity" : 1
}
],
"total" : 300.00
}
{
"id" : 1 ,
"customerId" : 1 ,
"products" : [
{
"productId" : 1 ,
"quantity" : 2
},
{
"productId" : 2 ,
"quantity" : 1
}
],
"total" : 300.00 ,
"createdAt" : " 2024-06-01T03:00:00Z"
}
URL : /api/stores
Método : POST
Descripción : Crea una nueva tienda.
Request Body :
{
"name" : " Nombre de la Tienda" ,
"ownerId" : 1
}
{
"id" : 1 ,
"name" : " Nombre de la Tienda" ,
"ownerId" : 1 ,
"createdAt" : " 2024-06-01T04:00:00Z"
}
graph TD
A[Crear Producto] --> B[Obtener Lista de Productos]
B --> C[Actualizar Producto]
C --> D[Eliminar Producto]
Loading
graph TD
A[Actualizar Inventario]
Loading
graph TD
A[Crear Cliente]
Loading
Flujo de Usuarios/Tiendas