Feat(fulfillment): service provider registration + fulfillment management (#6524)

**What**
- Create the fulfillment manual package with a first iteration API 
- Create a new `AbstractFulfillmentProviderService` and `IFulfillmentProvider`
- Modify the module service interface to add new methods to manipulate the fulfillment and the communication with the external provider
  - create (no bulk)
  - cancel (no bulk)
  - update (no bulk)
  - list
  - listAndCount
  - retrieve
- Add new methods to the service provider service to include communication with the third party provider
  - get options
  - create
  - cancel
  - validate data
  - validate option
- Update/create interfaces and DTO's
- fix repository serializer to allow non entity to be passed without throwing
- split module tests into multiple files to simplify navigation
- Add integration tests to validate fulfillments manipulation and external provider loading + communication

FIXES CORE-1729
FIXES CORE-1785
FIXES CORE-1784
FIXES CORE-1766
This commit is contained in:
Adrien de Peretti authored and GitHub committed 2024-03-05 11:11:14 +00:00
1 parent f9ef37a2f2
commit 62a7bcc30c
55 files changed
+4066 -2749

No files matched your search

+15
View File
@@ -8234,10 +8234,25 @@ __metadata:
languageName: unknown
linkType: soft
"@medusajs/fulfillment-manual@workspace:*, @medusajs/fulfillment-manual@workspace:packages/fulfillment-manual":
version: 0.0.0-use.local
resolution: "@medusajs/fulfillment-manual@workspace:packages/fulfillment-manual"
dependencies:
"@medusajs/utils": ^1.11.3
body-parser: ^1.19.0
cross-env: ^5.2.1
express: ^4.17.1
jest: ^25.5.4
rimraf: ^5.0.1
typescript: ^4.9.5
languageName: unknown
linkType: soft
"@medusajs/fulfillment@workspace:packages/fulfillment":
version: 0.0.0-use.local
resolution: "@medusajs/fulfillment@workspace:packages/fulfillment"
dependencies:
"@medusajs/fulfillment-manual": "workspace:*"
"@medusajs/modules-sdk": ^1.12.4
"@medusajs/types": ^1.11.8
"@medusajs/utils": ^1.11.1