Skip to content

Business Affiliate Workflows

Status: Completed Ticket: Arda-cards/management#563 Repository: arda-frontend-app

Expose the existing backend ItemSupply and BusinessAffiliate entity APIs through the frontend, replacing free-form supplier text fields with structured supply records and a searchable supplier directory.

Before this project, supply information was stored as free-form text fields (primarySupply, secondarySupply, defaultSupply) embedded directly in each Item. The backend already supported formal ItemSupply child entities and BusinessAffiliate entities with BusinessRole children — the frontend had no UI for either.

Nine user stories covering two areas:

Item Supply Management (US-1 through US-6)

Section titled “Item Supply Management (US-1 through US-6)”
  • Structured supply list in the Item details panel showing all ItemSupply entities (supplier, SKU, order method, quantity, cost, lead time).
  • Free-form supply data displayed with a visual cue distinguishing it from structured records where formal supplies exist.
  • Add, edit, and remove supply sources from an item.
  • Supplier field backed by a BusinessAffiliate typeahead (VENDOR role) with on-the-fly affiliate creation.
  • Set primary, secondary, and default supply designations from the supply list.
  • Create a supply inline during Item editing by selecting or typing a supplier name in the primary or secondary supply fields.

Business Affiliate Directory (US-7 through US-9)

Section titled “Business Affiliate Directory (US-7 through US-9)”
  • New “Business Affiliates” page accessible from the main navigation sidebar.
  • Data grid with fuzzy search, pagination, and column visibility controls matching the Items page pattern.
  • Create and edit affiliates with: Name, Legal Information, Contact, Main Address, and multi-select Roles (VENDOR, CUSTOMER, CARRIER, OPERATOR, OTHER).
  • Affiliate details panel includes an “Items Supplied” tab listing all items that reference the affiliate.
  • Supplier typeahead queries Business Affiliates with VENDOR role rather than the previous plain-text lookup.
  • Free-form supply fields on Item are maintained for backward compatibility when structured supply records are set.
  • CRUD uses existing backend APIs: POST/PUT/DELETE /v1/item/item/{itemId}/supply/* and /v1/business-affiliate/business-affiliate/*.