Overview
The supplier module manages master data for all suppliers, including geographic location, ESG compliance flags, certifications, and rich list filtering.
Entity: Supplier
| Field | Type | DB Column | Description |
|---|---|---|---|
id | Long | id | Auto-generated PK |
name | String | name | Legal supplier name (required) |
country | String | country | ISO 3166-1 alpha-2 |
category | String | category | Business category |
reachCompliant | boolean | reach_compliant | REACH regulation compliant |
svhcCompliant | boolean | svhc_compliant | SVHC substance compliant |
createdAt | LocalDateTime | created_at | Set on @PrePersist |
updatedAt | LocalDateTime | updated_at | Set on @PreUpdate |
GET /api/suppliers Filter Parameters
As of v1.0.1 the list endpoint supports rich filtering and sorting. Default page size is 50 (max 250).
| Param | Type | Default | Description |
|---|---|---|---|
page | integer | 0 | Zero-based page index |
size | integer | 50 | Items per page (max 250) |
country | string | — | ISO alpha-2 country filter |
category | string | — | Category filter |
complianceStatus | string | — | Compliance status filter |
search | string | — | Free-text search across name/category |
sortBy | string | created_date | Sort field |
sortOrder | string | desc | asc or desc |
Service Methods
create(SupplierDTO, userId)— persists, returns DTOupdate(id, SupplierDTO)— partial update, returns DTOfindById(id)— throws 404 if not foundlist(page, size, country, category, complianceStatus, search, sortBy, sortOrder)— paginateddelete(id)— hard delete, cascades to certificationsbulkUpsert(items)— upserts byname