1487 lines
49 KiB
JavaScript
1487 lines
49 KiB
JavaScript
export const generatedSidebars = [
|
|
{
|
|
"sidebar_id": "docs",
|
|
"title": "Get Started",
|
|
"items": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "1. Getting Started",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn",
|
|
"title": "Introduction",
|
|
"children": [],
|
|
"chapterTitle": "1.1. Introduction",
|
|
"number": "1.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/installation",
|
|
"title": "Installation",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/installation/docker",
|
|
"title": "Install with Docker",
|
|
"children": [],
|
|
"chapterTitle": "1.2.1. Install with Docker",
|
|
"number": "1.2.1."
|
|
}
|
|
],
|
|
"chapterTitle": "1.2. Installation",
|
|
"number": "1.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "AI Assistants and LLMs",
|
|
"path": "/learn/introduction/build-with-llms-ai",
|
|
"children": [],
|
|
"chapterTitle": "1.3. AI Assistants and LLMs",
|
|
"number": "1.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Architecture",
|
|
"path": "/learn/introduction/architecture",
|
|
"children": [],
|
|
"chapterTitle": "1.4. Architecture",
|
|
"number": "1.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "From v1 to v2",
|
|
"path": "/learn/introduction/from-v1-to-v2",
|
|
"children": [],
|
|
"chapterTitle": "1.5. From v1 to v2",
|
|
"number": "1.5."
|
|
}
|
|
],
|
|
"chapterTitle": "1. Getting Started",
|
|
"number": "1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "2. Customization Tutorial",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Build Custom Features",
|
|
"path": "/learn/customization/custom-features",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Brand Module",
|
|
"path": "/learn/customization/custom-features/module",
|
|
"children": [],
|
|
"chapterTitle": "2.1.1. Brand Module",
|
|
"number": "2.1.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Brand Workflow",
|
|
"path": "/learn/customization/custom-features/workflow",
|
|
"children": [],
|
|
"chapterTitle": "2.1.2. Brand Workflow",
|
|
"number": "2.1.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Brand API Route",
|
|
"path": "/learn/customization/custom-features/api-route",
|
|
"children": [],
|
|
"chapterTitle": "2.1.3. Brand API Route",
|
|
"number": "2.1.3."
|
|
}
|
|
],
|
|
"chapterTitle": "2.1. Build Custom Features",
|
|
"number": "2.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Extend Features",
|
|
"path": "/learn/customization/extend-features",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Link Brands and Products",
|
|
"path": "/learn/customization/extend-features/define-link",
|
|
"children": [],
|
|
"chapterTitle": "2.2.1. Link Brands and Products",
|
|
"number": "2.2.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Extend Core Flow",
|
|
"path": "/learn/customization/extend-features/extend-create-product",
|
|
"children": [],
|
|
"chapterTitle": "2.2.2. Extend Core Flow",
|
|
"number": "2.2.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Query Linked Records",
|
|
"path": "/learn/customization/extend-features/query-linked-records",
|
|
"children": [],
|
|
"chapterTitle": "2.2.3. Query Linked Records",
|
|
"number": "2.2.3."
|
|
}
|
|
],
|
|
"chapterTitle": "2.2. Extend Features",
|
|
"number": "2.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Customize Admin",
|
|
"path": "/learn/customization/customize-admin",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Add Widget",
|
|
"path": "/learn/customization/customize-admin/widget",
|
|
"children": [],
|
|
"chapterTitle": "2.3.1. Add Widget",
|
|
"number": "2.3.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Add UI Route",
|
|
"path": "/learn/customization/customize-admin/route",
|
|
"children": [],
|
|
"chapterTitle": "2.3.2. Add UI Route",
|
|
"number": "2.3.2."
|
|
}
|
|
],
|
|
"chapterTitle": "2.3. Customize Admin",
|
|
"number": "2.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Integrate Systems",
|
|
"path": "/learn/customization/integrate-systems",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "CMS Module",
|
|
"path": "/learn/customization/integrate-systems/service",
|
|
"children": [],
|
|
"chapterTitle": "2.4.1. CMS Module",
|
|
"number": "2.4.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Sync to CMS",
|
|
"path": "/learn/customization/integrate-systems/handle-event",
|
|
"children": [],
|
|
"chapterTitle": "2.4.2. Sync to CMS",
|
|
"number": "2.4.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Schedule Syncing",
|
|
"path": "/learn/customization/integrate-systems/schedule-task",
|
|
"children": [],
|
|
"chapterTitle": "2.4.3. Schedule Syncing",
|
|
"number": "2.4.3."
|
|
}
|
|
],
|
|
"chapterTitle": "2.4. Integrate Systems",
|
|
"number": "2.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Re-Use Customizations",
|
|
"path": "/learn/customization/reuse-customizations",
|
|
"children": [],
|
|
"chapterTitle": "2.5. Re-Use Customizations",
|
|
"number": "2.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Next Steps",
|
|
"path": "/learn/customization/next-steps",
|
|
"children": [],
|
|
"chapterTitle": "2.6. Next Steps",
|
|
"number": "2.6."
|
|
}
|
|
],
|
|
"chapterTitle": "2. Customization Tutorial",
|
|
"number": "2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "3. Framework",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/framework",
|
|
"title": "Overview",
|
|
"children": [],
|
|
"chapterTitle": "3.1. Overview",
|
|
"number": "3.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/medusa-container",
|
|
"title": "Medusa Container",
|
|
"children": [],
|
|
"chapterTitle": "3.2. Medusa Container",
|
|
"number": "3.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules",
|
|
"title": "Modules",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/modules-directory-structure",
|
|
"title": "Directory Structure",
|
|
"children": [],
|
|
"chapterTitle": "3.3.1. Directory Structure",
|
|
"number": "3.3.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/loaders",
|
|
"title": "Loaders",
|
|
"children": [],
|
|
"chapterTitle": "3.3.2. Loaders",
|
|
"number": "3.3.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/isolation",
|
|
"title": "Module Isolation",
|
|
"children": [],
|
|
"chapterTitle": "3.3.3. Module Isolation",
|
|
"number": "3.3.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/container",
|
|
"title": "Module Container",
|
|
"children": [],
|
|
"chapterTitle": "3.3.4. Module Container",
|
|
"number": "3.3.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/options",
|
|
"title": "Module Options",
|
|
"children": [],
|
|
"chapterTitle": "3.3.5. Module Options",
|
|
"number": "3.3.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/service-factory",
|
|
"title": "Service Factory",
|
|
"children": [],
|
|
"chapterTitle": "3.3.6. Service Factory",
|
|
"number": "3.3.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/service-constraints",
|
|
"title": "Service Constraints",
|
|
"children": [],
|
|
"chapterTitle": "3.3.7. Service Constraints",
|
|
"number": "3.3.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/db-operations",
|
|
"title": "Database Operations",
|
|
"children": [],
|
|
"chapterTitle": "3.3.8. Database Operations",
|
|
"number": "3.3.8."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/multiple-services",
|
|
"title": "Multiple Services",
|
|
"children": [],
|
|
"chapterTitle": "3.3.9. Multiple Services",
|
|
"number": "3.3.9."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/commerce-modules",
|
|
"title": "Commerce Modules",
|
|
"children": [],
|
|
"chapterTitle": "3.3.10. Commerce Modules",
|
|
"number": "3.3.10."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/modules/infrastructure-modules",
|
|
"title": "Infrastructure Modules",
|
|
"children": [],
|
|
"chapterTitle": "3.3.11. Infrastructure Modules",
|
|
"number": "3.3.11."
|
|
}
|
|
],
|
|
"chapterTitle": "3.3. Modules",
|
|
"number": "3.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links",
|
|
"title": "Module Links",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/directions",
|
|
"title": "Module Link Direction",
|
|
"children": [],
|
|
"chapterTitle": "3.4.1. Module Link Direction",
|
|
"number": "3.4.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/link",
|
|
"title": "Link",
|
|
"children": [],
|
|
"chapterTitle": "3.4.2. Link",
|
|
"number": "3.4.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/query",
|
|
"title": "Query",
|
|
"children": [],
|
|
"chapterTitle": "3.4.3. Query",
|
|
"number": "3.4.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/index-module",
|
|
"title": "Index Module",
|
|
"children": [],
|
|
"chapterTitle": "3.4.4. Index Module",
|
|
"number": "3.4.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/custom-columns",
|
|
"title": "Add Custom Columns",
|
|
"children": [],
|
|
"chapterTitle": "3.4.5. Add Custom Columns",
|
|
"number": "3.4.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/read-only",
|
|
"title": "Read-Only Links",
|
|
"children": [],
|
|
"chapterTitle": "3.4.6. Read-Only Links",
|
|
"number": "3.4.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/module-links/query-context",
|
|
"title": "Query Context",
|
|
"children": [],
|
|
"chapterTitle": "3.4.7. Query Context",
|
|
"number": "3.4.7."
|
|
}
|
|
],
|
|
"chapterTitle": "3.4. Module Links",
|
|
"number": "3.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models",
|
|
"title": "Data Models",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/infer-type",
|
|
"title": "Infer Type",
|
|
"children": [],
|
|
"chapterTitle": "3.5.1. Infer Type",
|
|
"number": "3.5.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/properties",
|
|
"title": "Properties",
|
|
"children": [],
|
|
"chapterTitle": "3.5.2. Properties",
|
|
"number": "3.5.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/json-properties",
|
|
"title": "JSON Properties",
|
|
"children": [],
|
|
"chapterTitle": "3.5.3. JSON Properties",
|
|
"number": "3.5.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/relationships",
|
|
"title": "Relationships",
|
|
"children": [],
|
|
"chapterTitle": "3.5.4. Relationships",
|
|
"number": "3.5.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/manage-relationships",
|
|
"title": "Manage Relationships",
|
|
"children": [],
|
|
"chapterTitle": "3.5.5. Manage Relationships",
|
|
"number": "3.5.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/index",
|
|
"title": "Define Index",
|
|
"children": [],
|
|
"chapterTitle": "3.5.6. Define Index",
|
|
"number": "3.5.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/check-constraints",
|
|
"title": "Check Constraints",
|
|
"children": [],
|
|
"chapterTitle": "3.5.7. Check Constraints",
|
|
"number": "3.5.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/data-models/write-migration",
|
|
"title": "Migrations",
|
|
"children": [],
|
|
"chapterTitle": "3.5.8. Migrations",
|
|
"number": "3.5.8."
|
|
}
|
|
],
|
|
"chapterTitle": "3.5. Data Models",
|
|
"number": "3.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "API Routes",
|
|
"path": "/learn/fundamentals/api-routes",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/http-methods",
|
|
"title": "HTTP Methods",
|
|
"children": [],
|
|
"chapterTitle": "3.6.1. HTTP Methods",
|
|
"number": "3.6.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/parameters",
|
|
"title": "Parameters",
|
|
"children": [],
|
|
"chapterTitle": "3.6.2. Parameters",
|
|
"number": "3.6.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/responses",
|
|
"title": "Response",
|
|
"children": [],
|
|
"chapterTitle": "3.6.3. Response",
|
|
"number": "3.6.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/middlewares",
|
|
"title": "Middlewares",
|
|
"children": [],
|
|
"chapterTitle": "3.6.4. Middlewares",
|
|
"number": "3.6.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/parse-body",
|
|
"title": "Body Parsing",
|
|
"children": [],
|
|
"chapterTitle": "3.6.5. Body Parsing",
|
|
"number": "3.6.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/validation",
|
|
"title": "Validation",
|
|
"children": [],
|
|
"chapterTitle": "3.6.6. Validation",
|
|
"number": "3.6.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/protected-routes",
|
|
"title": "Protected Routes",
|
|
"children": [],
|
|
"chapterTitle": "3.6.7. Protected Routes",
|
|
"number": "3.6.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/errors",
|
|
"title": "Errors",
|
|
"children": [],
|
|
"chapterTitle": "3.6.8. Errors",
|
|
"number": "3.6.8."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/cors",
|
|
"title": "Handling CORS",
|
|
"children": [],
|
|
"chapterTitle": "3.6.9. Handling CORS",
|
|
"number": "3.6.9."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/additional-data",
|
|
"title": "Pass Additional Data",
|
|
"children": [],
|
|
"chapterTitle": "3.6.10. Pass Additional Data",
|
|
"number": "3.6.10."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/retrieve-custom-links",
|
|
"title": "Retrieve Custom Links",
|
|
"children": [],
|
|
"chapterTitle": "3.6.11. Retrieve Custom Links",
|
|
"number": "3.6.11."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/localization",
|
|
"title": "Localization",
|
|
"children": [],
|
|
"chapterTitle": "3.6.12. Localization",
|
|
"number": "3.6.12."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/api-routes/override",
|
|
"title": "Override API Routes",
|
|
"children": [],
|
|
"chapterTitle": "3.6.13. Override API Routes",
|
|
"number": "3.6.13."
|
|
}
|
|
],
|
|
"chapterTitle": "3.6. API Routes",
|
|
"number": "3.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows",
|
|
"title": "Workflows",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/constructor-constraints",
|
|
"title": "Constructor Constraints",
|
|
"children": [],
|
|
"chapterTitle": "3.7.1. Constructor Constraints",
|
|
"number": "3.7.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/compensation-function",
|
|
"title": "Compensation Function",
|
|
"children": [],
|
|
"chapterTitle": "3.7.2. Compensation Function",
|
|
"number": "3.7.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/variable-manipulation",
|
|
"title": "Transform Data",
|
|
"children": [],
|
|
"chapterTitle": "3.7.3. Transform Data",
|
|
"number": "3.7.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/conditions",
|
|
"title": "When-Then Conditions",
|
|
"children": [],
|
|
"chapterTitle": "3.7.4. When-Then Conditions",
|
|
"number": "3.7.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/errors",
|
|
"title": "Error Handling",
|
|
"children": [],
|
|
"chapterTitle": "3.7.5. Error Handling",
|
|
"number": "3.7.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/workflow-hooks",
|
|
"title": "Workflow Hooks",
|
|
"children": [],
|
|
"chapterTitle": "3.7.6. Workflow Hooks",
|
|
"number": "3.7.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/add-workflow-hook",
|
|
"title": "Expose a Hook",
|
|
"children": [],
|
|
"chapterTitle": "3.7.7. Expose a Hook",
|
|
"number": "3.7.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/retry-failed-steps",
|
|
"title": "Retry Failed Steps",
|
|
"children": [],
|
|
"chapterTitle": "3.7.8. Retry Failed Steps",
|
|
"number": "3.7.8."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/parallel-steps",
|
|
"title": "Run Steps in Parallel",
|
|
"children": [],
|
|
"chapterTitle": "3.7.9. Run Steps in Parallel",
|
|
"number": "3.7.9."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/workflow-timeout",
|
|
"title": "Workflow Timeout",
|
|
"children": [],
|
|
"chapterTitle": "3.7.10. Workflow Timeout",
|
|
"number": "3.7.10."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/store-executions",
|
|
"title": "Store Workflow Executions",
|
|
"children": [],
|
|
"chapterTitle": "3.7.11. Store Workflow Executions",
|
|
"number": "3.7.11."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/long-running-workflow",
|
|
"title": "Long-Running Workflow",
|
|
"children": [],
|
|
"chapterTitle": "3.7.12. Long-Running Workflow",
|
|
"number": "3.7.12."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/execute-another-workflow",
|
|
"title": "Nested Workflows",
|
|
"children": [],
|
|
"chapterTitle": "3.7.13. Nested Workflows",
|
|
"number": "3.7.13."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/multiple-step-usage",
|
|
"title": "Multiple Step Usage",
|
|
"children": [],
|
|
"chapterTitle": "3.7.14. Multiple Step Usage",
|
|
"number": "3.7.14."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/workflows/locks",
|
|
"title": "Using Locks",
|
|
"children": [],
|
|
"chapterTitle": "3.7.15. Using Locks",
|
|
"number": "3.7.15."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "ref",
|
|
"path": "/learn/debugging-and-testing/debug-workflows",
|
|
"title": "Debug Workflows",
|
|
"children": [],
|
|
"chapterTitle": "3.7.16. Debug Workflows",
|
|
"number": "3.7.16."
|
|
}
|
|
],
|
|
"chapterTitle": "3.7. Workflows",
|
|
"number": "3.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/events-and-subscribers",
|
|
"title": "Events and Subscribers",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/events-and-subscribers/data-payload",
|
|
"title": "Events Data Payload",
|
|
"children": [],
|
|
"chapterTitle": "3.8.1. Events Data Payload",
|
|
"number": "3.8.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/events-and-subscribers/emit-event",
|
|
"title": "Emit Event",
|
|
"children": [],
|
|
"chapterTitle": "3.8.2. Emit Event",
|
|
"number": "3.8.2."
|
|
}
|
|
],
|
|
"chapterTitle": "3.8. Events and Subscribers",
|
|
"number": "3.8."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/scheduled-jobs",
|
|
"title": "Scheduled Jobs",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/scheduled-jobs/execution-number",
|
|
"title": "Execution Number",
|
|
"children": [],
|
|
"chapterTitle": "3.9.1. Execution Number",
|
|
"number": "3.9.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/scheduled-jobs/interval",
|
|
"title": "Set Interval",
|
|
"children": [],
|
|
"chapterTitle": "3.9.2. Set Interval",
|
|
"number": "3.9.2."
|
|
}
|
|
],
|
|
"chapterTitle": "3.9. Scheduled Jobs",
|
|
"number": "3.9."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/plugins",
|
|
"title": "Plugins",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/plugins/create",
|
|
"title": "Create Plugin",
|
|
"children": [],
|
|
"chapterTitle": "3.10.1. Create Plugin",
|
|
"number": "3.10.1."
|
|
}
|
|
],
|
|
"chapterTitle": "3.10. Plugins",
|
|
"number": "3.10."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/custom-cli-scripts",
|
|
"title": "Custom CLI Scripts",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/custom-cli-scripts/seed-data",
|
|
"title": "Seed Data",
|
|
"children": [],
|
|
"chapterTitle": "3.11.1. Seed Data",
|
|
"number": "3.11.1."
|
|
}
|
|
],
|
|
"chapterTitle": "3.11. Custom CLI Scripts",
|
|
"number": "3.11."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/generated-types",
|
|
"title": "Auto-Generated Types",
|
|
"children": [],
|
|
"chapterTitle": "3.12. Auto-Generated Types",
|
|
"number": "3.12."
|
|
}
|
|
],
|
|
"chapterTitle": "3. Framework",
|
|
"number": "3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "4. Admin Development",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin",
|
|
"title": "Overview",
|
|
"children": [],
|
|
"chapterTitle": "4.1. Overview",
|
|
"number": "4.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/widgets",
|
|
"title": "Admin Widgets",
|
|
"children": [],
|
|
"chapterTitle": "4.2. Admin Widgets",
|
|
"number": "4.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/ui-routes",
|
|
"title": "Admin UI Routes",
|
|
"children": [],
|
|
"chapterTitle": "4.3. Admin UI Routes",
|
|
"number": "4.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/environment-variables",
|
|
"title": "Environment Variables",
|
|
"children": [],
|
|
"chapterTitle": "4.4. Environment Variables",
|
|
"number": "4.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/routing",
|
|
"title": "Routing Customizations",
|
|
"children": [],
|
|
"chapterTitle": "4.5. Routing Customizations",
|
|
"number": "4.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/translations",
|
|
"title": "Translations",
|
|
"children": [],
|
|
"chapterTitle": "4.6. Translations",
|
|
"number": "4.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/constraints",
|
|
"title": "Constraints",
|
|
"children": [],
|
|
"chapterTitle": "4.7. Constraints",
|
|
"number": "4.7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/fundamentals/admin/tips",
|
|
"title": "Tips",
|
|
"children": [],
|
|
"chapterTitle": "4.8. Tips",
|
|
"number": "4.8."
|
|
}
|
|
],
|
|
"chapterTitle": "4. Admin Development",
|
|
"number": "4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "5. Storefront",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/storefront-development",
|
|
"title": "Storefront Development",
|
|
"chapterTitle": "5. Storefront",
|
|
"children": [],
|
|
"number": "5."
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "6. Configurations",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Environment Variables",
|
|
"path": "/learn/fundamentals/environment-variables",
|
|
"children": [],
|
|
"chapterTitle": "6.1. Environment Variables",
|
|
"number": "6.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Medusa Configuations",
|
|
"path": "/learn/configurations/medusa-config",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Asymmetric Encryption",
|
|
"path": "/learn/configurations/medusa-config/asymmetric-encryption",
|
|
"children": [],
|
|
"chapterTitle": "6.2.1. Asymmetric Encryption",
|
|
"number": "6.2.1."
|
|
}
|
|
],
|
|
"chapterTitle": "6.2. Medusa Configuations",
|
|
"number": "6.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Type Aliases",
|
|
"path": "/learn/configurations/ts-aliases",
|
|
"children": [],
|
|
"chapterTitle": "6.3. Type Aliases",
|
|
"number": "6.3."
|
|
}
|
|
],
|
|
"chapterTitle": "6. Configurations",
|
|
"number": "6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "7. Debugging & Testing",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/testing-tools",
|
|
"title": "Testing Tools",
|
|
"children": [],
|
|
"chapterTitle": "7.1. Testing Tools",
|
|
"number": "7.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/testing-tools/integration-tests",
|
|
"title": "Integration Tests",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/testing-tools/integration-tests/api-routes",
|
|
"title": "Example: API Routes Tests",
|
|
"children": [],
|
|
"chapterTitle": "7.2.1. Example: API Routes Tests",
|
|
"number": "7.2.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/testing-tools/integration-tests/workflows",
|
|
"title": "Example: Workflows Tests",
|
|
"children": [],
|
|
"chapterTitle": "7.2.2. Example: Workflows Tests",
|
|
"number": "7.2.2."
|
|
}
|
|
],
|
|
"chapterTitle": "7.2. Integration Tests",
|
|
"number": "7.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/testing-tools/modules-tests",
|
|
"title": "Modules Tests",
|
|
"children": [],
|
|
"chapterTitle": "7.3. Modules Tests",
|
|
"number": "7.3."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/debug-workflows",
|
|
"title": "Debug Workflows",
|
|
"children": [],
|
|
"chapterTitle": "7.4. Debug Workflows",
|
|
"number": "7.4."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/instrumentation",
|
|
"title": "Instrumentation",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "ref",
|
|
"path": "/resources/integrations/guides/sentry",
|
|
"title": "Guide: Sentry",
|
|
"children": [],
|
|
"chapterTitle": "7.5.1. Guide: Sentry",
|
|
"number": "7.5.1."
|
|
}
|
|
],
|
|
"chapterTitle": "7.5. Instrumentation",
|
|
"number": "7.5."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/logging",
|
|
"title": "Logging",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/logging/custom-logger",
|
|
"title": "Override Logger",
|
|
"children": [],
|
|
"chapterTitle": "7.6.1. Override Logger",
|
|
"number": "7.6.1."
|
|
}
|
|
],
|
|
"chapterTitle": "7.6. Logging",
|
|
"number": "7.6."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/feature-flags",
|
|
"title": "Feature Flags",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/debugging-and-testing/feature-flags/create",
|
|
"title": "Create Feature Flag",
|
|
"children": [],
|
|
"chapterTitle": "7.7.1. Create Feature Flag",
|
|
"number": "7.7.1."
|
|
}
|
|
],
|
|
"chapterTitle": "7.7. Feature Flags",
|
|
"number": "7.7."
|
|
}
|
|
],
|
|
"chapterTitle": "7. Debugging & Testing",
|
|
"number": "7."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "8. Best Practices",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/best-practices/third-party-sync",
|
|
"title": "Third-Party Syncing",
|
|
"children": [],
|
|
"chapterTitle": "8.1. Third-Party Syncing",
|
|
"number": "8.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "ref",
|
|
"path": "/learn/fundamentals/scheduled-jobs/interval",
|
|
"title": "Scheduled Job Intervals",
|
|
"children": [],
|
|
"chapterTitle": "8.2. Scheduled Job Intervals",
|
|
"number": "8.2."
|
|
}
|
|
],
|
|
"chapterTitle": "8. Best Practices",
|
|
"number": "8."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "9. Production",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/build",
|
|
"title": "Build",
|
|
"children": [],
|
|
"chapterTitle": "9.1. Build",
|
|
"number": "9.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/production/worker-mode",
|
|
"title": "Worker Modes",
|
|
"children": [],
|
|
"chapterTitle": "9.2. Worker Modes",
|
|
"number": "9.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/deployment",
|
|
"title": "Deployment Overview",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/deployment/general",
|
|
"title": "General Deployment",
|
|
"children": [],
|
|
"chapterTitle": "9.3.1. General Deployment",
|
|
"number": "9.3.1."
|
|
}
|
|
],
|
|
"chapterTitle": "9.3. Deployment Overview",
|
|
"number": "9.3."
|
|
}
|
|
],
|
|
"chapterTitle": "9. Production",
|
|
"number": "9."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "10. Upgrade",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/update",
|
|
"title": "Update Medusa",
|
|
"children": [],
|
|
"chapterTitle": "10.1. Update Medusa",
|
|
"number": "10.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "external",
|
|
"path": "https://github.com/medusajs/medusa/releases",
|
|
"title": "Release Notes",
|
|
"children": [],
|
|
"chapterTitle": "10.2. Release Notes",
|
|
"number": "10.2."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/codemods",
|
|
"title": "Codemods",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"title": "Replace Imports (v2.11.0+)",
|
|
"path": "/learn/codemods/replace-imports",
|
|
"children": [],
|
|
"chapterTitle": "10.3.1. Replace Imports (v2.11.0+)",
|
|
"number": "10.3.1."
|
|
}
|
|
],
|
|
"chapterTitle": "10.3. Codemods",
|
|
"number": "10.3."
|
|
}
|
|
],
|
|
"chapterTitle": "10. Upgrade",
|
|
"number": "10."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "category",
|
|
"title": "11. Resources",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "sub-category",
|
|
"title": "Contribution Guidelines",
|
|
"children": [
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/resources/contribution-guidelines/docs",
|
|
"title": "Docs",
|
|
"children": [],
|
|
"chapterTitle": "11.1.1. Docs",
|
|
"number": "11.1.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/resources/contribution-guidelines/admin-translations",
|
|
"title": "Admin Translations",
|
|
"children": [],
|
|
"chapterTitle": "11.1.2. Admin Translations",
|
|
"number": "11.1.2."
|
|
}
|
|
],
|
|
"chapterTitle": "11.1. Contribution Guidelines",
|
|
"number": "11.1."
|
|
},
|
|
{
|
|
"loaded": true,
|
|
"isPathHref": true,
|
|
"type": "link",
|
|
"path": "/learn/resources/usage",
|
|
"title": "Usage",
|
|
"children": [],
|
|
"chapterTitle": "11.2. Usage",
|
|
"number": "11.2."
|
|
}
|
|
],
|
|
"chapterTitle": "11. Resources",
|
|
"number": "11."
|
|
}
|
|
]
|
|
}
|
|
] |