Menu servis¶
ordify-menu-service — Quarkus servis za upravljanje menijem: proizvodi, kategorije, sastojci, dodaci, cene i statusi dostupnosti.
- Port: 5006
- Status: ✅ Aktivan
- Repo:
Marinkovic-Co/ordify-menu-service
Funkcionalnosti¶
- CRUD proizvoda sa mekim brisanjem (
isArchived) - Dostupnost artikala za kupce (
isAvailable) - Batch API za povlačenje proizvoda po ID-jevima (koristi ga order-service)
- Kategorije kao tekst (plan: zaseban entitet)
Model: Product¶
| Polje | Tip | Napomena |
|---|---|---|
id |
Long | Panache auto |
name |
String | Obavezan (validacija 422) |
description |
String | |
price |
BigDecimal | Cena |
isAvailable |
boolean | Vidljivo kupcima |
isArchived |
boolean | Soft delete |
category |
String | Za sada tekst; plan: zaseban entitet |
API¶
| Metod | Putanja | Opis |
|---|---|---|
| GET | /api/products |
Svi ne-arhivirani proizvodi |
| GET | /api/products/active |
Samo dostupni kupcima |
| POST | /api/products/batch |
Proizvodi po listi ID-jeva (za order-service) |
| POST | /api/products |
Kreiranje (validacija imena) |
| PUT | /api/products/{id} |
Izmena (404 za arhivirane) |
| DELETE | /api/products/{id} |
Meko brisanje → isArchived=true |
Ključne odluke¶
- Soft delete: brisanje samo postavlja
isArchived; istorija porudžbina ostaje netaknuta. - Batch endpoint: omogućava order-service-u da povuče N proizvoda u jednom pozivu.
- Testovi: 15 integracionih testova sa REST Assured (redosled kroz
@Order).
Pokretanje¶
Baza se kreira automatski (drop-and-create, samo za DEV).