Procuras por chave humana
Uma procura resolve exatamente uma linha no servidor, e lança um erro quando não há exatamente uma:
NoMatchFoundError quando nada corresponde, MultipleMatchesFoundError quando várias correspondem.
findByNameonde quer que a API filtre porname: states, labels, cycles, modules, projects, teamspaces, views, coleções da wiki, tipos e propriedades de work item, opções e contextos de propriedade, entre outros.roles.findBySlug,estimates.points.findByKey,releases.tags.findByVersion.customerProperties.findByDisplayName, ao lado 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);
Em propriedades personalizadas, name é a chave de máquina (por exemplo, story_points), não o rótulo
apresentado na app.
Os dois erros estendem PlaneError, não PlaneApiError, pelo que capturar apenas PlaneApiError não os
captura:
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;
}