Commit Graph

921 Commits

Author SHA1 Message Date
Philip Korsholm c97ccd3fb5 feat(medusa): Convert FulfillmentService to TypeScript (#1962) 2022-08-22 19:19:41 +02:00
Philip Korsholm a54dc68db7 feat(medusa): Filtering Customer Orders (#975) 2022-08-21 13:26:25 +02:00
endigo 8c4be33536 feat(medusa): Add Mongolian currency tugrug (#2067) 2022-08-21 12:12:40 +02:00
Adrien de Peretti 844d7d1f5f feat(medusa): Migrate Return service to ts (#1926) 2022-08-19 17:26:12 +02:00
Oliver Windall Juhl 0ba63c70b0 fix(medusa): Complete cart with 100% discount (#2032)
**What**
Naive fix to allow carts with 100% discount to be completed.

**Why**
Discount total is wrongly calculated if `items` and `items.adjustments` is not included in relations upon retrieving the cart.

**Thought**
This is yet another example of why we need to rethink and refactor totals computation to not depend on what is provided by the user.
2022-08-16 09:21:01 +00:00
Adrien de Peretti f1c2c6c68b feat(medusa): Implement the SC migration scripts (#2037)
**What**
Migrate the existing products to the default sales channel

FIXES CORE-434
2022-08-16 08:47:23 +00:00
Sebastian Rindom 15a5b029ae fix(medusa): join tracking links to all fulfillments in admin/orders (#2045)
Fixes https://github.com/medusajs/medusa/issues/2042
2022-08-15 11:23:36 +00:00
Adrien de Peretti 79acc38a57 feat(medusa): Simplify the transaction base service (#2007)
**What**
Simplify the transaction base service.

**How**

In fact, it does not need to be template and reduce the extensibility as the type is internally enforce. Now, the type is deduced by this which can be any derived class.
2022-08-12 09:17:39 +00:00
Adrien de Peretti cbe2b7f687 chore(medusa): Remove intepestive services re instanciation in loop (#2036)
* chore(medusa): Renove intepestive services re instanciation in loop

* test(medusa): Fix missing deps

* fix(medusa): Missing await
2022-08-11 22:18:11 +02:00
Adrien de Peretti c31290c911 feat(medusa): Refactor undefined check into a single util (#2024) 2022-08-10 17:45:48 +02:00
Adrien de Peretti bd031ef7ad feat(medusa:) Convert PaymentProvider + PaymentProviderInterface to TS + (#1773)
* feat(payments): Refactor core Payment related

* fix(medusa): typings

* test(unit): fix suite

* test(unit): fix suite

* feat(medusa): Improve payment provider container typings

* fix(medusa): typings

* styles(medusa): renove comments

* feat(medusa): cleanup

* feat(medusa): Add uniq constraint on payment session and idem key on create-payment-session end point

* fix(medusa): migration

* fix(medusa): create payment session

* feat(medusa): cleanup
2022-08-10 17:26:16 +02:00
Adrien de Peretti 987ce2ab6d chore(medusa): Feature flag loader simplify, deduplicate and increase readability (#2025) 2022-08-10 13:02:26 +02:00
Oliver Windall Juhl 900260c5b9 feat(medusa,medusa-telemetry): Add telemetry on feature flags (#2017) 2022-08-09 16:27:12 +02:00
Adrien de Peretti aaebb38eae feat(medusa): Convert IdempotencyKeyService to TypeScript (#1995)
* feat(medusa): Migrate the idempotency key service to ts + fix

* feat(medusa): Finalise idempotency migration

* Create late-owls-pump.md

* feat(medusa): Polish

* feat(medusa): Add case to the error handler

* feat(medusa): Add case to the error handler

Co-authored-by: olivermrbl <oliver@mrbltech.com>
2022-08-09 08:08:07 +02:00
Adrien de Peretti 4b663cca3a feat(medusa): Use transactions in CartCompletionStrategy (#1968) 2022-08-08 21:11:34 +02:00
Philip Korsholm 152934f8b0 feat(medusa): Convert ShippingProfileService to TypeScript (#1963) 2022-08-08 16:51:55 +02:00
Philip Korsholm 11fab121f4 feat(medusa): Convert OauthService to TypeScript (#1983) 2022-08-07 13:15:20 +02:00
Philip Korsholm 42ed209518 feat(medusa): Convert CollectionService to TypeScript (#1976) 2022-08-07 12:06:36 +02:00
Shahed Nasser 73383cc466 chore(docs): Refactor API Reference (#1883) 2022-08-05 14:06:12 +02:00
Shahed Nasser 02d5c1da88 docs: update Typedoc and regenerate references (#1994)
* generated new services reference

* changed from automatic push to automated pull request

* updated typedoc, regenerated JS Client reference

* regenerated the reference after updating typedoc

* added action for js client
2022-08-04 17:29:52 +03:00
Philip Korsholm 87fc18137d Feat(medusa): Convert middleware service to typescript (#1936)
Fixes CORE-351
2022-08-02 12:43:55 +00:00
Philip Korsholm 6251aecdaa Feat/convert return reason service to typescript (#1961)
**What**
- Convert return reason service to typescript

Fixes CORE-355
2022-08-02 11:40:11 +00: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
Philip Korsholm d530ac23d6 Feat(medusa): Convert inventory service to ts (#1937)
Fixes CORE-350
2022-08-02 09:56:57 +00:00
Adrien de Peretti 051bb16dd7 chore(medusa): Add transactions in mutating actions 2 (#1853)
* chore(medusa): Add transaction on mutation actions

* chore(medusa): continue refactoring

* chore(medusa): continue refactoring

* chore(medusa): continue refactoring

* feat(medusa): update invite service mock to provide a withTransaction

* feat(medusa): Include pr feedback

* feat(medusa): Cleanup idempotent places

* feat(medusa): Cleanup idempotent places

* feat(medusa): Better Cleanup idempotent places

* feat(meudsa): cleanup transaction

* fix(medusa): Create cart transaction usage

* fix(medusa): Use the right variable

* fix(medusa): Use the right variable

* fix(medusa): Transaction usage in cart creation flow
2022-08-02 10:04:43 +02: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
Adrien de Peretti 3b28998421 feat(medusa): Create/update Product Sales Channels (#1870)
* feat(medusa): Allow to create/update object sales channels assignment

* feat(medusa): cleanup

* feat(medusa): Update oas

* feat(medusa): Only add relation if required

* feat(medusa): Add feature flag decorators

* style(medusa): PR feedback

* feat(medusa): Remove circular by moving sales channel product existence check to the repo layer

* feat(medusa): Reduce selected column as they are not necessary

* feat(medusa): Refactor repository and usage

* feat(medusa): Improve entity name formatting

* feat(medusa): Add feature flag to the service

* fix(medusa): typo

* test(medusa): fix unit tests

* feat(medusa): include feedback

* feat(medusa): Adds validator pipe for Sales Channel existence (#1930)

* feat(medusa): Allow to create/update object sales channels assignment

* feat(medusa): cleanup

* feat(medusa): Update oas

* feat(medusa): Only add relation if required

* feat(medusa): Add feature flag decorators

* style(medusa): PR feedback

* feat(medusa): Remove circular by moving sales channel product existence check to the repo layer

* feat(medusa): Reduce selected column as they are not necessary

* feat(medusa): Refactor repository and usage

* feat(medusa): Improve entity name formatting

* feat(medusa): Add feature flag to the service

* fix(medusa): typo

* test(medusa): fix unit tests

* feat(medusa): Adds validator pipe for Sales Channel existence

* feat: Move product payload classes to types file

* fix unit tests

* fix integration test

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>

* feat(medusa): Revert base repository and related

* feat(medusa): cleanup

* remove base repo export

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-07-28 20:19:30 +02:00
Philip Korsholm 5ce8839c54 add is_disabled to create sales channel (#1928)
**What**
- include `is_disabled` when creating a sales channel

**Why**
- To enable creation of draft sales channels
2022-07-28 14:17:11 +00:00
Adrien de Peretti 7cb8095ed4 chore(medusa): Add transactions in mutating actions in store domain (#1858) 2022-07-28 11:48:55 +02:00
Frane Polić 3fbe8d7d08 feat(medusa): Validate LineItems in SalesChannel (#1871)
* wip: validate line item SC

* fix: repository type, remove relation, use sc id, check if cart has associated sc

* feat: setup tests and seeder, change entity retrieval in cart service method

* feat: remove repo usage and method, use Adrien's method from product service to check sc association, add test cases, add seeder entities, accept flag for validating sc on the endpoint

* feat: add a unit test to ensure validation method is called if flag is passed

* feat: allow `validate_sales_channels` flag in other relevant endpoints

* fix: typo

* fix: flag rename

* fix: correct FF in test suites

* fix: address PR feedback

* fix: change error message

* feat: remove query params, guard with FF, refactor

* feat: guard validation in the service

* refactor: rename validation method

* refactor: reorganise tests

* wip: cleanup test file

* wip: revert cart seeder changes use factories

* fix: remove seeder, update mocks

* fix: method name

* fix: units, validate by default

* git: resolve merge conflicts

* refactor: separate line item sales chanel units

Co-authored-by: fPolic <frane@medusajs.com>
2022-07-27 21:39:06 +02:00
Adrien de Peretti 204dd23a39 feat(medusa): Migrate SearchService to TS + add SearchInterface (#1922) 2022-07-27 20:58:44 +02:00
Adrien de Peretti 6014872a72 feat(medusa): Migrate NotificationService to TS + add NotificationInterface (#1922) 2022-07-27 20:07:57 +02:00
Adrien de Peretti 902af55723 feat(medusa): Migrate Note service (#1925)
**What**
Migrate note service to ts

FIXES CORE-352
2022-07-27 17:40:16 +00:00
Adrien de Peretti c025074aca feat(medusa): Includes Sales channels as part of the product/order export (#1882)
**What**
Add support to sales channel in the product/order export strategy

**How**
Update the strategy to include the sales channel if the flag is enabled

**Tests**
Add new unit tests that check that the exported data does include the appropriate sales channel when the flag is enabled and that the data still does not include the sales channel if the flag is not including the flag

FIXES CORE-303
2022-07-27 17:11:09 +00:00
Adrien de Peretti df66378535 feat(medusa): Attach or update cart sales channel (#1873)
What

Allow to create a cart with a sales channel, otherwise the default one is attached.
Also allow to update the sales channel on an existing cart and in that case the line items that does not belongs to the new sales channel attached are removed

How

Updating existing end points and service method to integrate the new requirements

Tests

Add new integration tests

Fixes CORE-270
Fixes CORE-272

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-07-27 16:54:05 +00:00
Adrien de Peretti b8ddb31f6f feat(medusa): Move search indexing into a separate subscriber to defer the work load (#1874)
**What**

Move the preliminary indexing action at boot time to a separate subscriber in order to defer the work load in the background and therefore to avoid increasing the load time when the number of products increase with time.

**Tests**
Add 10k products (since it is our limit, tried with 50k before getting the error limit) using 
```sal
do $$
declare
   counter integer := 0;
begin
   while counter < 10000 loop
     INSERT INTO product (id, title, description, handle, profile_id)
        (SELECT * FROM ((SELECT random(), random(), random(), random(), 'sp_01FNB9K7FXB0SZMKXD013RJYSP')) as T);
      counter := counter + 1;
   end loop;
end$$;
```
then start the server and while the server is starting, hit the search end point repeatedly 

FIXES CORE-258

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-07-26 12:58:28 +00:00
Philip Korsholm 0e0b131488 Feat(medusa): expand store result (#1884)
**What**
- include the default sales channel in the result of `get-store` if featureflag is set

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-07-26 11:59:11 +00:00
Sebastian Rindom 8c283ac3b0 fix(medusa): Calculated price on cart shipping options (#1878) 2022-07-20 11:04:31 +02:00
Adrien de Peretti 110c995a6a feat(medusa): Allow to query order/product by SC (#1867)
**What**

Allow to query the products and orders by sales channels

**How**

Updating the existing end points and repositories  (if necessary) to take a new query params that is sales_channel_id as an array of string

**Tests**

Add new integration tests

Fixes CORE-295
Fixes CORE-288
2022-07-19 16:54:20 +00:00
Sebastian Rindom 4dd7fdf61c chore(medusa): Clean up atomicPhase usage (#1850) 2022-07-18 16:04:36 +02:00
Derek Wene f5091c6370 feat(medusa): Add events for creating, updating, and deleting users to event bus (#1836) 2022-07-17 16:02:03 +02:00
Oliver Windall Juhl dafbfa7799 fix(medusa): Create tax lines when marking DraftOrder as paid (#1852) 2022-07-15 11:57:46 +02:00
Sebastian Rindom c148064b4a fix(medusa): accept array of region ids in order filter (#1851) 2022-07-15 05:41:24 +00: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
Oliver Windall Juhl 7162972318 fix(medusa): Free text search for PriceList Products (#1843)
**What**
Fixes #1831 and #1336
2022-07-13 14:06:33 +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
Oliver Windall Juhl 4e375c2203 feat(medusa): Prevent default channel from being deleted (#1835)
**What**
Prevent the default channel from being deleted

Fixes CORE-317
2022-07-13 06:41:03 +00:00
Sebastian Rindom e539bdc620 chore: Fix CI pipeline (#1839) 2022-07-12 20:14:34 +02:00
Adrien de Peretti b402b9f159 feat(medusa): Create default sales channel associated to the store (#1830)
**What**
Add support for default sales channel

**How**
- Implement a new method in the salesChannelService `createDefault`
- call the new method above in the default loader

**Test**
- Unit tests of the sales channel service method createDefaulta
- Init default loader unit tests

Fixes CORE-316
2022-07-11 21:05:28 +00:00