Commit Graph

1747 Commits

Author SHA1 Message Date
Philip Korsholm
00fd096d25 Feat: Discount migration (#1214)
* feat: Add DiscountCondition entity + Join table per relation (#1146)

* feat: Convert DiscountService to TypeScript (#1149)

* feat: Add DiscountRepository + bulk insert and remove (#1156)

* feat: Add `conditions` to payload in `POST /discounts` and `POST /discounts/:id` (#1170)

* feat: Add DiscountRuleCondition entity

* fix relation

* fix join key

* Add discount rule condition repo

* add join table per relation

* Convert DiscountService to TypeScript

* feat: Add DiscountConditionRepository

* Add migration + remove use of valid_for

* revert changes to files, not done yet

* init work on create discount endpoint

* Add conditions to create discount endpoint

* Add conditions to update discount endpoint

* Add unique constraint to discount condition

* integration tests passing

* fix imports of models

* fix tests (excluding totals calculations)

* Fix commented code

* add unique constraint on discount condition

* Add generic way of generating retrieve configs

* Requested changes + ExactlyOne validator

* Remove isLocal flag from error handler

* Use postgres error constant

* remove commented code

* initial

* add migration scripts

* make getMigrationsFolder generic

* add datamodel migration command

* add datamodel run to migraitons cli

* remove data migration code from migrations

* add inner join

* add migration script for discount migration

* redo all script changes after adding script file

* address pr feedback

* cherrypick files from develop

* remove unused import

* suggestions

* Update packages/medusa/src/scripts/discount-rule-migration.ts

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

* fix: revert rule id to dr_id

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: olivermrbl <oliver@mrbltech.com>
2022-04-27 10:25:04 +02:00
Philip Korsholm
40b63d092a fix: Invoke canCalculate with an entire shipping option (#1397) 2022-04-26 22:11:48 +02:00
Zakaria El Asri
b8f1ae9ff5 feat: line item adjustment migration script (#1255) 2022-04-26 16:05:33 +02:00
Philip Korsholm
f7386bf4b3 fix: Update is_giftcard type when filtering products (#1427)
* transform is_giftcard parameter and default to false

* add test for non gift_cards

* make default optional
2022-04-25 14:55:33 +02:00
Kasper Fabricius Kristensen
7a1e394b9d Feat/expand on list discounts (#1304) 2022-04-21 15:22:07 +02:00
Adrien de Peretti
313cb0658b feat(medusa): Improve config loading (#1290) 2022-04-21 12:49:56 +02:00
Adrien de Peretti
89a6de4660 fix(medusa): Remove updatePaymentMethod store cart route (#1382) 2022-04-21 12:43:22 +02:00
Oliver Windall Juhl
9acee2799e fix(medusa): Remove unsupported Discount endpoints (#1367) 2022-04-19 13:39:49 +02:00
Zakaria El Asri
95ea8fa385 fix: query key (#1350) 2022-04-17 16:54:56 +02:00
Adrien de Peretti
530bbd4cac refactor: LineItemService migration to TS + refactoring + fix (#1254)
* refactor(medusa): LineItemService migration to TS + refactoring

* feat(medusa): Cleanup line-item service

* feat(medusa): Rebase develop

* test(medusa): Fix integration cart tests

* fix(medusa): Cart service updateUnitPrices
2022-04-14 20:53:35 +02:00
Adrien de Peretti
6830a12b46 feat(medusa): Improve exported medusa API (#1335)
* feat(medusa): Improve exported medusa API
Avoid to always have to import from @medusajs/medusa/dist/*

* feat(medusa): The Model loaders should ignore the index file

* fix(medusa): swap model typo
2022-04-14 16:01:10 +02:00
Scuro Guardiano
d3104bf6ac Added compiling typescript files to develop command (#1307)
Issue1281
2022-04-14 10:09:40 +02:00
Adrien de Peretti
12c06b4c9d refactor(medusa): Cleanup and fix CartService (#1306)
* refactor(medusa): Cleanup + fix

* styles(medusa): Lint

* refactor(medusa): Finalize cleanup

* feat(medusa): Prefer the usage of bulk operations instead of sequential/conccurent operations

* feat(medusa): Improve cart service

* refactor(medusa): Explicitly specifying protected methods when needed as well as enfore the usage of the local transactionManager_ in those methods

* tests(medusa): Fix tests according to the new changes

* feat(medusa): Cleanup after rebase

* test(medusa): Fix cart service tests
2022-04-13 18:35:13 +02:00
Adrien de Peretti
3f19a3c4d5 refactor(medusa-interfaces): Migrate baseService to TS + improve the service it self (#1314)
* refactor(medusa-interfaces): Migrate baseService to TS + improve the service it self

* feat(medusa,medusa-interfaces): Cleanup and move base-service to medusa core

* medusa(medusa, medusa-interfaces): Improve typings

* medusa(medusa, medusa-interfaces): buildQuery make properties optionals

* feat(medusa-interfaces): Revert temporarly the medusa-interfaces while moving the base-service to the medusa core

* feat(medusa): Improve base-service typings

* feat(medusa): Remove template that is not necessary
2022-04-13 17:42:09 +02:00
Oliver Windall Juhl
edc6d9d29c fix: Remove region_id from countries on region deletes (#1330)
* Remove region id from countries on delete

* Update snapshots
2022-04-13 10:52:25 +02:00
Kasper Fabricius Kristensen
2a1b34c20f fixed typing of AdminPostPriceListsPriceListPriceListReq (#1332) 2022-04-13 10:50:05 +02:00
Kasper Fabricius Kristensen
8c420f4285 feat: Add BatchJob entity (#1324)
* added entity

* better typing

* make requested changes

* add migration
2022-04-13 08:16:38 +02:00
Oliver Windall Juhl
ecc5bdd362 Only use country if part of a region (#1183) 2022-04-12 16:42:53 +02:00
Zakaria El Asri
1cfeb5dbd8 feat: line item adjustments (#1319)
* add: crud services + model + totals

* fix: enforce unique constraint on line item adjustment model and update service (#1241)

* add: unique constraint on model + fix service

* fix: unique constraint

* fix: add cascade on delete + fix discount relation

* fix: remove optional unique prop

* add: tests for ensuring line item adjustment db constraints (#1279)

* add: tests for ensuring db constraints

* fix: use given when then

* feat: adjust cart to include line item adjustments (#1242)

* fix: cart service + cart tests

* fix: remaining tests

* fix: swap tests

* fix: add relationship + fix oas

* refactor: applyDiscount

* fix: refactor applyDiscount and fix + add unit tests

* fix: plugins tests

* feat: line item adjustments draft orders (#1243)

* fix: draft order tests

* fix: constraint

* fix: wrong variable name

* fix: unique constraint

* progress: add tests

* fix: add cascade on delete + fix discount relation

* fix: remove optional unique prop

* fix: cart removeLineItem + tests

* fix: cart unit tests

* fix: update snapshot

* remove: verbose option

* rename arg

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* add: create adjustments for swap additional_items

* add: create adjustments for return lines

* fix: unit test for creating adjustment for additional_items

* fix: create adjustments only for non return items + no deletion when item is a return item

* add: integration tests

* refactor: use refreshAdjustments method

* refactor test

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-04-12 15:49:31 +02:00
Sebastian Rindom
607a382b4e fix: ensures no duplicate tax lines when completing cart (#1262)
* fix: ensures that no duplicate tax lines are created when completing cart
2022-04-05 21:25:48 +02:00
Philip Korsholm
497e9b3f7d add discount exports (#1298) 2022-04-05 09:25:24 +02:00
Adrien de Peretti
5f9197a656 refactor(medusa): Loaders to TS (#1288)
* refactor(medusa): Loaders

* refactor(medusa): Improve MedusaContainer typings

* refactor(medusa): Improve MedusaContainer typings
2022-04-03 21:16:17 +02:00
Adrien de Peretti
ab2d81f786 fix(medusa): Lint and missing transaction usage (#1297) 2022-04-03 21:01:43 +02:00
Philip Korsholm
b164977a19 Feat: Medusa react price list (#1258)
* export everything from price lists in core

* medusa-js price list

* feat: add product list for price lists

* feat: add product list for price lists

* add price list to admin module

* add price list hooks initial

* refactor: product list controller

* fix: add integration test for price list products

* update types

* add tests for price lists

* update medusa react tests

* update update request for price lists

* Apply suggestions from code review

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>

* rename methods

* pr feedback

* list products from price list

* fix errors after merge

* update medusa react with medusa-js method name changes

* redo changes

* update hook names

* fix: routes in msw handler

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: Zakaria El Asri <zakaria.elas@gmail.com>
2022-04-03 20:48:49 +02:00
Sebastian Rindom
fb33dbaca3 feat: price list products (#1239)
* feat: add product list for price lists

* feat: add product list for price lists

* refactor: product list controller

* fix: add integration test for price list products

* fix: use getListConfig
2022-03-30 13:29:14 +02:00
Philip Korsholm
3083aaee81 Fix: Add Customer id in generate line item for customer specific pricing (#1245)
* initial

* add logged in item to cart gets correct price

* customer id or cart_id customer id

* move customer_id to a config

* update unit test

* run pipelines
2022-03-28 09:57:33 +02:00
Sebastian Rindom
e9f6b4761a Merge remote-tracking branch 'origin/master' into develop 2022-03-25 22:26:48 +01:00
Sebastian Rindom
e4af6b8f9c chore: fix integration tests (#1240)
* chore: fix integration tests

* chore: fix integration tests

* fix: store tests

* fix: store tests

* fix: cleanup
2022-03-25 15:08:54 +01:00
Shahed Nasser
585bdf357a Merge pull request #1246 from medusajs/docs/fix-contentful-link
Docs: fix link in contentful tutorial
2022-03-25 14:51:37 +02:00
Shahed Nasser
a18ae35ec2 fix link 2022-03-25 14:49:20 +02:00
Oliver Windall Juhl
a610805917 feat: Add DiscountConditions (#1230)
* feat: Add DiscountCondition entity + Join table per relation (#1146)

* feat: Convert DiscountService to TypeScript (#1149)

* feat: Add DiscountRepository + bulk insert and remove (#1156)

* feat: Add `conditions` to payload in `POST /discounts` and `POST /discounts/:id` (#1170)

* feat: Add DiscountRuleCondition entity

* fix relation

* fix join key

* Add discount rule condition repo

* add join table per relation

* Convert DiscountService to TypeScript

* feat: Add DiscountConditionRepository

* Add migration + remove use of valid_for

* revert changes to files, not done yet

* init work on create discount endpoint

* Add conditions to create discount endpoint

* Add conditions to update discount endpoint

* Add unique constraint to discount condition

* integration tests passing

* fix imports of models

* fix tests (excluding totals calculations)

* Fix commented code

* add unique constraint on discount condition

* Add generic way of generating retrieve configs

* Requested changes + ExactlyOne validator

* Remove isLocal flag from error handler

* Use postgres error constant

* remove commented code

* feat: Add `isValidForProduct` to check if Discount is valid for a given Product (#1172)

* feat: Add `canApplyForCustomer` to check if Discount is valid for customer groups (#1212)

* feat: Add `calculateDiscountForLineItem` (#1224)

* feat: Adds discount condition test factory (#1228)

* Remove use of valid_for

* Tests passing

* Remove valid_for form relations

* Add integration tests for applying discounts to cart
2022-03-24 16:47:50 +01:00
Shahed Nasser
ee0db7b4c3 Docs: update api reference (#1213)
* Updated API reference

* fixed error for requests with no response
2022-03-23 20:12:37 +01:00
0xflotus
9f03c51fbb fix: grammar (#1209) 2022-03-23 20:11:05 +01:00
Frane Polić
b7f699654b feat: customer group customers client endpoints (#1221)
* feat: add `listCustomers` (by group) to `medusa-js`

* feat: add `useAdminCustomerGroupCustomers` hook

* fix: remove log

* fix: import/export

* fix: change query keys

* wip: sublist query keys

* fix: revert query factory changes

* fix: add query as a param when building the "detail" key

* fix: revert keys logic, use special case

* fix: query path, change batch keys

* change admin customer groups cache key generation

* spread query params

Co-authored-by: fPolic <frane@medusajs.com>
2022-03-23 20:07:13 +01:00
Frane Polić
932f4b29a8 fix: list customers query error (#1226)
* fix: list customers generated query

* fix: consistency

Co-authored-by: fPolic <frane@medusajs.com>
2022-03-23 20:05:58 +01:00
Philip Korsholm
e2423020c0 Feat: use price selection strategy (#1165)
* init

* add query params

* added buld id validation to repo

* admin done

* updated price reqs

* initial price selection strategy

* update customer seeder

* format models

* price selection strategy

* price selection testing

* update price selection tests

* update price selection strategy

* remove console.warn

* update price seleciton strategy

* use price selection strategy in "get-product"

* price selection strategy integration testing

* update integration tests

* update price selection strat

* remove console.log

* fix unit tests

* update product snapshot integration tests

* fix failing unit tests

* update variant test snapshots

* update variant test snapshots

* fix failing unit tests

* update product snapshot integration tests

* intial implementation of PriceList

* add price selection strategy test to list-products

* add price selection to list products

* add price selection strategy to getRegionPrice

* add price selection strategy to get variant

* update product snapshot test

* store testing of price selection

* variant services

* update cart service

* update product tests

* update test

* unit testing with price selection strategy

* integration tests for price lists

* update sort prices for consistent results

* update snapshot

* update product snapshot with product ids

* this time pipelines work

* swap tests

* redo ordering

* updated admin/product integration tests

* update updateVariantPrices method

* remove comment from error handler

* add integration test for batch deleting prices associated with price list

* named ids

* run with verbose

* add console.log

* sort products in integration test

* remove verbose flag

* make update to prices through variant service limited to default prices

* update store/products.js snapshot

* update comment

* add todo

* lift existing price calculations to variant level

* remove unused import

* add api unit tests and update product integration tests to validate that prices from Price List are ignored

* fix product test

* update integration tests

* pre merge commit

* requested changes

* cascade

* ensure delete variant cascades to MoneyAmount

* fetch variants correctly

* use find options

* add pricelist to relevant seeders

* update integration tests

* update price selection with "includeDiscountPrices"

* use transaction with price selection strategy

* add await to prevent store test errors

* remove verbose

* addresses PR feedback

* removed unused endpoint

* remove unused repository from constructor

* remove from constructor argument

* update mock

* update unit tests

* fix failing store integration tests

* remove medusajs ressource

* re add env.template

* price selection strategy methods

* fix integration tests

* update unit tests

* remove commented out code

* update jsdoc

* update price selection strategy parameter

* update snapshots

* integration tests cleanup

* pr feedback

* update integration tests

* pr feedback

* price selection unit tests

* add calculated price type to results

* cleanup include discount prices and price selection configs

* refactor price selection params to a separate file

* update tests and refactor price selection seeder

* remove prices from variant update

* rename result

* pr feedback

* remove unused import

* create getRegionPriceContext

* remove from params in search

* remove unused import

Co-authored-by: Kasper <kasper@medusajs.com>
Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2022-03-23 17:17:19 +01:00
Sebastian Rindom
491b6eba2d fix: add tax service registration (#1225)
* fix: add tax service registration

* fix: cleanup
2022-03-23 11:10:41 +01:00
Oliver Windall Juhl
6603d3850a chore: Replace old Medusa domain with new (#1222) 2022-03-22 15:46:51 +01:00
Sebastian Rindom
fbe3b98761 fix: ensure customer identify calls before order track (#1227) 2022-03-22 15:43:15 +01:00
Philip Korsholm
dfa3502e41 Feat: Price selection implementation (#1158)
* init

* added buld id validation to repo

* admin done

* updated price reqs

* initial price selection strategy

* update customer seeder

* format models

* price selection strategy

* price selection testing

* update price selection tests

* update price selection strategy

* remove console.warn

* update price selection strat

* remove console.log

* fix unit tests

* update product snapshot integration tests

* fix failing unit tests

* update variant test snapshots

* intial implementation of PriceList

* integration tests for price lists

* updated admin/product integration tests

* update updateVariantPrices method

* remove comment from error handler

* add integration test for batch deleting prices associated with price list

* make update to prices through variant service limited to default prices

* update store/products.js snapshot

* add api unit tests and update product integration tests to validate that prices from Price List are ignored

* fix product test

* requested changes

* cascade

* ensure delete variant cascades to MoneyAmount

* addresses PR feedback

* removed unused endpoint

* update mock

* fix failing store integration tests

* remove medusajs ressource

* re add env.template

* price selection strategy methods

* fix integration tests

* update unit tests

* update jsdoc

* update price selection strategy parameter

* fix unit tests

* pr feedback

Co-authored-by: Kasper <kasper@medusajs.com>
Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2022-03-21 19:03:42 +01:00
Kasper Fabricius Kristensen
5300926db8 feat: Implement PriceList and extend MoneyAmount (#1152)
* init

* added buld id validation to repo

* admin done

* updated price reqs

* intial implementation of PriceList

* integration tests for price lists

* updated admin/product integration tests

* update updateVariantPrices method

* remove comment from error handler

* add integration test for batch deleting prices associated with price list

* make update to prices through variant service limited to default prices

* update store/products.js snapshot

* add api unit tests and update product integration tests to validate that prices from Price List are ignored

* fix product test

* requested changes

* cascade

* ensure delete variant cascades to MoneyAmount

* addresses PR feedback

* removed unused endpoint

* update mock

* fix failing store integration tests

* remove medusajs ressource

* re add env.template

* Update integration-tests/api/__tests__/admin/price-list.js

Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>

* Update integration-tests/api/__tests__/admin/price-list.js

Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>

* fix: update snapshots

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
2022-03-18 15:18:50 +01:00
Sebastian Rindom
23f8399c16 fix(gatsby-source-medusa): adds support for incremental sourcing of medusa data (#1217) 2022-03-18 15:00:36 +01:00
Shahed Nasser
52e9cf6519 Merge pull request #1211 from medusajs/docs/reference-logo
Docs: Change logo in API reference
2022-03-18 12:33:31 +02:00
Sebastian Rindom
3cd4108915 fix: adds date filters on store collection + region list api (#1216) 2022-03-18 11:02:40 +01:00
Sebastian Rindom
36bfdfe6e1 fix(medusa-plugin-contentful): add type and collection entity synchronisation (#1191)
* fix: adds optional type and collection entries on products

* fix: type upsert in product

* fix: type upsert in product

* Update packages/medusa-plugin-contentful/src/services/contentful.js

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

* Update packages/medusa-plugin-contentful/src/services/contentful.js

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

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-03-17 23:29:26 +01:00
Sebastian Rindom
e3655b53f7 fix: storefront product filtering (#1189)
* fix: allow multiple ids in list + expand, fields param

* fix: add filtering by title

* fix: adds integration test

* fix: adds integration test of product variant filtering

* fix: integration tests

* fix: unit tests

* fix: refactor query param parsing
2022-03-17 23:28:15 +01:00
Shahed Nasser
cad9cc7d0d Change logo 2022-03-17 10:45:44 +02:00
Kasper Fabricius Kristensen
4be991c156 fix: source-shopify tests (#1192) 2022-03-15 20:12:52 +01:00
Shahed Nasser
a18263cf61 Merge pull request #1100 from medusajs/docs/advanced-backend-endpoint-admin
docs: Add Endpoint for Admin
2022-03-15 13:02:28 +02:00
Shahed Nasser
9ff18d0c4d resolve conflict 2022-03-15 12:02:09 +02:00