Créer un lien public
La méthode secrecyClient.cloud.createPublicDataLink crée un lien public pointant vers une donnée déjà envoyée dans le cloud. Elle prend le dataId de cette donnée, un name — le libellé affiché au destinataire — et une date expireAt, obligatoire mais nullable : passez null pour un lien qui n'expire jamais. Un slug optionnel permet de choisir la partie publique de l'URL plutôt que de la laisser générer par le serveur.
const createPublicLink = async ({
dataId,
name,
expireAt,
slug,
}: {
dataId: string;
name: string;
expireAt: Date | null;
slug?: string;
}) => {
// First we need to check if the secrecyClient is available
if (!secrecyClient) {
return null;
}
try {
const link = await secrecyClient.cloud.createPublicDataLink({
dataId,
name,
// null for a link that never expires
expireAt,
// optional, the server generates one when omitted
slug,
});
return link;
} catch (error) {
console.error(error);
return null;
}
};La méthode renvoie le lien créé : { id, name, slug, expireAt, dataId, createdByUserId, createdByOrgId, createdByAppId }. L'id est ce que prennent les autres méthodes pour lire, modifier ou révoquer le lien ; le slug est ce dont le destinataire a besoin.
Expiration
Une date expireAt passée est rejetée avant tout envoi de requête : la méthode lève Unable to create public link using a past expireAt date!. La date peut être modifiée ensuite avec secrecyClient.cloud.updatePublicDataLink ; faire expirer un lien est donc l'alternative réversible à sa révocation.
La donnée doit exister avant la création du lien — voir démarrer avec les transferts pour l'étape d'envoi qui produit le dataId.