Commit Graph

31 Commits

Author SHA1 Message Date
Philip Korsholm
5c01b4e6b6 fix(inventory): Use correct table name in migration (#4155)
* whoops

* add changeset
2023-05-23 12:42:21 +02:00
Philip Korsholm
7fd22ecb4d feat(client-types, types, medusa, inventory): Inventory item and reservation item datamodel updates (#3971)
* add fields

* add title in migration

* update api endpoints to reflect datamodel changes

* update migration exports for inventory module

* add changeset

* add created_by for reservation item
2023-05-04 17:25:48 +02:00
Philip Korsholm
4a85627435 feat(medusa, medusa-plugin-brightpearl): Inventory management for Brightpearl (#3192) 2023-04-23 12:50:19 +02:00
Adrien de Peretti
af710f1b48 fix(medusa): Bulk create variant + pass transaction to the inventory service context methods (#3835)
* fix(medusa): Bulk create variant and pass transaction where needed

* Create fair-penguins-stare.md

* fix unit tests

* event

* transaction orchestration

* revert options

* Prevent isolated module to use the given transaction if any in the exposed service

* Use enum

* remove changeset to re do it

* Create thick-ants-tickle.md

* update event bus local

* remove changeset to re do it

* Create thick-kings-wonder.md

* remove changeset to re do it

* Create slimy-bees-eat.md

* Update packages/utils/src/event-bus/index.ts

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

---------

Co-authored-by: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com>
Co-authored-by: Oliver Windall Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-04-19 09:27:48 +02:00
Oliver Windall Juhl
cd2d4f6455 fix(inventory): Add missing context arguments (#3863)
* add missing context

* Create ninety-peas-complain.md
2023-04-18 08:43:36 +02:00
Riqwan Thamir
abdb74d997 chore(medusa, utils): rename buildLegacyFieldsListFrom to objectToStringPath (#3738)
* chore(medusa): rename buildLegacyFieldsListFrom to objectToStringPath

* chore: address pr comments
2023-04-07 10:27:13 +02:00
Carlos R. L. Rodrigues
bd12a95083 chore: Initialize method for modules (#3649)
What:
- Export initialize methods for all modules to be used as a package.
- Export `runMigrations` and `revertMigration` on modules that DB migrations are available

```typescript
import {
  initialize as initializeInventory,
  InventoryServiceInitializeOptions,
  runMigrations as runMigrationsInventory,
} from "@medusajs/inventory";

import { initialize as eventBusInitialize } from "@medusajs/event-bus-redis";

import { initialize as cacheInitialize } from "@medusajs/cache-redis";

const eventBus = await eventBusInitialize({
  redisUrl: "localhost",
});

const cache = await cacheInitialize({
  redisUrl: "localhost",
});

const options: InventoryServiceInitializeOptions = {
  database: {
    type: "postgres",
    url: `postgres://postgres:@localhost/inventory`,
  },
};

await runMigrationsInventory({
  options,
});

const inventoryService = await initializeInventory(options, {
  eventBusService: eventBus,
});

const sku = "sku_123"
const item = await service.createInventoryItem({
  sku,
});

cache.set(sku, { item });

```
2023-03-31 12:09:04 +00:00
Philip Korsholm
5e405be02c feat(medusa): Remove reservations for all line items when an order edit is accepted (#3544)
**What**
- Remove all allocations to line items once an order edit is confirmed

**Why**
- Since all line items of an order are discarded once an order edit is confirmed it will orphan the reservations causing inconsistencies with the stock
2023-03-30 09:56:10 +00:00
Carlos R. L. Rodrigues
55e94d0b45 fix(modules-sdk): check if dependency is registered (#3620)
* fix: check if dependency is registered

* changeset
2023-03-29 08:47:12 +02:00
Carlos R. L. Rodrigues
4e9d257d3b Chore(medusa,utils,types,inventory,stock-location): remove core dependency modules (#3531) 2023-03-23 08:07:32 -03:00
Oliver Windall Juhl
ef5ef9f5a2 feat(medusa,event-bus-local,event-bus-redis): Event Bus modules (#2599) 2023-03-22 10:26:21 +01:00
Philip Korsholm
026bdab05d Feat/fulfill swaps and claims with locations (#3518)
* re-add if statements

* initial implementation

* add changeset

* address feedback

* remove context param from create-fulfillment

* fix tests
2023-03-20 13:48:25 +01:00
Carlos R. L. Rodrigues
aa690beed7 feat(medusa): Modules initializer (#3352) 2023-03-17 12:18:52 -03:00
Philip Korsholm
02c77d7059 Fix/adjust reservations correctly (#3474)
**What**
- Adjust reservations correctly according to the following heuristic: 

adjustment by addition:  (i.e. positive quantity adjustment passed to the adjustment method)
- if a reservation for the line-item in the location exists add quantity to that
- if not create a new reservation

adjustment by subtraction: 
- if a reservation with the exact quantity exists, delete it and return
- if a reservation with a greater quantity exists, subtract from it and return 
- otherwise delete from reservations until a reservation with greater quantity than the remaining is found and adjust that with the remaining quantity OR there are no more reservations

Fixes CORE-1247
2023-03-16 09:47:54 +00:00
Philip Korsholm
38c8d49f46 Feat(medusa): handle reservation quantity update for line items (#3484)
**What**
-  Raise exception if a reservation is updated or created to have larger quantity than is unfulfilled for a line-item

Fixes CORE-1249
2023-03-16 09:15:39 +00:00
Carlos R. L. Rodrigues
77d46220c2 Feat(modules-sdk,inventory,stock-location): modules isolated connection (#3329)
* feat: scoped container for modules
2023-03-15 12:09:45 -03:00
Philip Korsholm
10bf05c147 Fix(inventory, stock-location): Remove orphaned location levels and reservations (#3460)
**What**
- Remove related inventory levels and reservation items when a stock location is removed

**How**
- Add bulk deletion methods for both inventory levels and reservation items to the inventory service api
- invoke both on location removal

Fixes CORE-1232
2023-03-15 09:12:46 +00:00
Philip Korsholm
fe9eea4c18 feat(medusa, admin-ui, medusa-react, medusa-js): Allow toggling of manage inventory (#3435)
**What**
- Toggle manage inventory in the inventory management modal

**How**
- Create/update/remove inventory item based on if `manage_inventory` is set and if an inventory item already exists
- Move all stock location updates to when the modal is submitted
- Add create-inventory-item endpoint in the core

Fixes CORE-1196

Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
2023-03-14 16:14:31 +00:00
Philip Korsholm
30a3203640 Fix(medusa): Missing location id on fulfillments (#3462)
**What**
- include location id when creating a fulfillment
- Allow location updates to reservations without passing along quantity

**Why**
- location_id on fulfillment was null after creation

Fixes CORE-1242, CORE-1243
2023-03-14 11:08:52 +00:00
olivermrbl
24604f1b71 chore: Merge conflicts with master 2023-03-14 11:43:31 +01:00
Adrien de Peretti
f0a1355feb feat(medusa): Bulk emit events (#3407) 2023-03-13 15:28:51 +01:00
Philip Korsholm
08c8aa46c5 fix(medusa): Only add ordering select if not already present (#3319) 2023-02-26 13:08:06 +01:00
Carlos R. L. Rodrigues
ad7f56506f Feat(medusa,modules-sdk): Modules SDK package (#3294) 2023-02-23 13:09:35 -03:00
Adrien de Peretti
aefe5aa133 feat(medusa): Expose an activeManager_ getter in TransactionBaseService (#3256) 2023-02-16 10:26:23 +00:00
Riqwan Thamir
121b42acfe chore(medusa): Typeorm upgrade to 0.3.11 (#3041) 2023-02-15 16:25:30 +01:00
Carlos R. L. Rodrigues
923ccece24 feat(medusa,stock-location,inventory): Integration tests (#3149) 2023-02-06 09:02:43 -03:00
Carlos R. L. Rodrigues
f65f590a27 feat: inventory items api (#2971)
What:
Admin endpoints to handle inventory items and their stock levels per location

FIXES: CORE-975

Co-authored-by: Sebastian Rindom <7554214+srindom@users.noreply.github.com>
2023-01-23 12:06:23 +00:00
Carlos R. L. Rodrigues
aa54d902e5 chore: added missing withTransacton, create-variant using TO (#3047)
Create variant integrated with Inventory modules
2023-01-18 09:29:06 -03:00
Oliver Windall Juhl
1547dd8143 fix(medusa): Add module config to transaction base service (#3033) 2023-01-15 19:37:11 +01:00
Carlos R. L. Rodrigues
9dbccd9ca7 feat(medusa, stock-location, inventory): Allow modules to integrate with core (#2997)
* feat: module shared resources
2023-01-13 10:39:43 -03:00
Carlos R. L. Rodrigues
93ee248493 feat(medusa, inventory): Inventory Management module (#2956)
* feat: inventory module
2023-01-10 14:38:30 -03:00