### Fix Missing Query Parameter in Documentation Example
#### Summary
This pull request addresses a missing query parameter in the Medusa documentation's example for making a request to the workflow endpoint.
#### Issue
The example in the documentation incorrectly shows:
```
curl http://localhost:9000/workflow
```
This causes an issue when running the workflow in code, specifically in `step-2`, where the `name` parameter is `undefined`.
#### Expected Behavior
The correct curl command should include the `name` query parameter, like so:
```
curl http://localhost:9000/workflow?name=john
```
#### Code Example
Here is the code that demonstrates the issue:
```ts
const step2 = createStep("step-2", async ({ name }: WorkflowInput) => {
return new StepResponse(`Hello ${name} from step two!`)
})
```
When running the incorrect curl command, the output for `step-2` returns:
```
"Hello undefined from step two!"
```
#### Fix
The pull request proposes updating the example curl command in the documentation to:
```
curl http://localhost:9000/workflow?name=john
```
This ensures that the `name` parameter is correctly passed and resolves the issue of `undefined` values in `step-2`.
#### Steps to Reproduce
1. Implement the workflow and API code as described in the [documentation](https://docs.medusajs.com/v2/basics/workflows#4-test-workflow).
2. Run the curl command:
```
curl http://localhost:9000/workflow
```
3. The console will output `Hello undefined from step two!` due to the missing `name` parameter.
#### Suggested Resolution
Update the curl command in the [documentation](https://docs.medusajs.com/v2/basics/workflows#4-test-workflow) to:
```
curl http://localhost:9000/workflow?name=john
```
### Related Issue
Link to the issue: [Medusa Issue #9628](https://github.com/medusajs/medusa/issues/9628)
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
**What**
- Changes all forms to only submit on Cmd/Ctrl + Enter instead of just Enter.
- Cleans up the position of submit/cancel buttons in many FocusModals that still had them in the header.
- Fixes responsiveness of multiple forms
- Removes the SplitView component, and replaces its usages with StackedDrawer/Modal to align the UX across the project.
Resolves CC-103, CC-535
**What**
- Fixes an issue where the `outline` would flash on FocusModals when the focus was transferred to the modal.
- Fixes an issue where the selected value of the combobox component was misaligned for single value comboboxes.
Resolves CC-604
**What**
- #9338 had a regression which caused the import path in some virtual modules to be invalid on Windows.
- This PR fixes the issue so we now again create the correct import paths, and adds tests to prevent this from slipping in again.
**Breaking changes**
The `outDir` has been deprecated and wont be used anymore, instead all the path are computed internally following these rules
- if admin is not `disabled` and the `build` command is run without the `--admin-only` flag, then the admin output dir will be `.medusa/server/public/admin` and it will be served from that same location from the medusa instance.
- if admin is not `disabled` and the `build` command is run with the `--admin-only` flag, then the admin output dir will be `.medusa/admin` with the purpose of deploying the admin separately. ⚠️ (expect to receive a warning log)
- if the admin is `disabled` and the `build` command is run with the `--admin-only` flag, then fallback to rule number 2
| admin enabled | medusa build --admin-only | output dir |
|---|---|---|
| true | true | `.medusa/admin` ⚠️ (expect to receive a warning log) |
| true | false | `.medusa/server/public/admin` |
| false | true | `.medusa/admin` |
| false | false | none |
```diff
// medusa-config.ts
{
// ...
admin: {
- outDir: 'some/path'
}
}
```
cc @kasperkristensen @sradevski @olivermrbl
**What**
When resolving the modules through an array, if the module does not have a joiner config to rely on (not `queryable`, not using the `Module` util), then the key should be provided to register the module in the container. Eventually, the module author should provide that key to be used.
The only exception is for the medusa modules where we have a map that allows us to resolve that key automatically from the path of the resolve value
* chore: add compare_at_unit_price when price list price is retrieved
* chore: add test for update item + more fixes along the way
* chore: fix tests
* chore: add refresh spec
* Apply suggestions from code review
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
* chore: use undefined checker
* chore: switch to map
---------
Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
**What**
- validate that variants are unique with respect to options on product update/create and variant update/create
- validate that the product has options upon creation
- ensure variants have the same number of option values as the product has options
- admin error handling
- update tests
---
FIXES FRMW-2707 CC-556
**What**
- remove cascade delete of inventory items on product delete
- implement inventory deletion in product/variant delete workflows with checks:
- product/variant cannot be deleted if there are reservations associated with their inventory items
- inventory item will be cascade deleted if it's not used by other variants (that are not being deleted in the current flow)
---
FIXES CC-581 CC-582
**What**
The module service name case has changed and the hash generation was performed on the non lower cased version of it while after the hash generation everything is based on the lower case version of the generated table name form the service names leading to different hash computation. This pr update the link migration table to adjust the to/from module value with its new value as well as generating the hash from the lower case version of the computed table name
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>