/** * Constructs a URL for creating a workflow link associated with a specific entity. * * @param {string} workflowName - The name of the workflow to associate. * @param {string} relatedEntityClass - The class/type of the related entity. * @param {number|undefined} relatedEntityId - The unique identifier of the related entity. Must be defined. * * @returns {string} The constructed URL containing query parameters based on the provided arguments. * * @throws {Error} If the related entity ID is undefined. */ export const buildLinkCreate = ( workflowName: string, relatedEntityClass: string, relatedEntityId: number | undefined, ): string => { if (typeof relatedEntityId === "undefined") { throw new Error("the related entity id is not set"); } const params = new URLSearchParams(); params.set("entityClass", relatedEntityClass); params.set("entityId", relatedEntityId.toString(10)); params.set("workflow", workflowName); return `/fr/main/workflow/create?` + params.toString(); };