async function findOrCreateClassificationNode({
connection,
projectName,
lookupTable = [],
child,
path,
type
} = {}) {
if (!connection) throw new Error("Please provide the devops connection");
if (!projectName) throw new Error("please provide projectName");
if (!["iterations", "areas"].includes(type))
throw new Error(
"Please specify a classification node type. Either `iterations` or `areas`"
);
if (!child.name || !path)
throw new Error(
"Please provide a path and name for the classification node"
);
const workItemTracking = await connection.getWorkItemTrackingApi();
const element = lookupTable.find((el) => el.name == child.name);
if (element) return Promise.resolve(element);
return await workItemTracking.createOrUpdateClassificationNode(
child,
projectName,
type,
path
);
}