The Medusa Plugin Ultimate is a powerful tool that allows developers to easily add a user interface to entities marked with a decorator. With this plugin, you can seamlessly create, edit, view, and delete documents associated with these entities, and expose them through a specific route for your store.
Discord: @raiden56 ID:423897604330618883
npm i medusa-plugin-ultimate
this env variables are required on the admin: MEDUSA_ADMIN_BACKEND_URL
or BACKEND_URL
// medusa-config.js
const plugins = [
/** @type {import('medusa-plugin-ultimate').Options} */
{
resolve: "medusa-plugin-ultimate",
options: {
enableUI: true,
backendUrl: process.env.BACKEND_URL || "http://localhost:9000",
},
},
];
// ...
Now create your entities and don't forget to add migrations for them, after that the UI will automatically be generated for your entitiy.
// example:
// src/models
import { BeforeInsert, Column, Entity } from "typeorm";
import { BaseEntity } from "@medusajs/medusa";
import { generateEntityId } from "@medusajs/utils";
import {
UltimateEntity,
UltimateEntityField,
UltimateEntityFieldTypes,
} from "medusa-plugin-ultimate/dist/index";
@Entity()
@UltimateEntity({})
export class BlogPost extends BaseEntity {
@Column({ type: "varchar", nullable: false })
@UltimateEntityField({
type: UltimateEntityFieldTypes.STRING,
})
title: string;
@Column({ type: "varchar", nullable: true })
@UltimateEntityField({
type: UltimateEntityFieldTypes.MARKDOWN,
})
content: string;
@BeforeInsert()
private beforeInsert(): void {
this.id = generateEntityId(this.id, "blog-post");
}
}
See Documentation.
-
Automatically Create UI For Entities: The Medusa Plugin Ultimate seamlessly integrates with your entities. By simply marking an entity with a decorator, you can enable a user interface for it in the Medusa dashboard.
-
Create, Edit, View, Delete: Once your entity has a UI, you can easily perform essential CRUD operations. Create new documents, edit existing ones, view their details, and delete them with ease.
-
Customizable UI: The UI generated by this plugin is customizable, allowing you to tailor it to your specific requirements. You can control the appearance and behavior of the UI elements.
-
Route Exposition: In addition to the dashboard integration, this plugin exposes your entity documents via a specific route. This makes it easy for your store to interact with these documents programmatically.