Recherches par clé humaine
Une recherche résout exactement une ligne sur le serveur, et lève une erreur quand il n'y en a pas exactement
une : NoMatchFoundError quand rien ne correspond, MultipleMatchesFoundError quand plusieurs le font.
findByNamepartout où l'API filtre surname: états, labels, cycles, modules, projets, espaces d'équipe, vues, collections de wiki, types et propriétés d'élément de travail, options et contextes de propriété, et plus encore.roles.findBySlug,estimates.points.findByKey,releases.tags.findByVersion.customerProperties.findByDisplayName, à côté defindByName.
await client.v2.workspaces.projects.states.findByName("acme", "ENG", "Todo");
await client.v2.workspaces.roles.findBySlug("acme", "admin", { namespace: "workspace" });
await client.v2.workspaces.projects.estimates.points.findByKey("acme", "ENG", estimateId, 3);
Sur les propriétés personnalisées, name est la clé machine (par exemple, story_points), pas le libellé
affiché dans l'application.
Les deux erreurs étendent PlaneError, pas PlaneApiError, donc attraper PlaneApiError seul ne les
attrape pas :
import { MultipleMatchesFoundError, NoMatchFoundError } from "@hoyasumii/plane";
try {
await client.v2.workspaces.projects.states.findByName("acme", "ENG", "Todo");
} catch (error) {
if (error instanceof NoMatchFoundError) console.log("no such state");
else if (error instanceof MultipleMatchesFoundError) console.log("the name is ambiguous");
else throw error;
}