Stevche Radevski
012a624ee4
feat: Flatten the provider config for all modules ( #7930 )
2024-07-03 16:57:12 +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
Adrien de Peretti
2711012d96
feat: Make the Module require the service name ( #7923 )
...
* feat: Make the Module require the service name
* finalize types
2024-07-03 15:44:57 +02:00
Adrien de Peretti
617a5972bf
feat: refactor module joiner config and links generation ( #7859 )
...
* feat: refactor module joiner config and links generation
* improve typings
* WIP
* WIP
* WIP
* rename type file
* create link config
* finish typings and add utils
* improve links
* WIP typings
* finalize ExportModule utils
* finalize ExportModule utils
* fix: dml tests
* improve and fixes
* simplify typings with id changes
* add toJSON
* multiple fixes and entity builder fixes
* fix currency searchable
* fix tests
* medusa service refactoring
* cleanup
* cleanup and fixes
* make module name optional
* renaming
---------
Co-authored-by: Harminder Virk <virk.officials@gmail.com >
2024-07-03 13:12:49 +02:00
Harminder Virk
46f15b4909
fix: inferring of relationship types ( #7913 )
...
FIXES: CORE-2448
2024-07-03 13:29:27 +05:30
Stevche Radevski
b4aa7fb9a7
fix: Disallow creating duplicate prices ( #7866 )
...
* fix: Disallow creating duplicate prices
* fix: Don't pass id to manager create in upsertWithReplace
2024-07-02 17:06:58 +02:00
Stevche Radevski
ef5f5363a1
fix: Delete before upsert in upsertWithReplace to handle relations with unique constraint ( #7875 )
2024-07-02 13:56:12 +02:00
Carlos R. L. Rodrigues
07715e6b50
chore(order): cancel return ( #7881 )
2024-07-02 06:52:58 -03:00
Harminder Virk
b3236ff31c
Add support for native enums ( #7903 )
2024-07-02 15:22:09 +05:30
Harminder Virk
074e4a888e
Mark keys as primary with explicit method call ( #7900 )
2024-07-02 13:27:21 +05:30
Carlos R. L. Rodrigues
17e6a83b59
fix(utils): joiner config from medusa project ( #7896 )
2024-07-01 13:48:34 -03:00
Stevche Radevski
9daec5d7ac
chore: Migrate notification module to DML ( #7835 )
2024-07-01 09:17:32 +00:00
Stevche Radevski
c661180c44
feat: Completely revamp the pricing module ( #7852 )
...
* feat: Completely revamp the pricing module
* chore: Update all places to the new pricing interfaces
* fix: Remove unnecessary join to itself
* chore: Add data migration for existing users
* fix: Apply the correct index to price rule
2024-07-01 09:47:03 +02:00
Shahed Nasser
72f7500c84
chore(docs): DML API Reference ( #7863 )
...
* added dml options
* added tsdocs + configurations
2024-07-01 10:21:56 +03:00
Oli Juhl
fa6cd84049
chore: Migrate region module to use DML ( #7837 )
2024-06-29 13:14:52 +00:00
Carlos R. L. Rodrigues
9f3998393b
fix(totals): order item totals ( #7867 )
2024-06-28 09:34:25 -03:00
Riqwan Thamir
789d545b9e
feat(utils,types): infer keys in query builder from schema ( #7861 )
2024-06-27 20:38:06 +02:00
Carlos R. L. Rodrigues
7602fe8b61
chore: totals refundable_total ( #7857 )
2024-06-27 13:56:55 -03: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
Adrien de Peretti
68dbcda84c
fix: DML Enum property ( #7846 )
...
* fix: DML Enum property
* add more tests
* fix unit tests
2024-06-26 17:01:57 +02: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
Adrien de Peretti
dc307c658d
feat: Add support for array properties DML ( #7836 )
2024-06-25 20:51:14 +02:00
Adrien de Peretti
39038ddb0a
chore: various DML improvements ( #7833 )
...
* chore: various DML improvements
* Check is something through static utils
* Check is something through static utils
* allow to define a schema with table name
* restrict searchable to text only
* rm searchable modifier
* extract constructor logic into separate function
2024-06-25 18:00:39 +02:00
Adrien de Peretti
66d17fabde
chore: rename extractor type to InferEntityType ( #7829 )
2024-06-25 13:43:11 +02:00
Adrien de Peretti
34c44078e7
fix: DML relation management for many to one relation ship foreign keys ( #7790 )
...
FIXES CORE-2369
cc @thetutlage
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2024-06-24 18:54:54 +00:00
Oli Juhl
25210369d9
fix(utils): Uppercase event action name ( #7822 )
...
Currently, the keys of the events contain a lowercased action, e.g. `INVENTORY_ITEM_created`, which is breaking our usage across multiple modules
2024-06-24 17:43:49 +00:00
Riqwan Thamir
96fb7a962e
feat(utils,currency): Migrate currency to use DML ( #7807 )
2024-06-24 19:07:26 +02:00
Shahed Nasser
79d90fadc4
feat(utils): configure notification module by default ( #7814 )
...
Add the notification module to `defineConfig` and configure the local notification module.
2024-06-24 14:47:40 +00:00
Adrien de Peretti
021f5ea016
fix: medusa service should infer names when not provided ( #7818 )
...
* fix: medusa service should infer names when not provided
* fix types
* fix typings
2024-06-24 16:35:44 +02:00
Adrien de Peretti
27bb93c5b5
chore: Fix export and option of mikro orm define config util ( #7809 )
2024-06-24 09:31:52 +00: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
Adrien de Peretti
ae6dbc06be
chore: Update module test runner to support DmlEntities when needed ( #7799 )
...
* chore: Update module test runner to support DmlEntities when needed
* update es version for core test utils
* fix test
* update swc config
2024-06-24 09:44:01 +02:00
Adrien de Peretti
8fa43a6db3
Feat/define mikro orm configuration dev ( #7798 )
...
* chore: define mikro orm config for CLI
* add tests
* fix types
* fix import
---------
Co-authored-by: Riqwan Thamir <rmthamir@gmail.com >
2024-06-24 09:10:54 +02:00
Harminder Virk
d122b678a8
feat: initialize nullable properties with null value ( #7795 )
2024-06-21 16:41:26 +05:30
Adrien de Peretti
90e6ca0e9e
chore: Internal medusa service proper typings with DML ( #7792 )
2024-06-21 12:36:54 +02:00
Stevche Radevski
ee35379e21
chore: Rename all event keys to uppercase ( #7787 )
...
* chore: Rename all event keys to uppercase
* fix: Remove main entity from event builder
2024-06-21 10:41:35 +02:00
Adrien de Peretti
937a632eb6
chore: make module loaders DML aware and auto generate joiner config ( #7781 )
...
* chore: make module loaders DML aware and auto generate joiner config
* fixes and cleanup
* improve dml entity check
* add unit tests on load resources
* cleanup deps
* cleanup deps
* cleanup Modules
* finalise
* fix modules-sdk jest
* fix modules-sdk jest
* fix import
* fix import
2024-06-20 18:18:07 +02: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
Harminder Virk
45ad70e96b
Add support for pivot table and entity in manyToMany relationships ( #7779 )
2024-06-20 14:13:31 +05:30
Adrien de Peretti
48963f55ef
Chore/rm main entity concept ( #7709 )
...
**What**
Update the `MedusaService` class, factory and types to remove the concept of main modules. The idea being that all method will be explicitly named and suffixes to represent the object you are trying to manipulate.
This pr also includes various fixes in different modules
Co-authored-by: Stevche Radevski <4820812+sradevski@users.noreply.github.com >
Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com >
2024-06-19 13:02:16 +00:00
Harminder Virk
2895ccfba8
Add support for id property type ( #7775 )
2024-06-19 17:59:03 +05:30
Harminder Virk
fd87858bd9
Handle embedded pg schema name inside the table name when generating indexes ( #7774 )
2024-06-19 16:48:44 +05:30
Harminder Virk
0b623fa27a
Allow entities to contain pg schema name in their name ( #7773 )
2024-06-19 14:39:33 +05:30
Harminder Virk
1451112f08
Add support for created and updated at timestamps ( #7765 )
2024-06-18 21:22:31 +05:30
Carlos R. L. Rodrigues
cfa983001b
feat(order): create claim and exchange ( #7734 )
2024-06-18 08:08:16 -03:00
Adrien de Peretti
e0b14519f1
fix: Medusa service base method transaction ( #7758 )
...
**What**
Remove transaction decorator from the base medusa service method, the transaction will always be coming from the shared context. It fixes the issue that when you consume a base method directly it will return a proper tuple from the DB instead of the one from the entity map cc @VariableVic
**NOTE**
This pr also fix some categories issues in the product module which was preventing the tests from working. if @sradevski you could have a look later, in the mean time we can still merge it
FIXES CORE-2342
2024-06-18 10:58:54 +00:00
Harminder Virk
8410592239
Rename schema to property ( #7761 )
2024-06-18 16:14:09 +05:30