Supplier Module

Supplier domain — entities, certifications, compliance fields, and the full service layer.

Overview

The supplier module manages master data for all suppliers, including geographic location, ESG compliance flags, certifications, and rich list filtering.

Entity: Supplier

FieldTypeDB ColumnDescription
idLongidAuto-generated PK
nameStringnameLegal supplier name (required)
countryStringcountryISO 3166-1 alpha-2
categoryStringcategoryBusiness category
reachCompliantbooleanreach_compliantREACH regulation compliant
svhcCompliantbooleansvhc_compliantSVHC substance compliant
createdAtLocalDateTimecreated_atSet on @PrePersist
updatedAtLocalDateTimeupdated_atSet 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).

ParamTypeDefaultDescription
pageinteger0Zero-based page index
sizeinteger50Items per page (max 250)
countrystringISO alpha-2 country filter
categorystringCategory filter
complianceStatusstringCompliance status filter
searchstringFree-text search across name/category
sortBystringcreated_dateSort field
sortOrderstringdescasc or desc

Service Methods

  • create(SupplierDTO, userId) — persists, returns DTO
  • update(id, SupplierDTO) — partial update, returns DTO
  • findById(id) — throws 404 if not found
  • list(page, size, country, category, complianceStatus, search, sortBy, sortOrder) — paginated
  • delete(id) — hard delete, cascades to certifications
  • bulkUpsert(items) — upserts by name