Appearance
apps/api/src/features/marketplace/marketplace.service.ts ​
Auto-generated by
scripts/generate-file-docs.ts. Do not edit — overwritten on every run.
Purpose ​
MarketplaceService — member-to-member listings and reviews. Per task spec and docs/internal/design/api-contracts.md (Marketplace): - Member-only feature. VISITOR cannot post, browse, or contact sellers. Read access (list / getById) requires MEMBER+ and ACTIVE status. Write access (create / update / withdraw / markSold / createReview) is held to the same bar plus per-entity ownership rules. - Sellers may post in any of eight categories. Price is optional iff isFree is true; otherwise price is required. - Listings expire after 30 days by default; the caller may supply an explicit expiresAt. - Reviews: one per buyer per listing (enforced by the @@unique on ListingReview). A seller cannot review their own listing. - No direct messaging in this phase; the contact channel is the seller's profile email surfaced via getById. Every state-changing operation writes an AuditLog row inside the same transaction that mutates the listing or review. /
Exports ​
export interface ListListingsParamsexport interface ListListingsResultexport interface ListingDetailexport class MarketplaceServiceexport const marketplaceService
Imports ​
../../adapters/db../../lib/errors../../lib/logger../../lib/pagination../../middleware/requireAuth