45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import { createSectionWorkflow } from "./createSection.js";
|
|
import { populateContentWorkflow } from "./populateContent.js";
|
|
import { createModuleWorkflow } from "./createModule.js";
|
|
import { editModuleWorkflow } from "./editModule.js";
|
|
import { manageRecordsWorkflow } from "./manageRecords.js";
|
|
import { manageMediaWorkflow } from "./manageMedia.js";
|
|
import { seoSetupWorkflow } from "./seoSetup.js";
|
|
import { exploreSiteWorkflow } from "./exploreSite.js";
|
|
|
|
/**
|
|
* Registry of all available workflows.
|
|
* Keyed by workflow ID for fast lookup.
|
|
*/
|
|
export const WORKFLOWS = {
|
|
create_section: createSectionWorkflow,
|
|
populate_content: populateContentWorkflow,
|
|
create_module: createModuleWorkflow,
|
|
edit_module: editModuleWorkflow,
|
|
manage_records: manageRecordsWorkflow,
|
|
manage_media: manageMediaWorkflow,
|
|
seo_setup: seoSetupWorkflow,
|
|
explore_site: exploreSiteWorkflow,
|
|
};
|
|
|
|
/**
|
|
* Get a workflow by ID.
|
|
* @param {string} id - Workflow identifier
|
|
* @returns {object|null} The workflow definition or null
|
|
*/
|
|
export function getWorkflow(id) {
|
|
return WORKFLOWS[id] || null;
|
|
}
|
|
|
|
/**
|
|
* Get a summary list of all available workflows (for help/listing).
|
|
*/
|
|
export function listWorkflows() {
|
|
return Object.values(WORKFLOWS).map((w) => ({
|
|
id: w.id,
|
|
name: w.name,
|
|
description: w.description,
|
|
totalSteps: w.steps.length,
|
|
}));
|
|
}
|