@medusajs/settings
v2.22.0
Published
Medusa Settings module
Keywords
Readme
Settings Module for Medusa: manages view configurations, layout configurations, property labels, and user preferences. Use it to store admin dashboard personalization, such as data-table views, page layouts, and per-user preferences. It ships with @medusajs/medusa and is registered by default, so Medusa applications don't install it directly.
At a glance
| | |
| --- | --- |
| Package | @medusajs/settings |
| Type | Commerce Module |
| Module key | Modules.SETTINGS ("settings") |
| Registered by default | Yes |
| Import from | @medusajs/medusa/settings |
Features
- Store data-table view configurations per entity, personal to a user or as a shared system default.
- Store per-zone layout configurations for a user or as a system default.
- Set custom labels and descriptions for an entity's properties.
- Store arbitrary user preferences as key-value pairs.
The Admin API routes for view configurations require the view_configurations feature flag (MEDUSA_FF_VIEW_CONFIGURATIONS), which is disabled by default.
Installation
No installation needed. The module is included in @medusajs/medusa and registered by default.
Usage
Resolve the module's service from the container, for example in a workflow step:
import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk"
import { Modules } from "@medusajs/framework/utils"
const setPreferenceStep = createStep(
"set-preference",
async ({}, { container }) => {
const settingsModuleService = container.resolve(Modules.SETTINGS)
const preference = await settingsModuleService
.setUserPreference("user_123", "theme", {
mode: "dark",
})
return new StepResponse({ preference })
}
)Configuration
| Option | Type | Description | Default |
| --- | --- | --- | --- |
| entityOverrides | Record<string, EntityOverride> | Overrides for how an entity's columns appear in data tables, such as default visible fields, field ordering, and computed columns, keyed by entity name. Merged with the built-in overrides, and your values take precedence. | {} |
