mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-09-03 21:34:59 +00:00
27 lines
1018 B
TypeScript
27 lines
1018 B
TypeScript
/**
|
|
* 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();
|
|
};
|