Commit Graph
100 Commits
Author SHA1 Message Date
Stevche Radevski a62a8be016 chore: Move price list tests to HTTP folder (#7632)
* chore: Move price list tests to HTTP folder

* chore: Remove several unused helpers
2024-06-06 17:17:41 +02:00
Stevche Radevski 78768574af chore: Remove generated client types folder (#7633)
* chore: Remove generated client types folder

* chore: Remove typescript-codegen package and client commands for oas
2024-06-06 16:14:35 +02:00
Stevche Radevski d2e1e9f8c7 fix: Apply strict schema for all body and query parameters (#7624) 2024-06-05 15:40:54 +00:00
Stevche Radevski a39b542759 chore: Move fulfillment set tests to http folder (#7618) 2024-06-05 17:35:04 +02:00
Stevche Radevski 37b794b89d chore: Move upload tests to HTTP layer (#7610) 2024-06-05 12:24:33 +00:00
Stevche Radevski b2f2c366ec chore: Move stock location tests to HTTP folder (#7615) 2024-06-05 10:37:14 +00:00
Stevche Radevski 1e3c8747e5 chore: Move inventory tests to HTTP layer (#7613) 2024-06-05 09:36:58 +00:00
Stevche Radevski fafc92b875 Revamp auth module to support multiple providers linked to a single auth identity (#7521) 2024-06-05 07:47:16 +00:00
Stevche Radevski e44fe78b96 fix: Several fixes to store product endpoints, moved several test suites to HTTP (#7601)
* chore: Move publishable api key tests to HTTP

* chore: Move store tests to HTTP folder

* fix: Add tests for store products, fix several bugs around publishable keys
2024-06-04 21:00:07 +02:00
Stevche Radevski 0929c4f457 Feat: Add product tag endpoints, move tests to HTTP folder (#7591)
* chore: Move product type tests to HTTP folder

* feat: Add product tags endpoints and move tests to HTTP folder
2024-06-04 10:56:22 +02:00
Stevche Radevski fdd9022376 chore: Move payment tests to http folder (#7588) 2024-06-03 15:04:18 +00:00
Stevche Radevski eb9b77a4d7 chore: Temporarily disable variant ordering test (#7578) 2024-06-03 12:26:39 +02:00
Stevche Radevski 100154d905 chore: Move currency, collection, and auth tests to http folder (#7581)
* chore: Move auth tests to http folder

* chore: Migrate collection tests to http folder

* chore: Move currency tests to http folder
2024-06-03 12:13:22 +02:00
Stevche Radevski 3ede9d7863 fix: Use integer for variant and category ranks (#7572) 2024-06-01 16:25:04 +02:00
Stevche Radevski 97327670a5 feat: Add support for uploading media when creating a product (#7567) 2024-05-31 15:34:16 +00:00
Stevche Radevski 294ec36cc3 Move few test suites from api to http folder (#7558)
* chore: Move api key tests to http folder

* chore: Move some of the product category tests to http

* chore: Move collection tests to http

* chore: Remove unused database test
2024-05-31 16:12:04 +02:00
Stevche Radevski cec9af1b80 feat: Add support for uploading media in admin (#7564) 2024-05-31 13:11:34 +02:00
Stevche Radevski 4117beed58 chore: Refactor batch product workflows and add tests (#7540) 2024-05-30 15:53:03 +02:00
Stevche Radevski eeb8225b5e chore: Remove redundant product tests, add missing to http layer (#7543) 2024-05-30 11:26:50 +00:00
Stevche Radevski 6698f3ab7b feat: Add http integration tests and enable them in pipeline (#7532) 2024-05-30 10:51:31 +02:00
Stevche Radevski 5ad6864b82 feat: Improve zod error messages (#7535) 2024-05-30 09:52:47 +02:00
Stevche Radevski 89b0876abc fix: Build auth-google as commonjs module (#7528) 2024-05-29 17:17:25 +02:00
Stevche Radevski aeda24265d feat: Remove returning token from customer and user endpoints (#7523)
* chore: Move generateJwtToken to utils

* feat: Stop returning token on user and customer endpoints
2024-05-29 17:13:01 +02:00
Stevche Radevski 8e66e10995 fix: Use correct config for auth methods per actor (#7515) 2024-05-29 10:42:53 +02:00
Stevche Radevski af7a885b5b fix: Ensure sales channel updates don't remove sales channel on other products (#7510)
* fix: Make all product tests pass

* fix: Ensure product update doesnt remove sales channels on other products
2024-05-28 18:24:27 +02:00
Stevche Radevski e60b4bafe1 feat: Add google authentication package, cleanup old code (#7496) 2024-05-28 14:25:40 +02:00
Stevche Radevski fb16ef485c fix: Use the correct header for publishable key (#7492) 2024-05-28 08:32:42 +00:00
Stevche Radevski 10ef32c5a3 feat: Apply authentication middleware globally (#7396)
* feat: Apply auth middleware globally

* feat: Remove local auth middleware where it makes sense
2024-05-27 15:24:53 +02:00
Stevche Radevski 28a3f9a3df feat: Add list cart option typings, make region optional on update cart (#7455) 2024-05-27 09:37:10 +02:00
Stevche Radevski 8acba7aba6 feat: Add customer address methods to sdk (#7445) 2024-05-24 19:01:11 +02:00
Stevche Radevski 296473d994 feat: Update customer related typings and sdk methods (#7440) 2024-05-24 13:25:10 +02:00
Stevche Radevski 135772b27b feat: Revert to using app_metadata for authentication (#7433) 2024-05-23 22:01:41 +02:00
Stevche Radevski 8a070d5d85 Revamp the authentication setup (#7419)
* feat: Add email pass authentication provider package

* feat: Revamp auth module and remove concept of scope

* feat: Revamp the auth module to be more standardized in how providers are loaded

* feat: Switch from scope to actor type for authentication

* feat: Add support for per-actor auth methods

* feat: Add emailpass auth provider by default

* fix: Add back app_metadata in auth module
2024-05-23 20:56:40 +02:00
Stevche Radevski 5ede560f70 feat(auth): Revamp authentication setup (#7387)
* chore: Clean up authentication middlewares

* chore: Rename AuthUser to AuthIdentity

* feat: Define link between user, customer, and auth identity

* feat: Use links for auth, update auth context content

* fix: Adjust user create command with new auth setup

* fix: Make auth login more dynamic, review fixes

* fix: Change test assertions for created by
2024-05-22 10:27:32 +02:00
Stevche Radevski 35dc3c5cf7 fix: Minor HTTP typing fixes (#7380) 2024-05-21 12:16:08 +02:00
Stevche Radevski e72174c4ff fix: Minor updates to the http typings (#7378) 2024-05-21 10:19:35 +02:00
Stevche Radevski 2371626198 feat(sdk): Type all store endpoints in the SDK (#7375)
The typings will need further refinement, but we can do that once closer to a public release
2024-05-20 19:41:58 +00:00
Stevche Radevski 025536e2a5 feat(sdk): Replace region calls with the SDK in admin, apply typings … (#7371) 2024-05-20 14:47:31 +00:00
Stevche Radevski 028f63eb63 feat: Add missing typings for the http layer and cleanup some (#7260) 2024-05-20 09:27:21 +02:00
Stevche Radevski 05e42bc6fc feat: Add back the subscribers API and load v2 subscribers (#7358) 2024-05-17 15:37:56 +00:00
Stevche Radevski 00a37cede1 feat: Add support for authentication to the sdk, and plug it in the admin (#7349)
* feat: Add support for authentication to the sdk, and plug it in the admin

* fix: await fetch before returning in sdk
2024-05-17 14:37:38 +02:00
Stevche Radevski 07e5c17f86 chore: Remove medusa interfaces package (#7347) 2024-05-16 15:06:21 +02:00
Stevche Radevskiandadrien2p ee924b1b28 feat: Add a simple configurable notifications subscriber (#7331)
* feat: Add a simple configurable notifications subscriber that is configurable

* Proposal on awaiting all subscribers to run

* fix: Clean up wait subscribers util and notifications test

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
2024-05-16 13:36:09 +02:00
Stevche Radevski 845eda4643 feat: Create the Medusa API SDK as js-sdk package (#7276) 2024-05-16 12:30:32 +02:00
Stevche Radevski 5c14d283d0 chore: More cleanup of medusa package (#7332) 2024-05-15 09:42:06 +02:00
Stevche Radevski d680c7ee4c Remove v1-related code from medusa app (#7326)
* chore: Remove unused validations and utilities

* chore: Remove all resources that are not being loaded

* chore: Remove unused dependencies, typeorm related code and fix tests

* chore: Use createAdminUser in all module tests
2024-05-14 13:21:30 +02:00
Stevche Radevski bf83d1cfe6 fix: Remove medusa v2 flag from the medusa app package (#7295) 2024-05-14 09:23:39 +02:00
Stevche Radevski 79758c46b6 feat: Add support for sendgrid and logger notification providers (#7290)
* feat: Add support for sendgrid and logger notification providers

* fix: changes based on PR review
2024-05-11 17:40:03 +02:00
Stevche Radevski 144e09e852 feat: Add the basic implementation of notification module (#7282)
* feat: Add the basic implementation of notification module

* fix: Minor fixes and introduction of idempotency key

* fix: Changes based on PR review
2024-05-10 11:22:03 +02:00
Stevche Radevski 0f60d1fe96 feat: Add order endpoints for store (#7266) 2024-05-07 19:34:44 +02:00
Stevche Radevski 4e12168dbd feat: Consolidate payment functions and handle sessions for storefront (#7231) 2024-05-06 13:14:40 +00:00
Stevche Radevski 6487931f54 fix: Add shipping options for cart fix (#7205) 2024-05-02 10:33:58 +00:00
Stevche Radevski 8387d03370 fix: Correctly fetch cart when updating a line item (#7196) 2024-05-01 14:55:20 +00:00
Stevche Radevski d930d88369 fix: Ensure passed Id filters get applied on top of maybe link filter (#7182) 2024-05-01 11:25:24 +02:00
Stevche Radevski ec37576dd0 feat: Add collection and category endpoints to store (#7155)
* feat: Add collection endpoints to store

* feat: Add category store endpoints
2024-05-01 09:54:51 +02:00
Stevche Radevski 32c2a9d76b feat: Add missing endpoints and normalize customer and currency endpoints for storefront (#7160) 2024-04-29 16:15:05 +02:00
Stevche Radevski aef222278b fix: Corrections to the store region endpoint for v2 (#7152) 2024-04-26 08:36:37 +00:00
Stevche Radevski f03a822253 feat: Add support for search to all endpoints (#7149)
* feat: Add search capability to api keys

* feat: Add support for searching to currency and customer endpoints

* fix: Clean up product search filters

* feat: Add search support to regions

* feat: Add search support to sales channels

* feat: Add search support to store module

* feat: Add search support to user module

* fix: Clean up inventory search

* feat: Add search support for payments

* fix: Add searchable attributes to stock location models

* feat: Add search support to tax

* feat: Add search support to promotions

* feat: Add search support for pricing, filtering cleanup

* fix: Further cleanups around search
2024-04-25 17:36:59 +02:00
Stevche Radevski f341265f42 feat: Add s3-compatible plugin for the file module (#7143) 2024-04-25 09:06:47 +02:00
Stevche Radevski 614d659a59 feat: Add local file provider and wire everything up in the file module (#7134) 2024-04-24 10:59:58 +02:00
Stevche Radevski 9e3556686b fix: Standardize remaining batch methods and update FE calls (#7122) 2024-04-23 09:12:38 +00:00
Stevche Radevski 0df523594f feat: Convert several batch methods to the standardized format (#7116) 2024-04-22 16:35:10 +02:00
Stevche Radevski 89143e1032 feat: Add batch method to collection and clean up some batch implementations (#7102) 2024-04-22 08:36:22 +00:00
Stevche Radevski 9bd2d30595 Chore/finish migration zod (#7098)
* chore: Finish migrating all http endpoints to zod

* chore: Final changes to fully migrate to zod in the HTTP layer
2024-04-19 09:36:44 +02:00
Stevche Radevski be00a2eb51 chore: Move most of the remaining endpoints to zod (#7096) 2024-04-18 14:12:13 +02:00
Stevche Radevski ccb50bb3da fix: Switch to zod for customer endpoints, fix inconsistencies (#7094) 2024-04-18 10:30:45 +02:00
Stevche Radevski 44829f296a chore: Move several more endpoints to use zod for validation, unify APIs (#7086) 2024-04-18 06:51:43 +00:00
Stevche Radevski 08dc861dc1 fix: Support bigNumber in upsertWithReplace (#7084) 2024-04-17 17:07:20 +02:00
Stevche Radevski a7df6235f9 chore: Move several modules to use zod for validation and cleanup routes (#7079) 2024-04-16 18:06:56 +02:00
Stevche Radevski 92b633d1cb fix: Switch some modules to using zod for validation, and fix some bugs (#7074) 2024-04-16 07:44:53 +00:00
Stevche Radevski fd83e75e4b feat: Add support for batch method for products and product variants (#7038)
* feat(products): Add batch methods for product and variants

* chore: Rename batch validator and minor changes based on PR review
2024-04-15 16:48:29 +02:00
Stevche Radevski 47a175ce94 feat: Add support for price setting and updates for products (#7037)
We still need to add a `batch` method for variants, but I'll do that in a separate PR
2024-04-11 17:21:58 +00:00
Stevche Radevski fbc2959b37 feat: Add support for loading file providers to file module (#7016) 2024-04-09 10:03:56 +02:00
Stevche Radevski db2f0ef53f feat: Make tags unique, clean up searchability of product entities (#7014) 2024-04-08 17:55:40 +02:00
Stevche Radevski fa5c9bbe8f feat: Improve how options are defined and handled for product (#7007)
* feat: Improve how options are defined and handled for product

* fix: Updating option values supports passing without id
2024-04-08 15:29:41 +02:00
Stevche Radevski 2a0e010f73 feat: Add variant creation and editing in the products UI (#6997) 2024-04-08 09:32:12 +02:00
Stevche Radevski f65fbff535 feat: Improvements to the products details page in the admin (#6994) 2024-04-07 17:52:47 +02:00
Stevche Radevski 7302d078a9 feat: Add decimal digits and rounding info to currencies (#6991) 2024-04-07 16:34:22 +02:00
Stevche Radevski 4d6306f57b feat: Revamp product details page and several product fixes and cleanups (#6988) 2024-04-07 15:29:37 +02:00
Stevche Radevski 44bcde92c8 feat: Add support for setting sales channel when creating a product (#6986) 2024-04-07 13:45:47 +02:00
Stevche Radevski e8587e9f95 feat: Add support for defining options when creating product (#6981) 2024-04-06 18:58:53 +02:00
Stevche Radevski 883a75c4f3 feat: Switch to zod for the product API and implement missing primitives (#6978) 2024-04-06 13:45:52 +00:00
Stevche Radevski 07fb058d96 feat: Add product routes and components to v2 in admin-next (#6958) 2024-04-06 11:59:52 +02:00
Stevche Radevski a0005faa14 fix: upsertWithReplace should delete non-persist relationship fields … (#6960)
…before upsert
2024-04-05 13:26:14 +00:00
Stevche Radevski 9ccd88d025 feat: Add boilerplate for the file module (#6956) 2024-04-05 14:46:02 +02:00
Stevche Radevski 20e8df914e feat: Normalize known DB errors to a MedusaError when possible (#6922)
Before we would swallow the error and return a generic error to the user. This will provide more information to the caller if it is one of the known errors.
2024-04-04 19:12:59 +00:00
Stevche Radevski 06b2f0a8dc feat: Add some of the missing pieces in the create product form (#6918)
The changes are still partial, there is more work to be done to have everything function properly.
Also, refactored the file upload from the product media form to a separate component
2024-04-04 10:27:33 +00:00
Stevche Radevski 3dee91426e feat: Correctly define all product module models and SQL migration script (#6906)
The only thing remaining is modifying `upsertWithReplace` to handle many-to-many constraints correctly and not cascade updates to them. This is something that we should do separately though.
2024-04-02 12:27:12 +00:00
Stevche Radevski b3ce13d61e fix: Fixes to product module and improving tests (#6898) 2024-04-02 07:13:46 +00:00
Stevche Radevski 585818eaf8 feat: Pricing update and refactor product API tests to not rely on internals (#6892)
This PR achieves the following
- Remove dependency on internals for seeding the tests (more work left, but major work done)
- Adds the workflow for updating variant's price

I will do a follow-up PR to further clean up the tests and remove all internal dependencies
2024-04-01 09:33:52 +00:00
Stevche Radevski 1a48fe0282 feat: Add v2 product types endpoints (#6880)
Also adjusts the product type module APIs to follow the conventions
2024-03-29 19:27:10 +00:00
Stevche Radevski 86f499de2f feat: Implemented price set update with prices and aligned pricing API (#6872) 2024-03-29 10:23:24 +00:00
Stevche Radevski cbb5e6bd99 feat: Refactor the product module definitions and implementation (#6866)
There are several things done in this PR, namely:

Unify the service endpoints API to always work with a model rather than allowing to pass both ID and model (eg. both type_id and type being available in the request to create).
Start using upsertWithReplace to simplify the code and fix some deassociation bugs
Apply some changes to tests to deal with the pricing breaking changes
Correctly define the model relationships (with both ID and entity fields available)
All tests for the product are passing, which should bring us back to a great baseline.
2024-03-29 09:03:41 +00:00
Stevche Radevski a6562d2a41 feat: Modify the abstract repository upsert to handle subresources as per convention (#6813)
* feat: Modify the abstract repository upsert method to handle subresources correctly

* fix: Preserve the upsertWithResponse order in the response, and return all the data

* fix: Create integration tests folder for mikro orm utils that run against the DB

* fix: Remove many-to-one creation and additional changes based on PR review
2024-03-28 15:28:57 +01:00
Stevche Radevski 70859397c0 feat: Align the product module HTTP API to follow our conventions (#6759) 2024-03-20 16:18:13 +01:00
Stevche Radevski 05e857d256 feat: Update the signatures for variants and options to follow convention (#6748) 2024-03-20 11:31:54 +00:00
Stevche Radevski db9c460490 feat: Add product and pricing link on create and delete operations (#6740)
Things that remain to be done:
1. Handle product and variant updates
2. Add tests for the workflows independently
3. Align the endpoints to the new code conventions we defined
4. Finish up the update/upsert endpoints for variants

All of those can be done in a separate PR, as this is quite large already.
2024-03-19 17:14:02 +00:00
Stevche Radevski 1956dce80a feat: Update the product options model and refactor the product module (#6685)
The changes in this PR are:
1. Change how product options are created and stored. The relationship changed from
`options --> option values <-- variants`
to
`options --> option values --> variant options <-- variants`

Now we can enforce non-duplicate option values, easier creation and updates of options, and more.

2. Refactors the product module. The product module did a lot of things in a non-ideal approach, and this is a step towards a more consistent usage of the base repository and methods exposed by a module. There is still work left to improve the module, but a large chunk of the changes are included in this PR


Things to do as a follow-up:
1. Remove many-to-many relationships  if an empty list is passed in the base repository.
2. Improve the typings of the module
3. Further cleanup and improvements (there are few questions that I need answered before I can improve the API)
2024-03-15 12:35:46 +00:00
Stevche Radevski 68d869607f chore: Use module test runner in all modules (#6706)
I replaced the custom test setup with the test runner. This should make migrating to mikroorm 6 a lot easier once we do it.

There are few more modules to be done, but I thought the PR is super big already so we can tackle them separately.

Note that there are no or very little test changes, it is mostly the setup around the tests.
2024-03-14 21:01:50 +00:00
Stevche Radevski ff4bd62f71 feat: Implement missing methods in product module and make more tests pass (#6650)
The 2 bigger remaining tasks are:
1. handling prices for variants
2. Handling options (breaking change)

After that all tests should pass on both v1 and v2
2024-03-11 11:03:24 +00:00