Commit Graph

188 Commits

Author SHA1 Message Date
Adrien de Peretti
99461e24ab feat(notification): Handle long running transaction and add status support (#8900)
RESOLVES FRMW-2110
RESOLVES FRMW-2095

**What**
- Fix notification module to not retain transactions open while sending notification
- Add support for notification status [success, pending, failure]
2024-09-01 08:01:47 +00:00
Carlos R. L. Rodrigues
89c6ef8fc9 chore(core-flows): added workflow events (#8915)
* chore(core-flows): added workflow events

* remove from parallelize

* check array
2024-08-30 16:32:08 -03:00
Adrien de Peretti
3da01035f3 fix: Shipping profile deletion with options (#8910)
* fix(fulfillment): Prevent deletion of profiles associated to options

* add tests

* typo

* address feedback
2024-08-30 17:04:29 +02:00
Harminder Virk
9b6c2e5efa fix: ignore metadata when computing relationships from payload (#8895) 2024-08-30 13:32:25 +05:30
Adrien de Peretti
77b874f272 feat: Add support for providers to validate their options at loading time (#8853)
* feat: Add support for providers to validate their options at loading time

* fix missing removal

* fix integration tests

* add tests
2024-08-29 09:08:49 +02:00
Adrien de Peretti
52e394055c fix(utils): DML hasOne - belongsTo not behaving correctly (#8813)
FIXES FRMW-2676

**What**
ref: https://discord.com/channels/876835651130097704/1023889804544458752/threads/1276979858781503528

Currently, when providing the following

```ts
const user1 = manager.create(User, {
  username: "User 1",
  team: {
    name: "Team 1",
  },
})
```

It would result in an error inserting into the database because the foreign key will be sent twice as part of the insert, one for the relation and one for the foreign key that both relate to the foreign key property.

To fix that and allow both approaches (providing the entity to cascade persist or just providing the foreign key in case of another side nullable relation) we need to handle it a bit differently.

now both approaches would be valid. the entities for the example might not be the best ones but it is just to illustrate
option 1 - we create both the user and the team:
```ts
const user1 = manager.create(User, {
  username: "User 1",
  team: {
    name: "Team 1",
  },
})
```
option 2 - the team already exists (for example the previous user have been detached from the team but we kept the team alive and assign a new user to that team) :
```ts
const user1 = manager.create(User, {
  username: "User 1",
  team_id: team.id
})
```
2024-08-28 15:45:48 +00:00
Adrien de Peretti
5bec38538a chore: Treat internal event differently, primarely do not display info logs for those events (#8767)
* chore: Treat internal event differently, primarely do not display info log for those events

* revert doc

* add few tests

* only set internal option if present

* revert to previous condition

* start including feedback after discussion

* include feedback

* fix modules integration tests

* fix modules integration tests

* fix event bus local
2024-08-28 16:46:40 +02:00
Oli Juhl
c11ef01c15 feat: Separate registration from authentication in auth domain (#8683)
* wip

* feat: Introduce register

* fix: user command

* fix: Invite HTTP tests

* fix: Auth tests

* fix: Invite modules tests
2024-08-27 13:44:52 +02:00
Oli Juhl
2bacf86d3c chore: Remove prepublishOnly script (#8699)
* wip

* wip

* verbose logging

* remove prepublish scripts

* chore: add back prepublish scripts

* wip

* remove prepublishOnly script

* chore: Clean up rest of build scripts

* add back build script

* feedback

---------

Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2024-08-27 10:31:38 +02:00
Carlos R. L. Rodrigues
571f0c7629 chore(core-flows): product events (#8769) 2024-08-26 18:38:30 -03:00
Harminder Virk
7c2cfc132a feature: add db:create command (#8760) 2024-08-26 15:04:52 +05:30
Harminder Virk
9a508056f6 feat: add env editor utility to edit update .env files (#8741) 2024-08-25 19:31:56 +05:30
Carlos R. L. Rodrigues
058378970a chore: dependecies reorg (#8535) 2024-08-23 07:16:04 -03:00
Shahed Nasser
bc74e381ad feat(utils): use dotenv-expand to allow variables within env (#8720) 2024-08-22 13:51:36 +03:00
Carlos R. L. Rodrigues
99eca64c20 chore(order): preview removed items (#8680) 2024-08-20 14:53:39 -03:00
Harminder Virk
5f310c0a00 breaking: remove POSTGRES prefix env variables in favor of DATABASE prefix (#8672) 2024-08-20 17:05:19 +05:30
Harminder Virk
69830ca89c fix: maintain connections pool (#8670) 2024-08-20 14:54:52 +05:30
Stevche Radevski
a013c4edc5 feat: Move userpass default definition to defineConfig instead of a hard-coded value (#8557) 2024-08-13 11:10:23 +02:00
Carlos R. L. Rodrigues
96bdf3e2c6 chore(core-flows): order transactions (#8568)
What:

- Add order transaction when Cart is completed and payment is refunded
2024-08-12 19:06:58 +00:00
Carlos R. L. Rodrigues
c9c1a5b41c chore: rm pg dependency (#8526) 2024-08-08 17:22:57 +00:00
Carlos R. L. Rodrigues
91f07e1a59 chore(order): item update quantity (#8513) 2024-08-08 14:12:16 -03:00
Stevche Radevski
4af82aab32 fix: Use local notification provider for feed channel by default (#8518) 2024-08-08 18:22:50 +02:00
Carlos R. L. Rodrigues
c017be2a54 chore(utils): improve to handle util (#8487) 2024-08-07 11:33:19 -03:00
Shahed Nasser
98f42e8995 feat(create-medusa-app, medusa): check Node.js version before installation. (#8452)
Check before installation with `create-medusa-app` and `medusa new` whether the current node version is >= 20. If not, exit with an error.
2024-08-06 07:15:17 +00:00
Shahed Nasser
a1f86fe415 chore(utils): add missing imports in notification TSDocs (#8447)
Add missing imports in the example snippet of the notification provider.
2024-08-05 11:15:55 +00:00
Shahed Nasser
5ed5b45cce chore(utils, types): updated TSDocs of AbstractPaymentProvider (#8335)
- Update the TSDocs of `AbstractPaymentProvider`
- Remove old TSDocs of `IPaymentProvider`
- Update the config that generates the payment module provider reference.

Closes DOCS-781
2024-08-01 15:50:34 +00:00
Oli Juhl
dbd0b18726 feat: Add requested_at + open status to return (#8391)
* feat: Add requested_at + open status to return

* Update return in confirm claim workflow

* Revert snapshot

* feat: Change OrderChangeType

* fix test
2024-08-01 16:20:45 +02:00
Stevche Radevski
4081b3359d feat: Add support for sorting export headers (#8386)
* feat: Add support for sorting export headers

* fix: Minor fixes to import flow
2024-08-01 13:23:49 +02:00
Stevche Radevski
8a6e172dec feat:Make product import v1 compatible (#8362) 2024-07-31 13:03:05 +02:00
Harminder Virk
864bb0df05 breaking: implement workflow hooks (first iteration) (#8346) 2024-07-31 15:36:38 +05:30
Adrien de Peretti
9b6de8c02d chore(framework): Move feature flags related resources and cleanup (#8297)
**What**
cleanup and move the feature flag related resources to manage them.

It also include some refactoring around loading and registering the flag as well as not relying on the `glob` package anymore plus some reorganization of the code itself

FIXES FRMW-2625
2024-07-30 12:20:03 +00:00
Carlos R. L. Rodrigues
24c105f288 feat(orchestration,workflows-sdk): Skip step (#8334) 2024-07-29 14:26:47 -03:00
Carlos R. L. Rodrigues
d63ca00214 chore(core-flows): return fulfillment link (#8304) 2024-07-27 10:20:48 -03:00
Stevche Radevski
444a244eab feat: Add basic support for importing products (#8266) 2024-07-25 11:07:24 +02:00
Riqwan Thamir
34cf7a03a2 feat(utils,link-modules): link between fulfillment provider and stock location (#8275)
what:

- adds link between fulfillment provider and stock location

RESOLVES CC-233
2024-07-25 06:38:19 +00:00
Adrien de Peretti
2188a4e1ba fix: isList on field alias in link configuration (#8244)
* fix/link-configuration-is-list-on-fieldsAlias

* fix tests

* fix tests

* fix tests
2024-07-24 10:18:38 +02:00
Adrien de Peretti
47dde05517 chore(framework): Initial commit (#8221)
**What**
- Initiate the framework package (which is just a place to move things around for now)
- move the config loader and related resources as well as the `ConfigModule` type
- Create a ConfigManager singleton which prepare and store the config (later can be stored entirely in the container) and allow for easier test override
- re export the logger from the framework
- replace medusa config loader with the framework one
- `build` run type check on tests as well but `prepublishOnly` will not fail on build if tests are typed broken

FIXES FRMW-2607
FIXES FRMW-2609
FIXES FRMW-2614
FIXES FRMW-2618
2024-07-23 15:46:28 +00:00
Adrien de Peretti
a9abf448c6 fix(utils): Fix inferrence of public method name and service registration name based on configuration (#8237) 2024-07-23 14:43:46 +02:00
Stevche Radevski
0d2e7befbd feat: Add support for exporting products in backend (#8214)
CLOSES CC-221
CLOSES CC-223
CLOSES CC-224
2024-07-22 13:40:04 +00:00
Carlos R. L. Rodrigues
fb29b958fa chore(inventory, core-flows): big number support (#8204) 2024-07-22 06:32:25 -03:00
Adrien de Peretti
f74fdcb644 breaking: rework how links database migrations are managed (#8162) 2024-07-22 13:12:23 +05:30
Adrien de Peretti
566300d54b fix: normalize path before consuming it while loading models (#8194)
* fix: normalize path before consuming it while loading models

* Make it so that models derived from the service if present

* fix linkable tests that now match what has been passed to the medusa service if there is no custom joiner config

* fix linkable tests that now match what has been passed to the medusa service if there is no custom joiner config

* fix linkable tests that now match what has been passed to the medusa service if there is no custom joiner config
2024-07-21 21:21:05 +02:00
Carlos R. L. Rodrigues
07205e4249 fix(utils): totals calculation (#8190) 2024-07-19 06:49:49 -03:00
Carlos R. L. Rodrigues
535832b692 chore(medusa, core-flows): receive item return request (#8172)
What:
* `POST /admin/returns/:id/receive-items`
* `POST /admin/returns/:id/receive-items/:action_id`
* `DELETE /admin/returns/:id/receive-items/:action_id`
* `POST /admin/returns/:id/dismiss-items`
* `POST /admin/returns/:id/dismiss-items/:action_id`
* `DELETE /admin/returns/:id/dismiss-items/:action_id`
* `POST /admin/returns/:id/receive/confirm`

CLOSES: CC-190, CC-191, CC-192, CC-193, CC-195, CC-196, CC-197

* Inventory management isn't included yet. Will add it in a next PR
2024-07-18 14:46:34 +00:00
Adrien de Peretti
398e39d163 fix: product module joiner config (#8170)
* fix: product module joiner config

* fix aliases

* revert package.json

* add js doc
2024-07-18 11:27:21 +02:00
Harminder Virk
f579f0b3be feat: restructure events payload (#8143)
* refactor: restructure events payload

Breaking change: This PR changes the event payload accepted by the event
listeners

* refactor: fix failing tests and implement feedback

* add integration tests

* fix timeout

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2024-07-16 17:09:16 +01:00
Adrien de Peretti
8a68919ed3 chore: Allow to fetch remote link using the service name or the alias from the use remote link step (#8140)
* chore: Allow to fetch remote link using the service name or the alias from the use remote link step

* revert package.json

* fix packages
2024-07-16 11:03:41 +02:00
Oli Juhl
ffd4b195ee feat: Add exchange return shipping (#8108)
* wip

* finalize tests

* feat: Add exchange return shipping

* add shipping to preview

* test input

* move utils and ignore already inserted shipping method

* use custom price

---------

Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
2024-07-15 22:04:20 +02:00
Harminder Virk
5bb870948a fix: defineMikroOrmCliConfig helper to provide default db credentials (#8131) 2024-07-15 15:49:00 +05:30
Oli Juhl
7e82f981f9 feat: Add return shipping method workflow (#8106) 2024-07-13 13:09:07 +02:00