docs: updates to use DML and other changes (#7834)

- Change existing data model guides and add new ones for DML
- Change module's docs around service factory + remove guides that are now necessary
- Hide/remove all mentions of module relationships, or label them as coming soon.
- Change all data model creation snippets to use DML
- use `property` instead of `field` when referring to a data model's properties.
- Fix all snippets in commerce module guides to use new method suffix (no more main model methods)
- Rework recipes, removing/hiding a lot of sections as a lot of recipes are incomplete with the current state of DML.


### Other changes

- Highlight fixes in some guides
- Remove feature flags guide
- Fix code block styles when there are no line numbers.

### Upcoming changes in other PRs

- Re-generate commerce module references (for the updates in the method names)
- Ensure that the data model references are generated correctly for models using DML.
- (probably at a very later point) revisit recipes
This commit is contained in:
Shahed Nasser
2024-06-26 07:55:59 +00:00
committed by GitHub
parent 62dacdda75
commit 0462cc5acf
126 changed files with 1808 additions and 14242 deletions
@@ -6,9 +6,9 @@ export const metadata = {
In this document, youll learn how registered and unregistered accounts are distinguished in the Medusa application.
## `has_account` field
## `has_account` Property
The [Customer data model](/references/customer/models/Customer) has a `has_account` field, which is a boolean that indicates whether a customer is registerd.
The [Customer data model](/references/customer/models/Customer) has a `has_account` property, which is a boolean that indicates whether a customer is registerd.
When a guest customer places an order, a new `Customer` record is created with `has_account` set to `false`.
@@ -18,6 +18,6 @@ When this or another guest customer registers an account with the same email, a
## Email Uniqueness
The above behavior means that two `Customer` records may exist of the same email. However, the main difference is the `has_account` fields value.
The above behavior means that two `Customer` records may exist of the same email. However, the main difference is the `has_account` property's value.
So, there can only be one guest customer (having `has_account=false`) and one registered customer (having `has_account=true`) with the same email.
@@ -25,7 +25,7 @@ In this guide, youll find common examples of how you can use the Customer Mod
const customerModuleService: ICustomerModuleService =
request.scope.resolve(ModuleRegistrationName.CUSTOMER)
const customer = await customerModuleService.create({
const customer = await customerModuleService.createCustomers({
first_name: "Peter",
last_name: "Hayes",
email: "peter.hayes@example.com",
@@ -50,7 +50,7 @@ In this guide, youll find common examples of how you can use the Customer Mod
export async function POST(request: Request) {
const customerModuleService = await initializeCustomerModule()
const customer = await customerModuleService.create({
const customer = await customerModuleService.createCustomers({
first_name: "Peter",
last_name: "Hayes",
email: "peter.hayes@example.com",
@@ -85,7 +85,7 @@ In this guide, youll find common examples of how you can use the Customer Mod
request.scope.resolve(ModuleRegistrationName.CUSTOMER)
const customerGroup =
await customerModuleService.createCustomerGroup({
await customerModuleService.createCustomerGroups({
name: "VIP",
})
@@ -109,7 +109,7 @@ In this guide, youll find common examples of how you can use the Customer Mod
const customerModuleService = await initializeCustomerModule()
const customerGroup =
await customerModuleService.createCustomerGroup({
await customerModuleService.createCustomerGroups({
name: "VIP",
})
@@ -15,7 +15,7 @@ The Customer Module is the `@medusajs/customer` NPM package that provides custom
With the Customer Module, store and manage customers in your store.
```ts
const customer = await customerModuleService.create({
const customer = await customerModuleService.createCustomers({
first_name: "Peter",
last_name: "Hayes",
email: "peter.hayes@example.com",
@@ -28,7 +28,7 @@ You can organize customers into groups. This has a lot of benefits and supports
```ts
const customerGroup =
await customerModuleService.createCustomerGroup({
await customerModuleService.createCustomerGroups({
name: "VIP",
})
@@ -62,7 +62,7 @@ For example:
request.scope.resolve(ModuleRegistrationName.CUSTOMER)
res.json({
customers: await customerModuleService.list(),
customers: await customerModuleService.listCustomers(),
})
}
```
@@ -81,7 +81,7 @@ For example:
const customerModuleService: ICustomerModuleService =
container.resolve(ModuleRegistrationName.CUSTOMER)
const customers = await customerModuleService.list()
const customers = await customerModuleService.listCustomers()
}
```
@@ -99,7 +99,7 @@ For example:
const customerModuleService: ICustomerModuleService =
container.resolve(ModuleRegistrationName.CUSTOMER)
const customers = await customerModuleService.list()
const customers = await customerModuleService.listCustomers()
})
```