Commit Graph

1183 Commits

Author SHA1 Message Date
Oli Juhl
eadc5e8a79 feat: Admin V2 API keys (#6883)
Add API key management UI for V2

This PR only adds publishable API key UI. Secret API key management will come in a follow-up PR.
2024-04-05 09:55:59 +00:00
Shahed Nasser
0bf0bf819b fix(admin-ui): Resolve node-gyp error during installation with npm (#6952)
Fix `node-gyp` error that occurs during installation when using NPM and 20+ versions of Node.js. The error results from the package `@stdlib/number-float64-base-normalize` which is a dependency of `@segment/analytics-next`. Installing v0.0.8 resolves the error.

More details in PR #6485

## Testing

To test out the fix:

1. In a Medusa backend, remove the installation of `@stdlib/number-float64-base-normalize` (if available) and add instead the following override:

```json
  "overrides": {
    "@medusajs/admin": {
      "@medusajs/admin-ui": "2.1.14-snapshot-20240405070935"
    }
  }
```

2. Remove node_modules + any previous package-lock.json
3. Change to node v20+ and use npm to install dependencies -> no error occurs during installation.
2024-04-05 07:56:39 +00:00
Adrien de Peretti
71aeda7347 fix(workflows-sdk): Handle result from a trasnformer after a step fail (#6951)
* fix(workflows-sdk): Handle result from a trasnformer after a step fail

* Create plenty-ravens-lay.md

* fix
2024-04-05 08:59:28 +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
Adrien de Peretti
e944a627f0 feat: region payment providers management workflows/api (#6864) 2024-04-04 20:41:34 +02:00
Adrien de Peretti
12fcb655cd chore: Ensure Redis connection is ready with callback (#6924)
* chore(workflow-engine-redis): await for the connection callback

* cleanup

* cleanup

* Create early-rice-marry.md

* cleanup
2024-04-04 20:40:41 +02:00
Riqwan Thamir
483bf98a49 feat(medusa): added endpoints for rule attribute/operator/values options (#6911)
what:

adds endpoints that returns attribute options, operator options and value options for a particular rule.
2024-04-04 09:56:17 +00:00
Adrien de Peretti
49f16ab08d fix(medusa): Fix get-query-config backward compatiblity (#6913) 2024-04-03 17:14:29 +02:00
Carlos R. L. Rodrigues
56c04f452c Fix(medusa-test-utils): config loader (#6919) 2024-04-03 09:28:40 -03:00
Adrien de Peretti
b3a3993423 fix(medusa-test-utils): recompute driver options (#6917)
* fix(medusa-test-utils): recompute driver options

* Create seven-bears-reply.md

* Update seven-bears-reply.md
2024-04-03 11:59:29 +02:00
Carlos R. L. Rodrigues
a164c0d512 feat(workflows-sdk,orchestration): async step as background task (#6886) 2024-04-03 11:17:00 +02:00
Philip Korsholm
edafe7db47 Feat(link-module, core-flows, medusa): Add sales channel location management (#6905)
* add locations with sales channels

* init, not working location based management

* working adding sales channel stock locations

* remote sales channels from location

* remove console log

* rm allowedFields

* redo errorhandler

* make validation take an array

* add changeset

* fix build

* Update packages/core-flows/src/sales-channel/workflows/remove-locations-from-sales-channel.ts

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

* add default cases to return early

* cleanup

* add sc test and remove associations

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-04-03 08:38:53 +02:00
Adrien de Peretti
27f4f0d724 fix(fulfillment): Wrong type usage (#6914)
**What**
Fix the types used in the fulfillment module service interface
2024-04-02 16:22:57 +00:00
Adrien de Peretti
82a176e30e chore(medusa-test-utils):Handle errors gracefully (#6901)
**What**
- Better error handling and error message
- update deps management and dynamic import/require
- Pass a new flag to the modules loaders for the module loaders to be able to act depending on it. In that case, the module can determine what should be run or not. e.g in the workflow engine redis, when we are only partially loading the module, we do not want to set the Distributed transaction storage
2024-04-02 14:10:17 +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
Shahed Nasser
fe1d3a4a78 feat(create-medusa-app): Add a --verbose option. (#6027)
## What

Adds a `--verbose` option that shows the output of all underlying processes in real-time.

## Why

This is helpful for testing and debugging issues, especially issues that the community runs into. We can ask community members to pass the `--verbose` option and provide us with the outputted logs if they face problems.

## Caveats

When installing the Next.js starter then terminating the process, the main and child processes don't receive the abort signal as it seems to occur in the child process. This leads to the command continuing but then running into an error in the next step.

As this option is only used for debugging, I don't think it's a big issue.

## Testing

Run the `create-medusa-app` snapshot below with `--verbose` option. Or, change to the `packages/create-medusa-app` directory and run:

```bash
yarn dev --directory-path ~/some-dir --verbose
```

> The `--directory-path` option in this case is necessary as installing the medusa backend in the current `packages/create-medusa-app` directory leads to errors related to yarn workspaces.
2024-04-01 09:13:44 +00:00
Frane Polić
e58e81fd25 feat(dashboard): admin 3.0 order refund form (#6850) 2024-04-01 10:55:42 +02: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
Oli Juhl
1bcb13f892 feat: Remove sales channels from pub keys (#6876)
**What**
- Add workflow + step for detaching sales channels from pub API keys
- Tweak linking error message to be more helpful
- Add `removeRemoteLink` step to delete API key workflow
2024-03-29 15:01:10 +00:00
Adrien de Peretti
8fd1488938 chore: medusa shutdown (#6865)
* chore: medusa shutdown

* continue

* use shutdown

* on application shutdown

* consume shutdown

* more connection close

* more cleanup

* more cleanup

* update lock

* revert package

* graceful shutdown

* Create yellow-apples-attack.md

* graceful shutdown

* graceful shutdown

---------

Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-29 09:22:29 -03:00
Riqwan Thamir
0c0b425de7 feat(medusa-react,medusa,types,dashboard): added empty state + table for promotions list page (#6827)
what:

- adds empty state for promotions list page
- lists all promotions with pagination

<img width="1663" alt="Screenshot 2024-03-26 at 14 19 27" src="https://github.com/medusajs/medusa/assets/5105988/ed0d5c65-d003-40f5-b899-540970d892f5">


<img width="1664" alt="Screenshot 2024-03-27 at 20 46 17" src="https://github.com/medusajs/medusa/assets/5105988/4aa40f09-fe3f-4f34-af7a-f5c183254c76">
2024-03-29 11:22:42 +00:00
pepijn-vanvlaanderen
6113af0a66 fix(medusa): Deleted discount missing on order (#6837)
* Fix deleted discount missing on order

* Added integration test

* Added changeset
2024-03-29 11:51:27 +01:00
Stevche Radevski
86f499de2f feat: Implemented price set update with prices and aligned pricing API (#6872) 2024-03-29 10:23:24 +00:00
Geoffroy Empain
85a27c3572 fix(inventory): cannot migrate existing products (#6877) (#6878)
* fix(inventory): cannot migrate existing products (#6877)

* chore: add changeset (#6821)

---------

Co-authored-by: Geoffroy Empain <geoffroy@charlie-bravo.be>
Co-authored-by: Stevche Radevski <sradevski@live.com>
2024-03-29 11:05:12 +01:00
Carlos R. L. Rodrigues
1c6ba4468e feat(modules-sdk): remote query retrieve (#6849)
What:

Remote Joiner options to check if keys exist on entry points or relations
2024-03-29 09:26:24 +00:00
Carlos R. L. Rodrigues
e603726985 fix(workflow-engine-*): subscribe response and error (#6869) 2024-03-29 08:23:41 +00:00
Carlos R. L. Rodrigues
45c49e89f2 chore(workflows-sdk): add idempotencyKey to shared context (#6860) 2024-03-28 17:51:29 +00:00
Philip Korsholm
18438a695a feat(medusa, stock-location-next): add list-stock-locations endpoint to api-v2 (#6788)
* initial create

* add list for stock locations

* add changeset

* redo changes for stock locatino module'

* add changeset

* naming

* prep for pr

* move integration tests

* fix pr feedback

* add changeset

* update changeset

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-28 17:33:26 +01: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
Sebastian Rindom
6bf4d40856 chore(medusa-test-utils): create declaration file (#6858)
**What**
- Fixes tsconfig to ensure a declaration file is included in the build.

**Why**
- Ensure tsserver can understand things from medusa-test-utils
- Get rid of "Could not find a declaration file for module" warning in editors.
2024-03-28 10:43:25 +00:00
Oli Juhl
ea8d9d4d42 feat: API key sales channel link (#6851)
What
- Add link between API key and sales channels
- Add API route for batch adding sales channels to a publishable API key
- Clean up API key API routes responses
- Move API key test suite from `integration-tests/modules` to `integration-tests/api`
2024-03-28 10:15:11 +00:00
Adrien de Peretti
6ee2ee845c fix(): medusa test runner (#6857) 2024-03-28 10:33:40 +01:00
Adrien de Peretti
cf3c9b13b5 Fix/pricing data manipulation (#6845)
**What**
- Fix returned data order
- improve implentation
- rm unnecessary promises and/or promise all
- replace promise.all for promiseAll
2024-03-27 17:51:17 +00:00
Adrien de Peretti
5d9aea053c fix(utils): Mikro orm prop filtering should check existence (#6842)
**What**
- Should return non decorated but visible properties.
- Should only prevent circular on non scalar fields
2024-03-27 14:31:26 +00:00
Adrien de Peretti
e0b02a1012 feat(utils): custom serialization that allows for non self ref (#6836)
* feat(utils): custom serialization that allows for non self ref

* Create fast-teachers-greet.md

* cleanup + tests

* cleanup + tests

* fix import

* fix map to pk relations
2024-03-27 12:31:04 +01:00
Philip Korsholm
4cf71af07d feat(core-flows, medusa): add update stock location endpoint to api-v2 (#6800)
* initial create

* add changeset

* redo changes for stock locatino module'

* initial update

* add changeset

* move integration tests

* update update method

* fix integration tests

* Update packages/stock-location-next/src/services/stock-location.ts

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

* update service

* initial fixes

* pr feedback

* update types

* expand revert clause for update

* update versioning

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2024-03-27 10:31:17 +01:00
github-actions[bot]
74e17ee6f9 chore: Version Packages (#6757)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-03-26 18:04:04 +01:00
Oli Juhl
a843b121cd chore: Change minor bump to patch in changesets (#6826) 2024-03-26 12:45:44 +01:00
Oli Juhl
ef58826dd2 fix(admin-ui, admin): Add missing regions relation (#6824) 2024-03-26 11:37:21 +01:00
Adrien de Peretti
f7f667cf18 Fix/pricing create price lists (#6818)
* chore: rename price set money amounts to prices

* chore: remove more stuff

* chore: more deletions

* chore: delete more stuff

* chore: fix module tests

* chore: skip product create test

* chore: undo package changes

* chore: remove log

* chore: added changeset

* Fix/pricing create missmatch (#6802)

* fix pricing using index and mixing data

* cleanup

* cleanup

* cleanup

* Ensure data order

* finished

* fix(pricing): createPriceLists_ should not rely on indexes

* feedback

* Create spotty-mirrors-thank.md

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-26 10:42:14 +01:00
Oli Juhl
7bc7adeeb4 feat: Create user account (#6819) 2024-03-26 10:07:38 +01:00
Shahed Nasser
e005987adf fix(medusa-oas-cli): fix tool not working in Medusa backends (#6812)
* fix(medusa-oas-cli): fix tool not working in custom projects

* fix changeset message

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-26 09:33:06 +02:00
Riqwan Thamir
509ddf9a56 feat(medusa): migrate medusa unit tests / plugins integration tests to swc jest (#6820)
what:

- migrates medusa package to swc/jest
- migrates plugins integration tests to swc/jest
- parallelises a few of the heavy test packages
- fixes typeorm circular dependencies

**Unit Tests**

Before: 1 job => ~30 mins
After: 2 jobs => ~5 mins


<img width="260" alt="Screenshot 2024-03-25 at 15 11 49" src="https://github.com/medusajs/medusa/assets/5105988/e1df6985-5bd6-48d0-b87b-336d3c77d0cf">

**Plugins**

Before: 1 job => ~10 mins
After: 1 job => ~5 mins

<img width="254" alt="Screenshot 2024-03-25 at 15 26 03" src="https://github.com/medusajs/medusa/assets/5105988/c1cec0e2-a1c3-41d1-9372-46d114d804c6">



Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2024-03-25 17:55:34 +00:00
Kasper Fabricius Kristensen
26531c5a38 feat(dashboard): Draft orders create (#6680)
**What**
- Adds Create draft order form
- Updates draft order details page to also display "custom" items.

**Note**
- Currently, the form is missing a way to input a discount code. Need to rethink this a bit, as the we can't implement the design in Figma.
- The current design is missing a way to select from a customers existing shipping addresses, we should add that to keep the features we have today.
- This PR uses `useInfiniteQuery` which does not work on our staging (due to duplicate dependencies as a result of building straight from the monorepo), so you will need to test locally.
2024-03-25 17:18:24 +00:00
Philip Korsholm
20132d7cea feat(medusa, core-flows): add retrieve stock location endpoint to api-v2 (#6791)
* initial create

* add changeset

* redo changes for stock locatino module'

* add get endpoint

* add changeset

* add exception if location is not found

* remove only

* initial delete stock location

* add changeset

* add changeset

* pr prep

* remote duplicate changeset

* propagate deletion with common step

* move integration tests

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-25 16:58:23 +01:00
Philip Korsholm
deab12e27e feat(types, medusa, core-flows): add delete-stock-location endpoint to api-v2 (#6801)
* initial create

* add changeset

* redo changes for stock locatino module'

* initial delete stock location

* add changeset

* pr prep

* propagate deletion with common step

* move integration tests

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2024-03-25 16:29:36 +01:00
Riqwan Thamir
bacfa3e17b feat(medusa-payment-paypal,medusa-payment-stripe): speed up unit tests in CI (#6806)
* chore: shard unit tests

* chore: move paypal and stripe to swc

* chore: update actions

* chore: refactor http paypal client

* chore: added changeset

* chore: remove medusa changes
2024-03-25 15:27:40 +01:00
Riqwan Thamir
9073d7aba3 feat(core-flows,medusa,types,utils): rename psma to prices (#6796)
What:

Renames pricesetmoneyamount to prices

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2024-03-25 13:15:25 +00:00
Shahed Nasser
fbc369705d feat(create-medusa-app): Added --v2 option (#6729)
## What

Added a `--v2` option to the `create-medusa-app` command that clones the [feat/v2](https://github.com/medusajs/medusa-starter-default/pull/150) branch of the starter default and makes minor changes to the setup process.

## Why

This option is supposed to make it easier to test out internally a Medusa setup with all the commerce modules. The starter's branch installs and configures the modules + the V2 feature flag.

## Testing

To test it out, run the snapshot with the `--v2` option.

## Notes

- I couldn't install the new admin dashboard in the starter branch as it's not on NPM yet (at the time of writing this), so at the moment, this opens the current admin dashboard instead.
- When trying to create an invite using the CLI tool I get the error `Unable to resolve inviteService`. Not sure if we should also make changes to the CLI tool to allow creating an invite when V2 is enabled (I know now invites are creating within the User Module, so maybe when the V2 feature flag is enabled that should be resolved instead), but for now I just disabled running the create invite command as this is mainly for internal testing. Let me know what the suggested approach is here.
2024-03-25 12:51:15 +00:00
Philip Korsholm
68b9812aa1 feat(core-flows, medusa): add create stock location endpoint for api-v2 (#6787) 2024-03-25 12:53:09 +01:00