Commit Graph
77 Commits
Author SHA1 Message Date
Frane PolićandGitHub 758f035c2f fix(admin-ui): delete customer group (#4893) 2023-08-28 19:05:31 +02:00
50798d1189 fix(admin-ui): currency input exception (#4888)
* fix: infer cell formatting

* chore: changeset

* Update friendly-months-attack.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-08-28 16:58:34 +02:00
Frane PolićandGitHub 0c7c2eeeab feat(admin-ui): refresh products when a BatchJob is completed (#4840) 2023-08-25 07:34:48 +00:00
Frane PolićandGitHub 8b860416d2 feat(medusa): PriceListImportStrategy descriptive errors (#4842) 2023-08-23 21:39:34 +02:00
Frane PolićandGitHub d8a6e3e0d8 feat(medusa-file-local): implement missing streaming methods (#4788) 2023-08-23 13:05:04 +02:00
Frane PolićandGitHub edf9ed4e59 fix(medusa-interfaces, medusa-file-*): flag for streaming to a private bucket (#4771)
* wip: unify file service api

* fix: flag type

* fix: update Spaces service

* fix: S3/Spaces - default to private

* fix: MinIO `isPrivate` for `getPresignedDownloadUrl`, add `isPrivate` to `GetUploadedFileType`

* chore: changeset
2023-08-22 13:05:30 +02:00
4a448b68fd feat(admin-ui): bulk advanced selections + copy/paste (#4568)
* wip: bulk editor copy/paste

* feat: exit edit mode with "enter" press

* wip: arrow navigation + onEnter

* wip: 2D select + arrow navigation

* feat: arrow navigation and multiselect, tabs navigation and multiselect

* fix: region cols offset

* feat: 2d copy

* feat: 2d paste

* fix: trailing tab

* fix: borders

* feat: ensure consistent copy order

* fix: off by one col, pass `cmd` keypress

* feat: `cmd` select

* refactor: cleanup 1

* refactor: cleanup 2, utils

* fix: copy paste

* fix: copy paste indicator

* fix: reduce dashed border size

* fix: issue with leading empty cell

* feat: cp support 2 formats of content, notification on copy, remove dashed box

* fix: last empty cell case

* feat: buffer content edge cases

* refactor: remove log

* feat: past fill selected area

* feat: simplify copy-paste

* fix: throw error if textual cell is in the buffer

* Create eighty-zebras-grow.md

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-08-14 21:37:12 +02:00
bfc0ea5695 feat(admin-ui): Bulk Editor (#4516)
* wip: initial commit

* wip: modal layout

* wip: regions

* refactor: restructure, drag to fill logic wip

* fix: currency input, optimise table rendering on input change

* fix: pass edited amount to local cell state

* wip: cell based algo

* wip: row based algo

* feat: convert prices to human format initially

* feat: column fill

* fix: decimal formating

* feat: currency symbol, tax incl. indicator, formatting dropdown, drag indicator positioning

* fix: load all currencies

* wip: highlighting range selection

* feat: more optimal highlighting algo

* fix: coordinate click handlers, selection reset

* fix: resetting pointers on close

* feat: prefill regional prices

* feat: keypress features, persisting price change between edits

* fix: undo feature, add saving waring

* feat: update prices

* feat: notifications and prompts

* feat: use only store currencies

* feat: tax. incl tooltip

* fix: decimal formatting

* fix: correct decimal formatting when multiedit

* feat: save prompt with hidden columns check

* chore: changesets

* fix: push icon

* fix: feedback changes v1

* fix: remove span placeholder

* fix: simplify and optimise selection algo

* fix: scroll z index

* fix: truncate region headers

* feat: calculate first col width

* fix: don't show delete notification

* fix: utils check conditions

* fix: typo

* feat: new selection behaviour

* refactor: currency cell

* refactor: save prompt

* chore: changesets

* chore: cleanup

* chore: Update changeset

* fix: don't calculate first col with but rather cut product title to the longest variant if needed

* feat: add loader on save

* fix: very last cell setting undefined on first render

* fix: show confirmation exit prompt on "x" click

* Update packages/admin-ui/ui/src/components/organisms/product-variants-section/edit-prices-modal/utils.ts

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

---------

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-07-19 15:38:04 +02:00
1bd2e7a5be fix(admin-ui): flickering Timeline (#4231)
* fix(admin-ui): prevent Timeline flickering while loading

* chore: changesets

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-06-07 10:58:30 +02:00
Frane PolićandGitHub db41995307 chore(utils): clean util package deps (#4146) 2023-05-26 13:20:12 +02:00
92f01cefbc fix(medusa): downgrade papaparse version (#4174)
* fix: downgrade `papaparse` version

* chore: changesets

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-05-25 20:26:58 +02:00
Frane PolićandGitHub a8e73942e6 feat(medusa): handle product categories in import/export strategies (#3842)
**What**
- add ProductCategories to import and export strategies
- refactor ProductCategoriesService methods to use "retrieve_" pattern

---

RESOLVES CORE-1275
2023-05-08 08:58:11 +00:00
Frane PolićandGitHub 0c58ead6d8 fix(medusa): Validate customer_id when completing a cart (#3967) 2023-05-07 13:12:06 +02:00
Frane PolićandGitHub 88a224e42a fix(admin): display correct items in the timeline after OE (#3895) 2023-04-23 13:28:15 +02:00
78ff64e783 fix(medusa): validate customer for group discount (#3797)
* fix: validate customer for group discount

* fix: remove logger

* fix: add generated desc

* fix: add an integration test case

* refactor: update error message

* fix: typo

* refactor: move condition

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-04-11 14:16:18 +02:00
08f85fa33b fix(medusa): export product prices in human-readable format (#3739)
* fix: export product prices in human-readable format

* feat: add changesets

* fix: update snaps

* fix: update more snaps

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-04-07 09:59:28 +02:00
6f48cc57bc fix(admin-ui): "cancel fulfillment" notification text (#3750)
* fix: "cancel fulfillment" notification text

* fix: add changesets

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-04-06 15:45:54 +02:00
c24c2a9732 fix(medusa-react): update customer hook payload type (#3752)
Co-authored-by: fPolic <frane@medusajs.com>
2023-04-06 15:42:55 +02:00
72b76bbd3c fix(admin-ui): display SC update notification (#3755)
Co-authored-by: fPolic <frane@medusajs.com>
2023-04-06 15:21:03 +02:00
91f0e01d0f fix(admin-ui): disallow creating OE if there is no changes (#3604)
* wip: fix modal

* refactor: revert log

---------

Co-authored-by: fPolic <frane@medusajs.com>
2023-03-28 14:56:07 +02:00
1ce3cc5ae4 feat(medusa): invalidate price selection caching within update request (#3553)
* feat: invalidate price selection caching on update

* feat: add `onVariantsPricesUpdate` to PriceSelectionStrategy

* fix: update units

* fix: import

* Create .changeset/tame-pillows-heal.md

* fix: address feedback

* refactor: make `onVariantsPricesUpdate` optional

---------

Co-authored-by: fPolic <frane@medusajs.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-28 11:18:13 +02:00
Frane PolićandGitHub bd199d7f44 fix(admin): OrderEdit display of difference due with refund (#3487)
**What**
- fix `difference_due` in the OE modal to show the correct difference a user has to pay 
- fix Timeline crashing due to returned line item being `undefined `(deleted after OE confirmation)

**Why**
We were taking into account `refunded_amount` when calculating "Difference Due"  and used the following formula: 
`orderEdit.total - paidTotal + refundedTotal`.
The issue here is that  `orderEdit.total` is "overpriced" for the amount of items that are returned/refunded already (i.e. we are charging the user again for the returned items).

The straightforward solution would be to subtract `refunded_total` from the `orderEdit.total` to get the total cost of items the user is actually getting after the edit.

`difference_due = (orderEdit.total - refundedTotal) - (paidTotal - refundedTotal ) =  orderEdit.total - paidTotal`

But if we have partially refunded returns, we would have the same problem of returned items priced into the total.
In that case, general solution should be something like:
`diff_due_display = orderEdit_total_of_items_user_is_getting - paid_total + refunded_total`

Would like to hear what you guys think!

---

FIXES CORE-1246
2023-03-24 16:59:15 +00:00
f831b7db37 fix(admin-ui): show failure reason for batch jobs (#3526)
* fix: display error messages for batch jobs

* feat: add changesets

* feat: tooltip size, load more jobs

---------

Co-authored-by: fPolic <frane@medusajs.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-21 16:13:39 +01:00
a3a7ace0c0 fix(admin): draft order shipping details (#3500)
* wip: fix draft order shipping details screen

* fix: reset address, refactor and cleanup

* fix: use const

* Create .changeset/violet-sloths-train.md

* fix: required fields, reset province

---------

Co-authored-by: fPolic <frane@medusajs.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-03-19 14:31:03 +01:00
Frane PolićandGitHub f97b3d7cce feat(medusa): Cache modules (#3187) 2023-03-10 15:09:26 +01:00
Frane PolićandGitHub 6c04624727 chore(medusa): remove PublishableAPIKeys feature flag (#3087) 2023-02-20 21:16:08 +01:00
Frane PolićandGitHub 61b0b2f3aa fix(medusa): Pass query transformer config in storefront controllers (#3219) 2023-02-09 17:52:04 +01:00
Frane PolićandGitHub 5b63533c77 feat(medusa): Preserve custom adjustments when refreshing adjustments (#3085) 2023-02-06 19:22:05 +01:00
Frane PolićandGitHub 4d6e63d68f feat(medusa): Decorate OrderEdit LineItems with totals (#3108) 2023-02-06 17:32:26 +01:00
Frane PolićandGitHub e22a383f47 fix(medusa): fields params usage in the storefront endpoints (#2980) 2023-02-06 16:18:23 +01:00
ea460b4e0b feat(medusa): add q param to PKs sales channels retrieval (#2810)
**What**
- enable to filter sales channels of a Publishable API Key with a free text search param

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-12-15 19:12:44 +00:00
Frane PolićandGitHub 2d22b17b49 feat(medusa): Allow all relations on /admin/* endpoints (#2763) 2022-12-15 09:07:07 +01:00
Frane PolićandGitHub 3464617553 fix(medusa): Payment status on refunds (#2770) 2022-12-12 19:04:36 +01:00
Frane PolićandGitHub 3b2c929408 feat(medusa-js, medusa-react): PublishableKeys SC management (#2734) 2022-12-07 12:16:48 +01:00
Frane PolićandGitHub 322d462311 feat(medusa): PublishableApiKeys SC scopes (#2590)
**What**
-  add/ remove sales channels to/from PublishableApiKey in batch
- associate created cart with SC defined by PK
- filter products if PK with SC association is present
- retrieve a list of sales channels for a PK
- implement 3 new middleware
  - `extendRequestParams`
    -  _extend req object with PK scopes (a list of sales channels) if a publishable key is present in the header of the request_
  - `validateProductSalesChannelAssociation`
    -  _validate if the passed product id belongs to a SC from the PK's scope_
  - `validateSalesChannelParam`
    -  _validate that passed SC ids in the req body/query are within the scope of the PK_

**How**
- The general idea was to reuse existing logic in the controller layer which expects `sales_channel_id` array to be passed. The middleware sets associated SC ids in the request context if a PK is present. These ids are then merged in the controller and passed to the service layer.

**TODO**
- filter response from the search endpoint (CORE-824)

**Testing**
- _integration tests_
  - add sales channels to the publishable API key scope
  - remove sales channels from the publishable API key scope
  - returns products from a specific channel associated with a publishable key
  - returns products from multiples sales channels associated with a publishable key
  - returns all products if PK is not passed
  - returns all products if passed PK doesn't have associated channels
  - should assign sales channel to order on cart completion if PK is present in the header
  - list sales channels from the publishable api key
  -  throws because sales channel in query/body is not in the scope of passed PK 

---

**Discussion**
- what about the other endpoints (e.g. GET /store/product/:id - do we return 404 if the product is not in the SC associated with passed PK)
- what about products search route
- what about `/admin/products` & `/admin/orders` routes (do we add the middleware there as well)

---

RESOLVES CORE-792
RESOLVES CORE-793
RESOLVES CORE-816
2022-12-07 07:50:20 +00:00
Frane PolićandGitHub 9eafde07fe feat(medusa-js): Register PublishableApiKey (#2616)
**What**
- register a publishable API key through `medusa-js` i.e. define the key that will be sent with each request

**How**
- introduce KeyManager class which is used to share keys between medusa-js objects.

**Usage**
1. Set the key through the `Medusa` config
2. Set the key through `KeyManager` dynamically:
```ts
import { KeyManager } from "medusa-js"

KeyManager.registerPublishableApiKey("pk_123")
```

---

RESOLVES CORE-794
2022-11-17 12:19:18 +00:00
Frane PolićandGitHub 03fc9e18e9 feat(medusa, medusa-js, medusa-react): PublishableApiKey "update" endpoint & add "title" property (#2609)
**What**
- update PK endpoint
  - medusa-js/react implementation
- add a title property to the entity
  - update the migration file
  - pass a title on create
  - list PKs by title
  - update the client libs with new param signatures
- change id prefix to: "pk_"
2022-11-16 04:35:22 +00:00
Frane PolićandGitHub 3de553c27f feat(medusa-js, medusa-react): PublishableApiKeys clients (#2582)
**What**
- add `PublishableApiKeys` endpoints to the `medusa-js` and `medusa-react` clients

--- 

RESOLVES CORE-791
DEPENDS ON https://github.com/medusajs/medusa/pull/2567
2022-11-15 15:41:58 +00:00
Frane PolićandGitHub d0809bdf25 feat(medusa): PublishableApiKeys CRUD (#2567) 2022-11-14 19:30:24 +01:00
Frane PolićandGitHub aa8eba38e9 feat(medusa): PublishableAPI keys model (#2543) 2022-11-10 10:14:06 +01:00
Frane PolićandGitHub 591668d332 fix(medusa): draft order set payment as captured (#2479)
**What**
- when an order is created from a draft order, set the payment of the order as captured

FIXES CORE-592
2022-10-31 12:24:59 +00:00
Frane PolićandGitHub 73db8cfca6 feat: list OE by order id (#2457)
**What**
- allow passing `order_id` param to OE list endpoint
2022-10-17 15:34:20 +00:00
05f921711f fix(medusa): Product import - allow null product type (#2424)
**What**
- allow the product type field to be null

**How**
- in case the type is `null`, pass `undefined` as the value of type prop to product create/update services, otherwise pass an object with `{value}` which will be upserted

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-10-12 12:43:41 +00:00
Frane PolićandGitHub 69ef713854 fix(medusa): remove changes when deleting order edits (#2420)
**What**
- when deleting an OE cloned items are deleted, this would fail if there were changes associated with the OE since line items were referenced from the item changes and couldn't be deleted

**How**
- when deleting an order edit also remove it's item changes

Fixes CORE-689
2022-10-12 08:04:29 +00:00
Frane PolićandGitHub 308b99cc5d fix(medusa-react): OrderEdit add item hook renaming (#2392) 2022-10-11 12:28:24 +02:00
Frane PolićandGitHub 5f2bc975cb fix(medusa): Allow edits relation on order retrieval (#2384) 2022-10-07 15:45:28 +02:00
Frane PolićandGitHub 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
Frane PolićandGitHub de85a971c6 fix: infer MA currency on PL create (#2232)
**What**
- a MoneyAmount record can be created with either providing region or currency. MA records cannot be inserted in the DB without currency due to not null constraints therefore the currency needs to be inferred from provided region

**How**
- by using the same utility that fixes this issue on PL update

**Testing**
- extend the "create PL" integration test to handle a MA with a region

---

FIXES CORE-525
2022-09-19 18:30:31 +00:00
Frane PolićandGitHub e1fe5ed094 feat(medusa): Update OrderEdit (#2220) 2022-09-19 13:29:12 +02:00
Frane PolićandGitHub 992ef733f4 fix(medusa): Check for Sales Channel on product import (#2202) 2022-09-14 09:53:23 +02:00
Frane PolićandGitHub f2eb942b41 feat: order editing data model (#2184)
**What**
- add order editing entities
- add repositories
- add a feature flag for the order editing feature
- add the migrations file

RESOLVES CORE-490
2022-09-13 16:40:21 +00:00
ee8fe3a88b fix(medusa-file-spaces): return fileKey for Spaces upload (#2171)
**What**
- return `fileKey` in the response after the file is uploaded to Spaces

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-09-09 10:55:43 +00:00
ba6416f095 feat(medusa): Convert SwapService to TypeScript (#2000)
**What**
- refactor swap service to typescript
- reimplement legacy methods
- use enums instead of magic strings

RESOLVES CORE-396

Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2022-09-05 13:37:47 +00:00
Frane PolićandGitHub 546a963f7b feat: import strategy - sales channels support (#2124)
**What**
- add support for specifying sales channel with import strategy
- additional:
  - refactor SC service to use `retrieve_` pattern
  - fix: pass arguments from `startServerWithEnvironment` to setup server
  - fix: minio undefined resolve/reject calls
  - fix: csv parser - detect missing columns from schema only if the column is required

**How**
- extending schema to expect sales channels columns in an import CSV file

RESOLVES CORE-304
2022-09-02 11:28:43 +00:00
03221c4a19 feat: product import strategy (#1706)
* init: copy PI files

* feat: add subscribers, refactor strategies folder

* wip: strategies integration tests package

* fix: rename

* wip: use redis

* wip: use redis deps, redis setup in local tests

* fix: naming collision, medusa config

* fix: typing, update apply changes for new event ordering and reimplement interface

* feat: make redis container run in integration tests

* fix: missing yarn lock

* feat: redis setup v2

* fix: setup server imports

* fix: a lot of integration issues

* fix: a lot of integration issues v2, transform tags, fix `ops` object parsing

* wip: parsing product options

* feat: creating product and variants works, processing product/variant options, update schema

* fix: query keys, logic for finding existing variant

* fix: types

* feat: update product variant's options

* feat: parse MA records

* feat: creating/updating MA records, region detection, error handling

* feat: throw an error when creating an MA for nonexistent region

* refactor: remove unused methods

* refactor: use provided ids to track records, extract a couple of methods

* refactor: remove unused method

* refactor/wip: add initial comment for main methods

* refactor: replace usage of RedisJSON functionality with basic k/v api

* feat: async progress report

* types: define more precise types, cleanup

* feat: error handling

* feat: unit testing preprocessing

* feat: integration testing for CI, fix legacy bug where user is unable to create a variant if regional price is also sent as payload, add csv for integration tests

* fix: error throw for logs

* feat: add product endpoint snap

* refactor: remove log

* feat: add snaps, rebase

* refactor: add comments

* feat: snap update

* refactor: typo

* refactor: change error handler

* feat: Redis cleanup after the job is done

* testing :fix product unit test, remove integration snap, add inline object matcher

* testing: fix obsolete snaps

* refactor: update comments

* fix: rebase issue

* fix: rebase issue v2, remove log form an integration test

* fix: try reverting setup server

* fix: insert variants test

* refactor: don't pass tx manager, refactor methods

* refactor: don't use regionRepo, add `retrieveByName` to region repo

* refactor: don't use productRepo

* refactor: don't use `productVariantRepo`

* refactor: remove repo mocks from unit tests

* fix: product import unit tests

* feat: file cleanup on finalize, kill test logs

* wip: use files to persist ops instead of redis, move strategy class into `batch-job` folder

* fix: minio delete method, add file cleanup method to import, fix promise coordination

* fix: replace redis methods

* feat: store import ops as a file instead of Redis

* feat: test cleanup

* fix: change unit tests after Redis logic removal

* feat: use `results` for progress reporting, add `stat_descriptors` info after preprocessing, remove redis mentions

* feat: extract to other files, use directory from property, fix strategy loader to allow other files in `strategies` directory

* feat: fix instance progress counter

* fix: mock services types

* fix: update snaps

* fix: error handling stream, fix test file service name generation

* fix: remove dir with tmp files after testing

* fix: new yarn.lock after rebase

* fix: remove log, change object shape

* fix: add DI types

* refactor: remove container as a csv parser dep

* fix: remove seeder, change typings

* refactor: reimplement `retrieveByName` in the region service

* fix: unit tests typings

* fix: remove ts-ignore, complete typings for csv parser validators

* fix: don't keep track of progress since it is redundant and only keep track of `advancement_count`

* fix: return of the batch job seeder

* fix: update find region by name method

* fix: update types for service typings

* fix: update redis type usage

* fix: update unit tests file

* fix: unit tests

* fix: remove redis from integration test

* feat: refactor region retrieval by name

* feat: refactor product option update

* fix: remove repo import

* fix: return redis in test

* fix: handle stream error

* fix: tmp data cleanup

Co-authored-by: fPolic <frane@medusajs.com>
2022-08-25 22:16:51 +02:00
Frane PolićandGitHub bda83a84bc feat(medusa): Convert RegionService to TypeScript (#1914) 2022-08-22 19:59:02 +02:00
Frane PolićandGitHub 97c48a5ab9 feat: invalidate product list hooks (#1931)
**What**
- invalidate cache on prodcut list hooks when a product is added/removed to/from a sales channel
2022-07-28 14:01:35 +00:00
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
Frane PolićandGitHub 0d1624cf6a feat(medusa, medusa-js, medusa-react): Implement Sales Channel creation (#1795) 2022-07-06 22:18:05 +02:00
f9c3218aac feat(medusa): Sales Channels model (#1782)
**What**
- added `SalesChannel` entity
- added `SalesChannel` repository
- added `SalesChannel` relations to the order, cart and store entities
- added a migrations file

**How**
- introduced entities and relations under a new feature flag "sales-channels"

Fixes CORE-271

Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
2022-07-05 07:31:11 +00:00
Frane PolićandGitHub 79345d27ec fix(medusa-react): Invalidate price list product cache on various price list updates (#1503) 2022-05-16 11:28:28 +02:00
Frane PolićandGitHub 03c5617896 fix(medusa): allow price list prices update when region_id is provided (#1472) 2022-05-11 07:43:19 +02:00
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
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
218b20b26d fix: CustomerGroups missing features in the clients (#1159)
* feat: support for query params in customer groups retrieve method

* feat: add `useAdminDeleteCustomerGroup`hook

* fix: formatting

* fix: pass `query` object in `useAdminCustomerGroup` hook

Co-authored-by: fPolic <frane@medusajs.com>
2022-03-10 13:10:18 +01:00
daf49bcaf3 feat: customer groups react hooks (#1153)
* fix: msw handlers for medusa-react storybook

* feat: add customer groups query hooks

* feat: add create/update customer groups hooks

* feat: add customer group batch  hooks

* feat: add test files, fix import

* add customer groups fixture

* add customer gorup mock endpoints

* add test cases

* add hook comments

* fix: typos

* fix: comments refactor

* fix: comment

Co-authored-by: fPolic <frane@medusajs.com>
2022-03-07 12:52:48 +01:00
93426bfc02 feat: customer groups client endpoints (#1147)
* feat: WIP add customer group endpoints, fix generated type exports from api

* fix: export api types, add `list`method

* fix: export customer groups types from the `medusa-js` package

* fix: cleanup type exports from customer groups api

* feat: add customer group batch methods

* fix: refactor comments

* fix: address PR comments

Co-authored-by: fPolic <frane@medusajs.com>
2022-03-03 03:52:40 +01:00
Frane PolićandGitHub a514d84ccf feat: list customer groups (#1099) 2022-03-02 11:38:44 +01:00
Frane Polićandolivermrbl d80eaa172d feat: customer group update (#1098) 2022-02-25 18:53:49 +01:00
378c11dcf8 Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group.ts
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-25 18:53:49 +01:00
00a0f51d8c Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group.ts
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-25 18:53:49 +01:00
73359a632b feat: update customer groups (#1075)
* update customer service prep

* expand on the update customer groups test case

* add the test case for customer group update

* docs for `groups` prop on update customer endpoint

* refactor, update comments

* expend on integration tests, add customer mock with a group

* refactor to use `customerGroupService.list` method

* update units

* remove `updateCustomerGroups`

* fix rebase conflict

* fix customer seed data, add JoinTable on groups

* group retrieval using the expand param

* fix: use `buildQuery_`

* fix: validation for `groups`, enable `expand`param on update customer endpoint

* fix: remove fileds form the `FilterableCustomerGroupProps`

* fix: spearate body/query validation

Co-authored-by: fPolic <frane@medusajs.com>
2022-02-25 18:53:49 +01:00
Frane PolićandGitHub 694e2df20f feat: customer group update (#1098) 2022-02-24 18:03:20 +01:00
Frane PolićandGitHub 1909d20e48 Merge pull request #1073 from medusajs/feat/get-customer-group
feat: get customer group
2022-02-22 09:37:07 +01:00
0409a1ded3 Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group.ts
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-22 09:18:26 +01:00
7e1c372c71 Update packages/medusa/src/api/routes/admin/customer-groups/get-customer-group.ts
Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
2022-02-21 20:41:40 +01:00
75fb2ce9c3 feat: update customer groups (#1075)
* update customer service prep

* expand on the update customer groups test case

* add the test case for customer group update

* docs for `groups` prop on update customer endpoint

* refactor, update comments

* expend on integration tests, add customer mock with a group

* refactor to use `customerGroupService.list` method

* update units

* remove `updateCustomerGroups`

* fix rebase conflict

* fix customer seed data, add JoinTable on groups

* group retrieval using the expand param

* fix: use `buildQuery_`

* fix: validation for `groups`, enable `expand`param on update customer endpoint

* fix: remove fileds form the `FilterableCustomerGroupProps`

* fix: spearate body/query validation

Co-authored-by: fPolic <frane@medusajs.com>
2022-02-21 16:24:38 +01:00