Commit Graph
100 Commits
Author SHA1 Message Date
Riqwan Thamir 3169543d56 feat(dashboard,js-sdk,types): add ability to capture payment from order page (#8368)
what:

- adds ability to capture payment from order page

bugs found:

- when capturing payment of one order, other orders statuses get affected from "captured" to "partially captured". Will investigate this separately. 

https://github.com/user-attachments/assets/0a1beac2-74fc-4803-8528-8de5913964d4
2024-08-01 06:46:03 +00:00
Riqwan Thamir c976361f22 feat(dashboard,icons,types,js-sdk): add providers to location UI (#8328) 2024-07-30 08:47:01 +02:00
Riqwan Thamir 5fc5f2c35f feat(medusa): add stock_location_id filter to providers api (#8319)
what:

- adds a filter to fulfillment providers API to scope by stock locations

RESOLVES CC-260
2024-07-29 08:30:53 +00:00
Riqwan Thamir 71411463b1 feat(core-flows,medusa): add endpoint to add/remove fulfillment providers to location (#8299)
what:

- add endpoint to add/remove fulfillment providers to location
- specs cleanup from previous PR

RESOLVES CC-259
2024-07-26 14:35:19 +00:00
Riqwan Thamir 91c17651f1 feat(core-flows, fulfillment): validate shipping options to stock locations (#8291)
what:

- validate shipping options to stock locations

RESOLVES CC-232
2024-07-26 12:26:26 +00: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
Riqwan Thamir 04819107dd feat(core-flows,types): add workflow to request item return (#8098) 2024-07-11 19:45:40 +02:00
Riqwan Thamir 8a548cbc2f feat(core-flows,types): add workflow to update order change actions (#8080) 2024-07-11 11:04:41 +02:00
Riqwan Thamir 95f29358d1 feat(core-flows, types): workflow to delete order change actions (#8064)
* chore: workflow to delete order change actions

* chore: fix soft delete signature
2024-07-10 18:31:12 +02:00
Riqwan Thamir bec2dcd667 feat(core-flows, order): add workflow to create change order actions (#8056)
what:

- adds workflow to create change order actions
2024-07-10 10:35:03 +00:00
Riqwan Thamir 566bbd5074 feat(core-flows,types): cancel order changes workflow (#8035)
what:

- adds cancel order changes workflow
2024-07-09 14:06:33 +00:00
Riqwan Thamir b6fd82e31e feat(order,core-flows): added order change create workflow (#8033)
what:

- adds anorder change create workflow
- remove order change service, brings validation to entry point service
2024-07-09 12:12:05 +00:00
Riqwan Thamir 276c8b925f chore: fix notification loader error (#7969) 2024-07-05 12:05:18 +02:00
Riqwan Thamir 0d534d4f70 fix(product): category tree breaks due to pagination limit (#7947)
what:

- when children scope beyond the pagination limit, we fail to load all descendants and ancestors
- we fix this by fetching all categories in the tree scoped by the where clause
2024-07-04 14:58:21 +00:00
Riqwan Thamir 78a4bcc700 fix(dashboard): breaking store page due to default currency (#7915)
* chore: fix breaking store page due to default currency

* fix: remote query checks all data when scoped by id

* chore: minor change
2024-07-04 09:37:36 +02:00
Riqwan Thamir b6e4435c23 chore: cleanup migrations logs (#7924)
what:

when running `medusa run migrations`, cleanup logs with short descriptive message.

Before:

<img width="1262" alt="Screenshot 2024-07-03 at 14 31 36" src="https://github.com/medusajs/medusa/assets/5105988/504e9c24-371c-476d-9b6d-2dfe1a4088dc">

After:

<img width="1004" alt="Screenshot 2024-07-03 at 14 42 57" src="https://github.com/medusajs/medusa/assets/5105988/a89eaed5-04a4-4efb-a2e9-ca480f1eaa6e">
2024-07-03 13:53:59 +00:00
Riqwan Thamir fdee0bd55a chore: use campaign http types from types package (#7922) 2024-07-03 14:13:44 +02:00
Riqwan Thamir 40dbaf890f fix: only showcase tooltip when currency is not set (#7920)
* fix: only showcase tooltip when currency is not set

* chore: scope tooltip only if of type spend
2024-07-03 13:34:39 +02:00
Riqwan Thamir 00ba74c71f fix: user email is set to a unique index (#7917) 2024-07-03 12:32:30 +02:00
Riqwan Thamir b25c6ab54f chore(promotion): toast error messages on promotion errors (#7897) 2024-07-01 20:52:39 +02:00
Riqwan Thamir d58a626d0a fix: fix tabs + required fields (#7892) 2024-07-01 17:23:45 +02:00
Riqwan Thamir 789d545b9e feat(utils,types): infer keys in query builder from schema (#7861) 2024-06-27 20:38:06 +02:00
Riqwan Thamir 91098877c2 fix(utils): always apply default indexes (#7858)
what:

- fixes default indexes not being applied always
2024-06-27 16:05:28 +00:00
Riqwan Thamir 91faa5ffdb feat(utils): DML generates foreign key indexes by default (#7855)
**what:**

- adds default indexes on foreign keys when belongs to relationship is present

RESOLVES CORE-2404
2024-06-27 14:45:27 +00:00
Riqwan Thamir 3f16b011fa feat(utils,types): DML Index can generate where SQL from a query builder (#7849)
what:

- introduces a simple query builder
- uses the query builder to tranform an object in where to SQL when applying indexes

```
Examples:
  { where: { column: null } } -> column IS NULL
  { where: { column: { $ne: null } } } -> column IS NOT NULL
  { where: { boolean_column: true } } -> boolean_column IS TRUE
  { where: { column: "value", another_column: { $ne: 30 } } } -> column = "value" AND another_column != 30
```

```
const user = model
  .define("user", {
    email: model.text(),
    account: model.text(),
    organization: model.text(),
  })
  .indexes([
    {
      on: ["organization", "account"],
      where: { email: { $ne: null } },
    },
    {
      name: "IDX-email-account-special",
      on: ["organization", "account"],
      where: {
        email: { $ne: null },
        account: null,
      },
    },
```

RESOLVES CORE-2392
2024-06-27 10:24:34 +00:00
Riqwan Thamir 5ee97d0e97 feat(utils,types): DML can apply composite indexes (#7842)
**what:**

- DML can apply composite indexes
- Where clause is currently a string, QB version will come as a follow up

```
model.define("user", {
  email: model.text(),
  account: model.text(),
}).indexes([
  {
    name: "IDX-unique-name",
    unique: true,
    on: ["email", "account"],
    where: "email is NOT NULL",
  },
])
```

RESOLVES CORE-2391
2024-06-26 15:39:04 +00:00
Riqwan Thamir 4945c79818 feat(utils): infer primaryKeys from a DML model (#7839)
what:

- depending on other properties in a DML model, we infer primaryKeys between id properties and primaryKey-able properties. 

```
Example:
  Model 1:
    id: model.id() -> primary key
    code: model.text()

  Model 2:
    id: model.id()
    code: model.text().primaryKey() -> primary key

  Model 3:
    id: model.id()
    code: model.text().primaryKey() -> composite primary key
    name: model.text().primaryKey() -> composite primary key
```
2024-06-26 09:26:09 +00:00
Riqwan Thamir bea3e669e1 chore: promotion UI spacing fixes (#7826) 2024-06-25 16:50:07 +02:00
Riqwan Thamir 96fb7a962e feat(utils,currency): Migrate currency to use DML (#7807) 2024-06-24 19:07:26 +02:00
Riqwan Thamir 7414034ac4 chore: scope campaign identifier index with deleted at (#7821) 2024-06-24 18:06:14 +02:00
Riqwan Thamir 5c944ae5d0 feat(types,utils): DML can create a bigNumber property (#7801)
what:

- adds bigNumber as a property to DML
- creates a bigNumber options field (`raw_{{ field }}`) as a part of the schema

RESOLVES CORE-2375
2024-06-24 08:29:18 +00:00
Riqwan Thamir 8ac74c1357 feat(core-flows,types,pricing,medusa): Products API can create prices with rules (#7796)
* chore: Products API can create prices with rules

* chore: fix tests

* chore: cleanup

* chore: address comments
2024-06-21 15:30:36 +02:00
Riqwan Thamir 03924a4ff6 chore: move to swc/jest (#7739)
* chore: move to swc

* chore: fix tax rate tests

* chore: undo failed test

* chore: fix unit tests script

* chore: use node 20

* Update scripts/run-workspace-unit-tests-in-chunks.sh
2024-06-20 12:59:33 +02:00
Riqwan Thamir f61557712c chore: make apis nullable (#7763)
what:

- makes top level attributes of each object an optional field in the http layer where possible

RESOLVES CORE-2229
2024-06-20 10:10:59 +00:00
Riqwan Thamir 33c4cd34cc chore: export DML builders + fix default undefined values in SQL (#7776)
* chore: export dml builders through utils

* chore: fix undefined sql error

* chore: upgrade to ts 5

* chore: use isDefined
2024-06-20 10:45:49 +02:00
Riqwan Thamir 0d04c548f5 feat(dashboard,types,promotion,medusa): hide fields on promotions depending on templates (#7746)
**what:**

- hides different fields depending on the chosen template
- remove operator values API
- fixes to edit promotion rules
- make currency optional for promotion

RESOLVES CORE-2297
2024-06-18 16:47:42 +00:00
Riqwan Thamir 288e41856b fix(core-flows): delete existing payment session before creating new (#7751)
what:

Multiple active sessions are used for split payments. We don't currently support split payments. Until we have that implemented, this change is to ensure that whenever we create a new payment session, we delete an existing session if present. 

RESOLVES CORE-2284
2024-06-18 11:51:20 +00:00
Riqwan Thamir 4c962b97b1 chore: extend timeout on flaky spec (#7760) 2024-06-18 12:01:12 +02:00
Riqwan Thamir 263d9d0f22 feat(core-flows,utils): add payment + shipment workflow events (#7749) 2024-06-17 18:05:05 +02:00
Riqwan Thamir 3d33f06e77 chore: upgrade jest everywhere (#7703) 2024-06-14 07:35:30 +02:00
Riqwan Thamir 41528ddecf fix: ability to update price list status on admin (#7699) 2024-06-13 21:29:02 +02:00
Riqwan Thamir c57223a3a2 chore: price list prices of a product can be deleted (#7700) 2024-06-13 12:19:09 +02:00
Riqwan Thamir 129fb447d0 chore: allow calculating prices without explicit fields (#7691) 2024-06-12 20:04:53 +02:00
Riqwan ThamirandAdrien de Peretti 39ddba2491 chore: ability to group events on redis event bus (#7655)
* chore: ability to group events on redis event bus

* chore: fix tests

* Update packages/modules/event-bus-redis/src/services/event-bus-redis.ts

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>

* chore: change shape of input and body data

* chore: fix builds

* chore: address comments

* chore: fix unit test

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
2024-06-10 22:15:43 +02:00
Riqwan Thamir fbb00f3863 chore: group & release events for local eventbus (#7649)
* chore: stage & release events for local eventbus

* chore: address review

* chore: mock emitter correctly
2024-06-07 15:31:16 +02:00
Riqwan Thamir 1f1b996f63 chore: buyget templates add default target + buy rules (#7500)
* chore: buyget templates add default target + buy rules

* chore: reposition

* chore: address comments

* chore: added fixes

* chore: fix typo

* chore: fix strictness checks
2024-06-07 09:47:31 +02:00
Riqwan Thamir 0507dbe027 chore(core-flows,inventory,types,medusa): add fixes to inventory module + location levels api (#7629)
what:

- santizes inputs to prevent reserved_quantity from being updated directly
- inventory items create api can create location levels
- add validation to update quantity of reservation items
- general cleanup

RESOLVES CORE-2254
2024-06-06 12:58:17 +00:00
Riqwan Thamir 0a5b2b5fa7 chore: fix inventory items specs (#7620) 2024-06-05 15:27:54 +02:00
Riqwan Thamir e7005a0aac feat(core-flows,medusa): adds inventory kit creation to variants endpoint (#7599)
what:

When creating a variant, we can now create inventory as a part of the product and variants create endpoint.

This applies only to variants where `manage_inventory=true`. 2 cases present itself:

1. When inventory_items are present
  - Link an inventory item with required_quantity to the variant
  - the inventory item already needs to be present
2. When inventory_items are not present
  - A default inventory item will be created
  - links the created item to the variant with a default required_quantity
  
  
RESOLVES CORE-2220
2024-06-04 13:49:31 +00:00
Riqwan Thamir ecfbfcc707 feat(core-flows,modules-sdk,types,medusa,link-modules): adds variant <> inventory item link endpoints (#7576)
what:

- adds variant inventory link management endpoints:
```
Link inventory item to variant
POST /products/:id/variants/:vid/inventory-items

Update variant's inventory item link
POST /products/:id/variants/:vid/inventory-items/:iid

Unlink variant's inventory item
DELETE /products/:id/variants/:vid/inventory-items/:iid
```

- a batch endpoint that does the above 3 across variants
```
POST /products/:id/variants/inventory-items
```
2024-06-03 18:23:29 +00:00
Riqwan Thamir 2d956931b3 chore: append variants to created products on workflow (#7560) 2024-05-30 22:23:43 +02:00
Riqwan Thamir 22891060f9 chore: use product variant workflow in product create workflow (#7548)
what:

- reuses the product variant create workflow inside product create workflow
2024-05-30 14:04:59 +00:00
Riqwan Thamir 15e9787465 feat(types,medusa): add inventory quantity to products endpoint (#7541)
what:

- when inventory_quantity is requested through the API, we calculate the inventory based on sales channels + stock locations and return the total available inventory.

A variant can have multiple inventory items. As an example:

Table: (variant)
  - 4 (required_quantity via link) x legs (inventory item)
  - 2 x table top

Only if all individual inventory items of a variant are available, do we mark the variant as available as a single unit. 

RESOLVES CORE-2187
2024-05-30 13:20:06 +00:00
Riqwan Thamir f0b9d5534e chore: query inventory items by location id (#7524)
what:

- allows querying inventory items by the correct location_id
2024-05-29 14:14:10 +00:00
Riqwan Thamir 916f0cb6d0 fix(dashboard): Set default tax region as parent if no province is chosen (#7484)
* chore: allow tax region to be optional if no province is chosen

* chore: fallback region
2024-05-28 08:48:00 +02:00
Riqwan Thamir 7baedf73d5 feat(core-flows,types,utils,medusa): Update existing line items when adding the same variant to cart (#7470)
* feat(core-flows,types,utils,medusa): Update existing line items when adding the same variant to cart

* chore: split steps into 2 for add-to-cart

* chore: split steps into 2 for add-to-cart

* chore: iterate safely

* chore: parallelize upsert
2024-05-27 17:54:11 +02:00
Riqwan Thamir ff870482bb feat(medusa,core-flows,types): fix bugs with cart promotions (#7438)
what:

The true source of promotions applied are present in the adjustments, previously we had links as the source of truth, but some issues popped up when you're trying to delete a line item as it was holding onto stale promotion data.

For this to truly work properly in the current form, we would have to pass data from the deleted line item step to the refresh promotion step and mutate the links twice to get the correct promotions for a cart. Additionally, the final list of codes to apply, comes from computeAction, because some previously applied codes could no longer be valid. The combination of passing codes from adjustments to computeActions and the codes returned from the computedActions are how we can accurately calculate the right promotions to apply. 

With this change, the promotions step always look at the latest line item adjustments of the cart, pass them to compute actions, pick the correct codes to apply from the compute actions and then mutate the links based on the final result. This way, we perform the correct calculations for a cart and have promotion links that are correct.
2024-05-24 09:48:14 +00:00
Riqwan Thamir e3beaf5a29 chore: add cart links to promotions/product (#7428) 2024-05-23 16:54:09 +02:00
d1d23f1e8d feat(dashboard,medusa): Promotion Campaign fixes (#7337)
* chore(medusa): strict zod versions in workspace

* feat(dashboard): add campaign create to promotion UI

* wip

* fix(medusa): Missing middlewares export (#7289)

* fix(docblock-generator): fix how type names created from Zod objects are inferred (#7292)

* feat(api-ref): show schema of a tag (#7297)

* 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

* chore: add action to automatically label docs (#7284)

* chore: add action to automatically label docs

* removes the paths param

* docs: preparations for preview (#7267)

* configured base paths + added development banner

* fix typelist site url

* added navbar and sidebar badges

* configure algolia filters

* remove AI assistant

* remove unused imports

* change navbar text and badge

* lint fixes

* fix build error

* add to api reference rewrites

* fix build error

* fix build errors in user-guide

* fix feedback component

* add parent title to pagination

* added breadcrumbs component

* remove user-guide links

* resolve todos

* fix details about authentication

* change documentation title

* lint content

* chore: fix bug with form reset

* chore: address reviews

* chore: fix specs

* chore: loads of FE fixes + BE adds

* chore: add more polishes + reorg files

* chore: fixes to promotions modal

* chore: cleanup

* chore: cleanup

* chore: fix build

* chore: fkix cart spec

* chore: fix module tests

* chore: fix moar tests

* wip

* chore: templates + fixes + migrate currency

* chore: fix build, add validation for max_quantity

* chore: allow removing campaigns

* chore: fix specs

* chore: scope campaigns based on currency

* remove console logs

* chore: add translations + update keys

* chore: move over filesfrom v2 to routes

* chore(dashboard): Delete old translation files (#7423)

* feat(dashboard,admin-sdk,admin-shared,admin-vite-plugin): Add support for UI extensions (#7383)

* intial work

* update lock

* add routes and fix HMR of configs

* cleanup

* rm imports

* rm debug from plugin

* address feedback

* address feedback

* temp skip specs

---------

Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
Co-authored-by: Stevche Radevski <sradevski@live.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2024-05-23 15:28:00 +02:00
Riqwan Thamir 43613f3f58 chore: pick the default store region (#7369)
* chore: pick the default store region

* chore: fix test

* chore: remove from defaults workflow and move to seeds

* chore: undo payment provider change

* chore: rearrange conditionals
2024-05-21 12:05:01 +02:00
Riqwan Thamir 442b0b2038 chore: rename route from api-v2 to api (#7379)
* chore: rename route from api-v2 to api

* chore: change oas references

* chore: remove v2 ref
2024-05-21 10:44:02 +02:00
Riqwan Thamir b78703b8c6 chore: fix variant pricing validation for carts (#7344) 2024-05-16 09:03:37 +02:00
Riqwan Thamir bb2b041954 feat(dashboard): add campaign create to promotion UI (#7306)
* chore(medusa): strict zod versions in workspace

* feat(dashboard): add campaign create to promotion UI

* chore: fix bug with form reset

* chore: address reviews
2024-05-15 10:43:13 +02:00
Riqwan Thamir 7e43aabda0 chore(medusa): strict zod versions in workspace (#7296) 2024-05-10 17:16:16 +02:00
Riqwan Thamir 6ec5ded6c8 feat(dashboard): add promotions to campaign UI (#7283)
* feat(core-flows,types,medusa): API to add promotions to campaign

* chore: consolidate specs

* chore: split workflows step into 2

* chore: fix tests

* chore: fix specs

* chore: add promotions to campaign UI

* chore: fix bug wrt to not refreshing

* chore: address review comments
2024-05-10 10:39:01 +02:00
Riqwan Thamir ea872cbda9 chore: cleanup admin function (#7285) 2024-05-10 08:13:14 +00:00
Riqwan Thamir 9a14aeebcf feat(core-flows,types,medusa): API to add promotions to campaign (#7277)
what:

- adds an API to add promotions to campaign
- reworks module to perform atomic actions
2024-05-10 07:53:56 +00:00
Riqwan Thamir 6da2964998 feat(dashboard,core,medusa,promotion): add campaigns UI (#7269)
* feat(dashboard,core,medusa,promotion): add campaigns UI

* chore: add without campaign choice to promotion ui

* chore: fix builds and types

* chore: fix design issues

* chore: address pr reviews
2024-05-09 10:00:28 +02:00
0430e63b0b feat(core-flows,typers,utils,medusa): add payment auth step to complete cart workflow - [complete cart part 3] (#7248)
* chore: authorize payment sessions for cart

* chore: add spec for cart returns

* fix: Correctly select fields for cart

* chore: fix specs + address comments

---------

Co-authored-by: Stevche Radevski <sradevski@live.com>
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
2024-05-06 23:34:56 +02:00
Riqwan Thamir e97b0125b5 chore: add build step to pipeline (#7219) 2024-05-05 10:08:31 +02:00
Riqwan Thamir f129415650 feat(medusa,core-flows): complete cart [part-1] (#7201)
what:

- adds a very basic complete cart endpoint that creates an order
- the complete cart workflow currently does the following:
  - create tax lines
  - create order
2024-05-02 22:24:50 +00:00
Riqwan Thamir ea1d926dfa chore: fix promotion not found error text (#7200) 2024-05-02 08:46:10 +02:00
Riqwan Thamir efa3308d78 feat(medusa): add middleware filters + scope products (#7178)
* chore: add middleware filters + scope products

* chore: fix spec + add changeset

* chore: add internal category to list test
2024-04-30 16:59:43 +02:00
Riqwan Thamir 11517f0faf feat(medusa,types): added store apis for products (#7144)
what:

- adds products list api
- adds products retrieve api

RESOLVES CORE-2016
2024-04-29 15:14:41 +00:00
Riqwan Thamir d2393f004e feat(core-flows, medusa): add shipping methods to cart API (#7150)
* feat(core-flows, medusa): add shipping methods to cart API

* chore: change id to option_id

* chore: use list listShippingOptionsForContext instead of validateShippingOption

* chore: remove comment

* chore: add refresh shipping methods step

* chore: set cart step

* chore: update all workflows to refresh shipping methods

* chore: add tests + cleanup
2024-04-29 09:25:23 +02:00
Riqwan Thamir 2446151420 feat(medusa): migrate store cart endpoints to zod (#7130) 2024-04-23 13:31:52 +02:00
Riqwan ThamirandFrane Polić 93ef94cad3 feat(medusa,types): create promotion flows (#7029)
* chore: create promotion phase

* chore: fix specs + minor ui changes

* chore: minor fixes

* chore: added changeset

* address pr reviews

* chore: fix spec

* Update packages/admin-next/dashboard/src/v2-routes/promotions/common/edit-rules/edit-rules.tsx

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>

* chore: fix specs

---------

Co-authored-by: Frane Polić <16856471+fPolic@users.noreply.github.com>
2024-04-23 12:08:39 +02:00
Riqwan Thamir 18f3aacee6 feat(core-flows,medusa,types): fulfillment API: create (#7101)
what:

- adds fulfillment create API

RESOLVES CORE-1962
2024-04-23 08:35:44 +00:00
Riqwan Thamir 38c971f111 feat(medusa,types): add fulfillment provider list api (#7124)
* feat(medusa,types): add fulfillment provider list api

* chore: remove timestamps
2024-04-22 19:35:33 +02:00
Riqwan Thamir 62b9dcc6c1 feat(core-flows,medusa,types): cancel fulfillments API (#7095)
what:

- adds POST cancel fulfillments endpoint

RESOLVES CORE-1972
2024-04-18 11:00:01 +00:00
Riqwan Thamir 2a835cae13 feat(pricing): pricing uses big number (#7075)
what:

- pricing model price#amount uses big number.

blocker:

- upsertWithReplace decoration fix
2024-04-17 15:57:41 +00:00
Riqwan Thamir 8d356217bd feat(medusa,core-flows,types): adds batch operations to price list prices (#7077)
what:

- adds batch operations to price list prices

RESOLVES CORE-1969
RESOLVES CORE-1970
2024-04-17 15:36:09 +00:00
Riqwan ThamirandAdrien de Peretti 00e6b21bb5 feat(medusa,dashboard,tax): added tax rates and regions UI (#7026)
whats missing:

- make rules required for overrides
- conditions for other rules
- populating condition reference ids with labels on update

Co-authored-by: Adrien de Peretti <25098370+adrien2p@users.noreply.github.com>
2024-04-16 08:26:12 +00:00
Riqwan Thamir 8eb2a4156d chore: disable turbo and jest cache (#7024)
* chore: disable turbo cache

* chore: remove cache for build

* chore: disable jest cache
2024-04-09 14:04:31 +02:00
Riqwan Thamir 5e953f8cf3 chore: add batch update prices for price lists (#6999) 2024-04-08 09:23:23 +02:00
Riqwan Thamir 5e30b8cce6 feat(dashboard): added details page for promotions + edit sliders (#6882)
* chore: added details page for promotions

* chore: add edit rules, edit details and edit campaign pages

* chore: change to type button

* chore: connection for rules

* chore: listing rule labels of multiple modules

* chore: add badge summary list

* chore: fix campaigns
2024-04-06 13:20:31 +02:00
Riqwan Thamir eb93e8f386 chore: rename rule endpoints validators (#6955) 2024-04-05 10:41:31 +00: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
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
Riqwan Thamir f176aa2b7b chore: remove noop tests (#6855) 2024-03-28 09:40:34 +01:00
Riqwan Thamir 8d9af2df81 fix: bust cache builds (#6847)
* chore: test cache build

* test turbo

* chore: intentionally break tests

* chore: fix test

* chore: rename test
2024-03-27 17:46:32 +01:00
Riqwan Thamir 448a30d030 chore(dashboard): render main layout as home page for v2 (#6823)
* chore(dashboard): render main layout as home page for v2

* chore: throw an error on store not existing
2024-03-26 15:29:06 +01:00
Riqwan ThamirandAdrien de Peretti 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
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 ThamirandAdrien de Peretti 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
Riqwan Thamir 4c98545ab3 feat: shard modules and API integration tests (#6775)
what:

- runs module and api integration tests in matrix strategy
  - v28 of jest comes with sharding support, which we can utilize when we upgrade
- splits the tests by number of matrix jobs and run them in parallel
  - This introduced some flakiness in some specs, but couldn't reproduce locally. Those have been skipped for now.
- uses swc/jest for added performance
  - Locally, a chunk took 90 seconds with babel and 30 seconds with swc. 
  - This translated to 2 mins saved per shard in CI, but haven't tested this enough.
2024-03-22 11:15:01 +00:00
Riqwan Thamir b792c4cab5 chore: merge money amounts and price set money amounts (#6768)
what: 

- merges price set money amounts and money amount
2024-03-21 16:10:13 +00:00
Riqwan Thamir cf8b5ce85b chore: pricing models uses standardized relationships attributes (#6767)
what:

- all relationships under all models are standardized
2024-03-21 10:01:52 +00:00
Riqwan Thamir eefde48eef chore: update naming in abstract service to dto specifics (#6763) 2024-03-20 17:59:45 +01:00
Riqwan Thamir 20243e22ee feat(pricing): pricing models are made soft deletable (#6732)
what:

- pricing models are made soft deletable
- adds missing timestamp attributes
- removes unwanted relationships + cascade cleanup
2024-03-20 16:03:17 +00:00