Commit Graph

124 Commits

Author SHA1 Message Date
Philip Korsholm 642902aaeb feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353) 2022-10-06 13:58:46 +02:00
Philip Korsholm 00959f79bc Feat(medusa): remove item from order (#2273)
* wait for update to order edit model

* delete line item tests

* create remove method for lineitem with tax lines

* add remove item tests

* split delete allocation tests into two: more and less than total

* remove unused import

* cleanup

* add medusa-js and react endpoints

* pr feedback fixes

* linting

* remove unused relation from query

* remove removed-event and unused imports

* add await
2022-09-30 09:48:18 +02:00
Adrien de Peretti 95c0dc653a feat(medusa, medusa-js, medusa-react): Implement store complete order… (#2275)
**What**

Allow a customer to complete a requested order edit.

**Test**
- Unit tests complete flow
- Unit tests medusa react
- Integration tests of order edit completion

FIXES CORE-501
2022-09-29 17:06:45 +00:00
Adrien de Peretti 2be00007b2 Feat(medusa, medusa-js, medusa-react): order edit confirmation (#2264)
**what**

Support confirm of an order edit:

Upon confirmation, the items of the original order are detached and the items from the order edit are attached to the order.
The order total is recomputed with the correct total which can defer from the paid_total and refundable_amount (based on the paid_total)


**Tests**

- Unit tests medusa-js and medusa-react as well as the core
- Integration test of the confirmation flow which check that the order edit is properly confirmed and can be confirmed idempotently. Also validate the totals and that the order items correspond to the order edit items. Also validate the order totals.

FIXES CORE-498
2022-09-29 08:00:48 +00:00
Frane Polić 884f36e8a8 feat: add a line item to an order edit (#2243)
**What**
- Implement adding a line item to order (edit)

**How**
- _by implementing the following "flow"_
  - generate a line item
  - computing line item adjustments for that line item
  - creating tax lines
  - creating a change record

**Testing**
- **_integration tests_**
  - check if line item and order item change objects are created (with correct tax lines)
  - line item adjustments are generated if
    - fixed discount is applied to cart
    - percentage discount is applied
- **_unit tests_** 
  - ensure that methods from Inventory, LineItem, LineItemAdjustment etc. services are called 

---

RESOLVES CORE-495
2022-09-28 11:51:13 +00:00
Adrien de Peretti 474e97252c Feat(medusa, medusa-js, medusa-react): order edit item update (#2246)
**what**
Support `updateLineItem` which does the following:
- If no item change exist then create a new one and attaches the clone item with the adjustments and tax lines
- if an item change exists then delete/create adjustments and tax lines and update the cloned item quantity

**Tests**
- Unit tests core + client
- integration tests
  - When no item change already exists
  - When an item change already exists

FIXES CORE-497
2022-09-28 09:09:33 +00:00
Philip Korsholm 1807bff029 Feat(medusa): cancel order edit (#2240)
**What**
- cancel an order edit

Fixes CORE-500
2022-09-27 03:13:15 +00:00
Philip Korsholm 6da29c72c4 Feat(medusa): request order edit (#2239)
**What**
- Implement `admin/order-edits/:id/request`

Fixes CORE-499
2022-09-22 10:17:00 +00:00
Adrien de Peretti 14e808c724 feat(medusa, medusa-js, medusa-react): Implement item change deletion from an order edit (#2241) 2022-09-22 11:02:58 +02:00
Philip Korsholm c661cc789b Feat/decline order edit (#2234)
**What**
- Decline an order edit from a store endpoint
- Refactor totals setting to a service method

Fixes CORE-502
2022-09-21 11:02:10 +00:00
Frane Polić e1fe5ed094 feat(medusa): Update OrderEdit (#2220) 2022-09-19 13:29:12 +02:00
Adrien de Peretti f7177c9033 feat(medusa): Implement premises of the creation flow of an order edit (#2187)
**What**
- Implements the admin create end point 
- Service implementation of the create method and the retrieveActive as well as the totals computation
- Improve compute line items
- client
  - medusa-js api
  - medusa-react mutations hooks

**Tests**
- Unit tests of the create end points
- Unit tests of the service create method
- Integration tests for admin that also take into account totals computations
- client
  - medusa-js tests
  - medusa-react hooks tests

FIXES CORE-491
2022-09-16 08:29:40 +00:00
sabakhilji 6132711eef fix(medusa-js): Use correct payload type in medusa-js (#2207) 2022-09-16 09:42:26 +02:00
Philip Korsholm 09627c01d3 feat(medusa): Support OrderEdit removal (#2204) 2022-09-16 08:39:40 +02:00
Adrien de Peretti f863d28b9a feat(medusa): Implement premises of order edit retrieval (#2183)
**What**
- Implements the admin/store retrieval end point 
- Service implementation of the retrieve method
- Service implementation of the computeLineItems method which aggregates the right line item based on the changes that are made
- client
  - medusa-js api
  - medusa-react queries hooks

**Tests**
- Unit tests of the retrieval end points
- Unit tests of the service retrieve method and computeLineItems
- Integration tests for admin/store
- client
  - medusa-js tests
  - medusa-react hooks tests

FIXES CORE-492
2022-09-15 09:12:20 +00:00
olivermrbl 3efeb6b84f chore(release): Publish 2022-09-14 11:36:53 +02:00
Carlos R. L. Rodrigues a94d9816fe chore: Centralise ESLint rules (#2162)
* chore: centrilize eslint rules
2022-09-13 07:42:33 -03:00
Kasper Fabricius Kristensen 64949dc721 feat(medusa-js,medusa-react,medusa): Add missing Currency endpoints (#2185) 2022-09-12 19:28:43 +02:00
olivermrbl 384c8efb8b chore(release): Publish 2022-08-25 15:51:21 +02:00
Kevin Antonio Rateni Iatauro 8cbebef403 feat(medusa-js): Add deleteSession endpoint (#1234) 2022-08-21 14:08:51 +02:00
Richard Ward a88bf3c76e feat(medusa-js): Add Collection batch (remove, add) endpoints (#1958) 2022-08-07 13:22:36 +02:00
olivermrbl 6663a6290b chore(release): Publish 2022-08-04 14:12:54 +02:00
Adrien de Peretti badda5233c fix(medusa-js): Allow payload in DELETE and POST (#1985) 2022-08-04 11:47:54 +02:00
olivermrbl bc7c2d9c4a chore(release): Publish 2022-08-03 18:34:24 +02:00
Adrien de Peretti b603f7dc8f chore(medusa): Add transaction on mutation actions (2) (#1855)
**What**
Wrap all actions that require the usage of an atomic phase into a transaction from the handler

**Info**
The following end points have been removed since that they rely on non existing stuff and can't be used and are not used
admin - create-order
admin - delete order metadata
admin - set region metadata
admin - remove region metadata

Fixes CORE-358
2022-08-02 10:23:01 +00:00
Adrien de Peretti b54d5178c9 feat(medusa): Migrate and fix order service (#1894)
* feat(medusa): Migrate and fix order service

* fix(medusa): Order service pass Payment instead of the session:

* fix(medusa): Remove unnecessary method in the client library

* test(medusa): Fix unit tests

* test(medusa): Fix unit tests

* fix(medusa): Typo

* test(meduas): fix unit test

* feat(medusa): Update base service used and missing transaction

* test(meduas): fix unit test

* fix(medusa): cleanup and missing transaction

* fix(medusa): missing withTransaction on some mocks

* feat(medusa): Update order service method visibility

* include feedback

* feat(medusa); revert order payment status"

* test(medusa): fix unit

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-08-01 11:01:17 +02:00
Oliver Windall Juhl 1998902a94 fix(medusa-js): Use correct customer payment methods path (#1934) 2022-07-28 20:43:42 +02:00
Adrien de Peretti aa4bf795b2 fix(medusa-js): Pass undefined instead of empty object to avoid empty payload (#1900) 2022-07-25 19:42:43 +02:00
Adrien de Peretti f35ea5156a feat(medusa, medusa-js, medusa-react): Bulk add Products to a SalesChannel (#1833) 2022-07-14 16:39:44 +02:00
Adrien de Peretti cdd91974f9 feat(medusa, medusa-js, medusa-react): Start implementing remove batch products on a sales channel (#1842)
What
Support sales channel remove product batch in medusa, medusa-js and medusa-react

How
By implementing a new endpoint and the associated service method as well as the repository methods.

Medusa-js new removeProductd method in the resource

Medusa-react new hook in the mutations

Tests

Endpoint test
Service test
Integration test
Hook tests

Fixes CORE-292
2022-07-13 19:40:23 +00:00
Adrien de Peretti a1a5848827 feat(medusa, medusa-js, medusa-react): Implement Sales Channel list (#1815)
**What**
Support sales channel list in medusa, medusa-js and medusa-react

**How**

By implementing a new endpoint and the associated service method as well as the repository methods.

Medusa-js new list method in the resource

Medusa-react new hook in the queries

**Tests**

Endpoint test
Service test
Integration test
Hook tests

Fixes CORE-280
2022-07-13 10:28:53 +00:00
olivermrbl fb0346f1fa fix: Merge conflicts 2022-07-12 09:29:41 +02:00
Zakaria El Asri 9fa4238ee4 chore: improve ci pipeline (#1764)
* fix: caching deps + add true parallelization to integration tests api

* fix: github action

* chore: upgrade to yarn berry (#1762)

* init migration

* remove: yarn.lock from all pkgs

* fix: build script in pkgs

* adjust yarn config

* fix: yarn.lock and yarnrc.yml

* fix: github actions

* fix: wrong type

* fix (medusa-react): use dts-cli instead of tsdx

* fix: yarn.lock

* fix: yarn v

* fix: prepare script

* add: comment on why we need to downgrade yarn before medusa-dev

* chore: move to Turborepo (#1763)

* increase number of parallel nodes

* fix (medusa-fulfillment-webshipper): build script

* fix: use new version of medusa-dev

* fix: rename cache-bootstrap to cache-deps
2022-07-10 12:11:11 +02:00
Shahed Nasser 3b28f46705 docs: added reference for JS Client (#1629)
* added reference for JS Client

* added reference for JS Client

* added reference for JS Client
2022-07-08 18:21:46 +03:00
Adrien de Peretti 2d03634cfc feat(medusa, medusa-js, medusa-react): Implement Sales Channel deletion (#1804) 2022-07-07 10:47:51 +02:00
Frane Polić 0d1624cf6a feat(medusa, medusa-js, medusa-react): Implement Sales Channel creation (#1795) 2022-07-06 22:18:05 +02:00
Philip Korsholm 428a801293 feat(medusa-js, medusa-react): Update jsdoc with experimental annotation for sales channels (#1811)
**What**
- Add tag to indicate methods are part of an experimental feature under development

**Why**
- To notify developers because we cant support featureflags in the same way from the client side libraries.
2022-07-06 15:38:26 +00:00
Philip Korsholm 9d19cc0818 feat(medusa, medusa-js, medusa-react): Implement Sales Channel update (#1797) 2022-07-06 15:44:09 +02:00
Adrien de Peretti 263a661031 feat(medusa, medusa-js, medusa-react): Implement Sales Channel retrieval (#1793) 2022-07-06 12:17:26 +02:00
olivermrbl f87c268913 chore(release): Publish
- @medusajs/medusa-cli@1.3.1
 - medusa-dev-cli@0.0.25
 - medusa-file-minio@1.0.7
 - medusa-file-s3@1.1.3
 - medusa-file-spaces@1.2.3
 - medusa-fulfillment-webshipper@1.3.3
 - medusa-interfaces@1.3.1
 - @medusajs/medusa-js@1.2.3
 - medusa-payment-paypal@1.2.3
 - medusa-payment-stripe@1.1.41
 - medusa-plugin-algolia@0.2.3
 - medusa-plugin-brightpearl@1.3.1
 - medusa-plugin-contentful@1.2.3
 - medusa-plugin-ip-lookup@1.2.1
 - medusa-plugin-mailchimp@1.1.42
 - medusa-plugin-meilisearch@0.2.3
 - medusa-plugin-sendgrid@1.3.3
 - medusa-plugin-slack-notification@1.3.3
 - medusa-plugin-twilio-sms@1.2.3
 - medusa-react@0.3.3
 - medusa-source-shopify@1.2.1
 - @medusajs/medusa@1.3.3
2022-07-05 09:51:23 +02:00
Oliver Windall Juhl 7bee57f7c5 fix(medusa-js): Fix stringifyNullProperties util (#1766)
**What**
Changes the order of object type evaluation to properly handle null properties.

Previously, `stringifyNullProperties({ test: null })` would fail in the 2nd iteration due to an attempt to iterate `null` in `Object.keys(obj)`.
2022-07-02 15:29:27 +00:00
Adrien de Peretti fc1cbe72c7 feat(medusa-js): Create utils to stringify null values and respect object types (#1748)
### What

At the moment it is not possible to pass explicitly null on a property since the qs.stringify will transform it as `url?property=` which is then interpreted on the backend side as `""` value which is not what we expect.
The actual way to pass null value is to set the property as `{ prop: "null" }` in order to get the stringify method to send it correctly.

### How

I just created a small util that loop through the input object and transform all null values to "null" before being passed to the qs.stringify method.

The new util is only applied on the list batch job since this is for now the only place that require that behaviour.
2022-06-30 09:17:57 +00:00
Philip Korsholm 9018d270be Feat(medusa-js, medusa-react): Upload endpoints in medusa js and react (#1716)
* export types from admin uploads

* add delete and download to medusa-js

* add upload endpoints to hooks

* remove upload from js and react

* pr feedback

* Apply suggestions from code review

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>

* rename types for admin uploads

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-06-29 11:36:19 +02:00
Oliver Windall Juhl 7302d76e12 feat(medusa,medusa-js,medusa-react): Add BatchJob API support in medusa-js + medusa-react (#1704)
* Add BatchJob API to medusa-js

* Adds BatchJob API hooks

* Fix tests in medusa-react
2022-06-21 11:08:44 +02:00
olivermrbl 8e43ef2b3a chore(release): Publish
- medusa-file-minio@1.0.6
 - medusa-file-s3@1.1.2
 - medusa-file-spaces@1.2.2
 - medusa-fulfillment-webshipper@1.3.2
 - @medusajs/medusa-js@1.2.2
 - medusa-payment-paypal@1.2.2
 - medusa-payment-stripe@1.1.40
 - medusa-plugin-algolia@0.2.2
 - medusa-plugin-contentful@1.2.2
 - medusa-plugin-mailchimp@1.1.41
 - medusa-plugin-meilisearch@0.2.2
 - medusa-plugin-sendgrid@1.3.2
 - medusa-plugin-slack-notification@1.3.2
 - medusa-plugin-twilio-sms@1.2.2
 - medusa-react@0.3.2
 - @medusajs/medusa@1.3.2
2022-06-19 13:11:05 +02:00
olivermrbl 6c1a722b38 chore(release): Publish
- medusa-file-minio@1.0.5
 - medusa-file-s3@1.1.1
 - medusa-file-spaces@1.2.1
 - medusa-fulfillment-webshipper@1.3.1
 - @medusajs/medusa-js@1.2.1
 - medusa-payment-paypal@1.2.1
 - medusa-payment-stripe@1.1.39
 - medusa-plugin-algolia@0.2.1
 - medusa-plugin-contentful@1.2.1
 - medusa-plugin-mailchimp@1.1.40
 - medusa-plugin-meilisearch@0.2.1
 - medusa-plugin-sendgrid@1.3.1
 - medusa-plugin-slack-notification@1.3.1
 - medusa-plugin-twilio-sms@1.2.1
 - medusa-react@0.3.1
 - @medusajs/medusa@1.3.1
2022-05-31 09:12:18 +02:00
Adrien de Peretti fa031fd28b feat(medusa): Support deleting prices from a price list by product or variant (#1555) 2022-05-30 09:41:57 +02:00
Oliver Windall Juhl a87e1cdf65 feat(medusa): Add endpoint for retrieving a DiscountCondition (#1525) 2022-05-17 11:17:17 +02:00
olivermrbl 4198ee7756 Merge branch 'master' into develop 2022-05-13 14:32:24 +02:00
Oliver Windall Juhl 9ca45ea492 feat(medusa): Add endpoints specific to DiscountConditions (#1355) 2022-05-13 12:42:23 +02:00