Skip to main content

SDK du Modélisateur de Processus

Description du SDK du modélisateur de processusLien direct vers Description du SDK du modélisateur de processus

Le SDK du modélisateur de processus est disponible dans toute variable d'entrée ou de sortie du modélisateur de processus. Il permet aux utilisateurs d'accéder aux ressources du processus et d'exécuter des calculs complexes lors de l'exécution de l'instance.

Le SDK est accessible via la variable SF.

Le SDK a les attributs suivants

var SF = {
  collection : Object,
  user : Object,
  file : Object,
  utils : Object,
  sql : Object,
  instance : Object,
  task : Object,
  process : Object,
  softyTable : Object, // SoftyTable instance with methods to interact with tables
  mode : String, // The current Mode this is setted automatically
};

Dans les sections suivantes, nous expliquerons chaque attribut et les méthodes autorisées.

1 - UtilsLien direct vers 1 - Utils


L'objet utils contient les méthodes qui vous permettront de

nextValueLien direct vers nextValue

Génère un numéro incrémenternel basé sur un nom de chaîne unique. L'ID résultant peut être complété par des zéros à une longueur spécifiée si souhaité.

ParamètresLien direct vers Paramètres

NomTypeDescription
namestringUn nom unique utilisé comme clé pour générer l'ID.
paddingnumber(Optionnel) Le nombre de chiffres à ajouter au résultat (par ex., 6 → 000001).

RetourneLien direct vers Retourne

TypeDescription
PromiseUne Promesse qui se résout en l'ID généré.

ExemplesLien direct vers Exemples

let id = await SF.utils.nextValue("leave_request");
// retourne le nombre 1
let id = await SF.utils.nextValue("leave_request",5);
// retourne la chaîne 00001

shellExecLocalLien direct vers shellExecLocal

Est une fonction qui exécute une commande shell locale et retourne la sortie rognée.

ParamètresLien direct vers Paramètres

NomTypeDescription
cmdstringLa commande shell à exécuter.

RetourneLien direct vers Retourne

TypeDescription
Promise<{data: string}>Une Promesse qui se résout en un objet contenant la sortie standard rognée.

ExemplesLien direct vers Exemples

let result = await SF.utils.shellExecLocal('echo Hello World');
// retourne: { data: 'Hello World' }

let result = await SF.utils.shellExecLocal('pwd');
// retourne: { data: '/home/user/project' }

shellExecRemoteLien direct vers shellExecRemote

Est une fonction qui exécute une commande shell sur un serveur distant.

ParamètresLien direct vers Paramètres

NomTypeDescription
cdmstringLa commande shell à exécuter à distance.
optionsobjectOptions de connexion SSH (host, port, username, password/privateKey, etc.).

RetourneLien direct vers Retourne

TypeDescription
Promise<{data: string, code: number}>Une Promesse qui se résout en un objet contenant :
– data : Le résultat de la sortie standard sous forme de chaîne.
– code : Le code de sortie de la commande distante.

ExemplesLien direct vers Exemples

let result = await SF.utils.shellExecRemote('ls -l', {
  host: '192.168.1.10',
  port: 22,
  username: 'user',
  password: 'password'
});
// retourne: { data: 'list of files and folders...', code: 0 }

axiosLien direct vers axios

Axios est un client HTTP basé sur des Promesses pour le navigateur et node.js En savoir plus Voir la documentation officielle

ExemplesLien direct vers Exemples

let id = SF.utils.axios.get('/data/json/123')
  .then(function (response) {
    // traiter le succès
    console.log(response);
  }).catch(function (error) {
    // traiter l'erreur
    console.log(error);
  });

2 - CollectionLien direct vers 2 - Collection


insertManyLien direct vers insertMany

Permet d'insérer un tableau de JSON dans une collection

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
dataarrayTableau de données à insérer dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseUne Promesse indiquant le résultat de l'opération d'insertion.

ExemplesLien direct vers Exemples

await SF.collection.insertMany("cost-centers",[{label : "IT", value : "it"}])

insertOneLien direct vers insertOne

Permet d'insérer un JSON dans une collection

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
dataobjectObjet JSON représentant une valeur unique à insérer dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseUne Promesse indiquant le résultat de l'opération d'insertion.

ExemplesLien direct vers Exemples

await SF.collection.insertOne("cost-centers",{label : "IT", value : "it"})

findOneLien direct vers findOne

Retourne un document qui satisfait les critères de requête spécifiés. Si plusieurs documents satisfont la requête, cette méthode retourne le premier document.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON de valeurs à correspondre dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.collection.findOne("cost-centers",{value : "it"})

findLien direct vers find

Retourne tous les documents qui satisfont les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON représentant les critères pour correspondre aux documents dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseUne Promesse indiquant le résultat de l'opération de recherche.

ExemplesLien direct vers Exemples

await SF.collection.find("cost-centers",{value : "it"})

updateOneLien direct vers updateOne

Met à jour le premier document qui satisfait les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON représentant les critères pour correspondre aux documents dans la collection.
bodyobjectObjet JSON représentant les champs et valeurs à mettre à jour.

RetourneLien direct vers Retourne

TypeDescription
PromiseUne Promesse indiquant le résultat de l'opération de mise à jour.

ExemplesLien direct vers Exemples

await SF.collection.updateOne("cost-centers",{value : "it"})

updateLien direct vers update

Met à jour tous les documents qui satisfont les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON représentant la valeur à correspondre dans la collection.
bodyobjectObjet JSON représentant la valeur à mettre à jour dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.collection.update("cost-centers",{value : "it"})

countLien direct vers count

Retourne le nombre de documents dans la collection.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.collection.count("cost-centers")

deleteOneLien direct vers deleteOne

Permet de supprimer un document d'une collection.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON représentant la valeur à correspondre dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.collection.deleteOne("cost-centers")

deleteLien direct vers delete

Permet de supprimer plusieurs documents d'une collection.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
queryobjectObjet JSON représentant la valeur à correspondre dans la collection.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.collection.delete("cost-centers")

aggregateLien direct vers aggregate

Les opérations d'agrégation traitent les enregistrements de données et retournent les résultats calculés

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.
aggregationarrayTableau d'agrégation.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "type": "type1" }
  },
  {
    "$project" : {
                    "_id": 1,
                    "name": 1
                  }
  }
]
await SF.collection.aggregate("cost-centers",[aggregation]);

cleanCollectionLien direct vers cleanCollection

Supprime tous les documents d'une collection.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringNom de la collection dans Softyflow.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.collection.cleanCollection("cost-centers")

bulkWriteLien direct vers bulkWrite

Est une fonction qui effectue plusieurs opérations d'écriture (insertion, mise à jour, suppression) en un seul lot sur une collection MongoDB spécifiée.

ParamètresLien direct vers Paramètres

NomTypeDescription
colstringLe nom de la collection (sans suffixe).
bulkOpsArrayUn tableau d'opérations d'écriture en lot (insertOne, updateOne, deleteOne, etc.).

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse qui se résout une fois que toutes les opérations en lot sont terminées.

ExemplesLien direct vers Exemples

let bulkOps = [
  { insertOne: { document: { name: 'John', age: 30 } } },
  { updateOne: { filter: { name: 'John' }, update: { $set: { age: 31 } } } },
  { deleteOne: { filter: { name: 'John' } } }
];

await SF.utils.bulkWrite('users', bulkOps);
// retourne: Promesse résolue lorsque toutes les opérations sont terminées

3 - UsersLien direct vers 3 - Users


getUsersinGroupLien direct vers getUsersinGroup

Obtenir tous les utilisateurs dans un groupe donné

ParamètresLien direct vers Paramètres

NomTypeDescription
groupstringID du groupe.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse.

ExemplesLien direct vers Exemples

await SF.user.getUsersinGroup("6042551d231e8c8ade19bc09")

getUsersInGroupListLien direct vers getUsersInGroupList

Obtenir les utilisateurs qui existent dans certains groupes.

ParamètresLien direct vers Paramètres

NomTypeDescription
groupsstring[]Tableau d'ID de groupes.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.getUsersInGroupList(["6042551d231e8c8ade19bc09","6040e3679c81cf1b60b698f4"])

getGroupByIdLien direct vers getGroupById

Est une fonction qui récupère un document de groupe de la collection "groups" par son ID unique.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringL'ID du groupe à récupérer.

RetourneLien direct vers Retourne

TypeDescription
`Promise<objectnull>`

ExemplesLien direct vers Exemples

let group = await SF.utils.getGroupById("60c72b2f9f1b2c3c8f3b8b0b");
// retourne: { _id: ObjectId("60c72b2f9f1b2c3c8f3b8b0b"), name: 'Admin', members: [...] }

let group = await SF.utils.getGroupById("60c72b2f9f1b2c3c8f3b8b0c");
// retourne: null (si le groupe avec cet ID n'existe pas)

getUserByIdLien direct vers getUserById

Obtenir les informations de l'utilisateur en utilisant son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de l'utilisateur.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.getUserById("6042551d231e8c8ade19bc09")

getUserByMailLien direct vers getUserByMail

Obtenir les informations de l'utilisateur en utilisant son email.

ParamètresLien direct vers Paramètres

NomTypeDescription
emailstringEmail de l'utilisateur.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.getUserByMail("test@softydev.com")

updateUserByIdLien direct vers updateUserById

Mettre à jour les informations de l'utilisateur en utilisant son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de l'utilisateur.
dataobjectObjet JSON des valeurs à mettre à jour.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.updateUserById("6042551d231e8c8ade19bc09",{firstName : "test"})

updateUsersEachLien direct vers updateUsersEach

Mettre à jour une liste d'utilisateurs individuellement : à chaque utilisateur sa propre charge utile.

ParamètresLien direct vers Paramètres

NomTypeDescription
ArrayArrayTableau d'objets, chacun contenant un ID d'utilisateur et une charge utile.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.updateUsersEach([{ _id: "6042551d231e8c8ade19bc09", payload: { firstName: 'firstUser' } }, { _id: "6042551d231e8c8ade19bc10", payload: { firstName: 'secondUser' } }])

updateUserMetadataByIdLien direct vers updateUserMetadataById

Mettre à jour les métadonnées de l'utilisateur en utilisant son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de l'utilisateur.
fieldobjectObjet JSON des métadonnées à mettre à jour.
valueobjectObjet JSON des valeurs à mettre à jour.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.updateUserMetadataById("6042551d231e8c8ade19bc09", "Manager",  "test")

getUsersLien direct vers getUsers

Obtenir les informations des utilisateurs.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.getUsers()

getUserMetadataLien direct vers getUserMetadata

Obtenir les métadonnées de l'utilisateur en utilisant son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de l'utilisateur.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.getUserMetadata("6042551d231e8c8ade19bc09")

addUserToGroupLien direct vers addUserToGroup

Ajouter un utilisateur à un groupe en utilisant l'ID utilisateur et l'ID groupe.

ParamètresLien direct vers Paramètres

NomTypeDescription
userIdstringID de l'utilisateur.
groupidstringID du groupe.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.addUserToGroup("6042551d231e8c8ade19bc09", "62c2b6f74d16c2a2c19dcdb7")

removeUserfromGroupLien direct vers removeUserfromGroup

Retirer un utilisateur d'un groupe en utilisant l'ID utilisateur et l'ID groupe.

ParamètresLien direct vers Paramètres

NomTypeDescription
userIdstringID de l'utilisateur.
groupidstringID du groupe.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.user.removeUserfromGroup("6042551d231e8c8ade19bc09", "62c2b6f74d16c2a2c19dcdb7")

createUserLien direct vers createUser

Permet de créer un nouvel utilisateur.

ParamètresLien direct vers Paramètres

NomTypeDescription
dataobjectContenu JSON des données utilisateur

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

DonnéesLien direct vers Données

Voici les données utilisateur autorisées :

champDescription
emailRequis et Unique. L'email de l'utilisateur (string)
lastNameRequis. Le nom de famille de l'utilisateur (string)
firstNameRequis. Le prénom de l'utilisateur (string)
groupRequis. Les IDs des groupes de production de l'utilisateur (array)
group_testOptionnel. Les IDs des groupes de test de l'utilisateur (array)
group_uatOptionnel. Les IDs des groupes UAT de l'utilisateur (array)
metadata_testOptionnel. Les métadonnées de test de l'utilisateur (json)
metadata_uatOptionnel. Les métadonnées UAT de l'utilisateur (json)
metadata_prodOptionnel. Les métadonnées de production de l'utilisateur (json)
ideAccessRequis. Droit d'accès à l'IDE (boolean)
blockedOptionnel. Blocage de l'utilisateur (boolean)
sendMailOptionnel. Envoyer une notification par email à l'utilisateur (boolean)
getPasswordOptionnel. Récupérer le mot de passe généré dans la réponse (boolean)

ExemplesLien direct vers Exemples

 var newUser = {
    firstName: "Jean",
    lastName: "Martin",
    email: "jean.martin@softy.io",
    group_test: [],
    group_uat: [],
    group: [],
    metadata_test: {},
    metadata_uat: {},
    metadata_prod: {},
    ideAccess: false,
    blocked: false,
    sendMail: false,
    getPassword: false
};

var user = await SF.user.createUser(newUser);

4 - FichiersLien direct vers 4 - Fichiers


La classe File gère les fichiers stockés dans le système GridFS de MongoDB, fournissant des méthodes pour télécharger, récupérer, supprimer et générer des PDF à partir de modèles EJS.

UtilisationLien direct vers Utilisation

const file = new File(gridfsBucket);

getFileContentByIdLien direct vers getFileContentById

Récupérer le contenu textuel d'un fichier par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringObjectId du fichier
encodingstringEncodage à utiliser (par défaut : 'utf8')

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Métadonnées du fichier avec champ content

ExemplesLien direct vers Exemples

let result = await file.getFileContentById("64bfa28cfabc123...", "utf8");
console.log(result.content);

getFileBufferByIdLien direct vers getFileBufferById

Récupérer le contenu binaire d'un fichier sous forme de Buffer.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringObjectId du fichier

RetourneLien direct vers Retourne

TypeDescription
Promise<Buffer>Données du fichier sous forme de Buffer

ExemplesLien direct vers Exemples

let buffer = await file.getFileBufferById("64bfa28cfabc123...");

generatePDFFromTemplateLien direct vers generatePDFFromTemplate

Générer un PDF à partir d'un fichier modèle EJS stocké et le sauvegarder dans GridFS.

ParamètresLien direct vers Paramètres

NomTypeDescription
dump_varanyNon utilisé
fidstringID du fichier modèle
contextobjectContexte de génération PDF

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Métadonnées du fichier PDF sauvegardé
  • context.variables : Variables injectées dans le modèle.
  • context.SF_pdfName : Nom optionnel pour le PDF généré.

ExemplesLien direct vers Exemples

await file.generatePDFFromTemplate(null, 'templateId', {
  variables: { name: "John" },
  SF_pdfName: "user-report.pdf"
});

createFileFromBufferLien direct vers createFileFromBuffer

Créer et télécharger un fichier à partir d'un Buffer.

ParamètresLien direct vers Paramètres

NomTypeDescription
fileMetadataobjectMétadonnées (filename, contentType, etc.)
bufferContentBufferContenu binaire du fichier

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Métadonnées du fichier sauvegardé

ExemplesLien direct vers Exemples

await file.createFileFromBuffer({ filename: "doc.txt", contentType: "text/plain" }, Buffer.from("Hello"));

fillTemplateLien direct vers fillTemplate

Remplir un modèle de document (Word, Excel, LibreOffice, etc.) avec des données en utilisant le moteur de rendu Carbone. Cette méthode prend un fichier modèle stocké dans la base de données, le fusionne avec les données fournies et crée un nouveau document rempli.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringObjectId du fichier modèle
dataobjectDonnées JSON à injecter dans le modèle

RetourneLien direct vers Retourne

TypeDescription
Promise<string>ID du fichier du document rempli nouvellement créé

Création de modèlesLien direct vers Création de modèles

Pour créer des modèles compatibles avec cette méthode :

  • Utilisez des logiciels bureautiques standard (Microsoft Office, LibreOffice, OpenOffice)
  • Insérez des espaces réservés en utilisant la syntaxe Carbone : {d.fieldName}
  • Formats supportés : DOCX, XLSX, PPTX, ODT, ODS, ODP, et plus

Pour des informations détaillées sur la création de modèles et les fonctionnalités avancées (boucles, conditions, formateurs), consultez la documentation officielle de Carbone.

ExemplesLien direct vers Exemples

// En supposant que vous avez un fichier modèle avec des espaces réservés comme :
// Facture pour : {d.customerName}
// Montant : {d.amount}
// Date : {d.date}

let data = {
  customerName: "John Doe",
  amount: 1500,
  date: "2025-01-15",
  items: [
    { product: "Widget A", quantity: 5, price: 100 },
    { product: "Widget B", quantity: 10, price: 50 }
  ]
};

// Remplir le modèle
let filledDocumentId = await SF.file.fillTemplate("64bfa28cfabc123...", data);
console.log("ID du document rempli:", filledDocumentId);

Fonctionnalités avancées des modèlesLien direct vers Fonctionnalités avancées des modèles

Le moteur Carbone prend en charge des fonctionnalités avancées :

  • Boucles : Répéter des sections pour des tableaux de données
  • Conditions : Afficher/masquer du contenu en fonction des données
  • Formateurs : Formater les dates, nombres, texte
  • Objets imbriqués : Accéder aux structures de données imbriquées
  • Calculs : Effectuer des calculs dans les modèles

Exemple de modèle avec boucles :

Articles de la facture :
{d.items[i].product} - Qté : {d.items[i].quantity} - Prix : {d.items[i].price}

Pour plus d'informations, visitez Documentation Carbone.io.

deleteFileByIdLien direct vers deleteFileById

Est une fonction qui supprime un fichier de la base de données par son ID unique.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringL'ID du fichier à supprimer.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en un objet indiquant le statut de suppression : { deleted: 1 } en cas de succès, { deleted: 0 } en cas d'échec.

ExemplesLien direct vers Exemples

let result = await SF.utils.deleteFileById("60c72b2f9f1b2c3c8f3b8b0b");
// retourne: { deleted: 1 } (si le fichier a été supprimé)

let result = await SF.utils.deleteFileById("60c72b2f9f1b2c3c8f3b8b0c");
// retourne: { deleted: 0 } (s'il y a eu une erreur ou que le fichier n'a pas été trouvé)

5 - SqlLien direct vers 5 - Sql


insertOneLien direct vers insertOne

Insérer une ligne dans votre table SQL

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
dataobjectDonnées à insérer dans la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.insertOne("610c0343f6ebc7ddcb49cc3b", "client", {
    code: 'MMA',
    codepostal: 225
})

insertManyLien direct vers insertMany

Insérer un tableau de lignes dans votre table SQL

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
dataarrayDonnées à insérer dans la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.insertMany("610c0343f6ebc7ddcb49cc3b", "client", [{
    code: 'MMA',
    codepostal: 225
}])

findOneLien direct vers findOne

Trouver des données dans votre table SQL.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
namestringNom de la table.
datastringCritères pour interroger la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.findOne("610c0343f6ebc7ddcb49cc3b", "client", "code='MGMT'")

findLien direct vers find

Trouver toutes les lignes dans votre table SQL qui correspondent à un certain critère.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
namestringNom de la table.
datastringCritères pour interroger la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.find("610c0343f6ebc7ddcb49cc3b", "client", "code='MGMT'")

updateLien direct vers update

Mettre à jour les données dans votre base de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
namestringNom de la table.
datastringCritères pour interroger la base de données.
newDataobjectDonnées mises à jour.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.update("610c0343f6ebc7ddcb49cc3b", "client", "code='MDMS'", {
    code: 'CLEA'
})

deleteLien direct vers delete

Supprimer des lignes de votre base de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
namestringNom de la table.
datastringCritères pour interroger la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

 await SF.sql.delete("610c0343f6ebc7ddcb49cc3b", "client", "code='CLEA'")

countLien direct vers count

Compter les lignes dans votre base de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
namestringNom de la table.
datastringCritères pour interroger la base de données.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

 await SF.sql.count("610c0343f6ebc7ddcb49cc3b", "client", "code='CLEA'")

executeLien direct vers execute

Exécuter des instructions personnalisées/complexes sur votre base de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la base de données.
querystringInstruction SQL.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.sql.execute('610c0343f6ebc7ddcb49cc3b', "DELETE FROM client WHERE code='KL'")

6 - InstanceLien direct vers 6 - Instance


launchProcessLien direct vers launchProcess

Initier un processus existant.

ParamètresLien direct vers Paramètres

NomTypeDescription
processIdstringID du processus.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.instance.launchProcess('610c0343f6ebc7ddcb49cc3b')

findOneLien direct vers findOne

Trouver une instance qui satisfait les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre à l'instance.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.instance.findOne({ _id: ObjectId('610c0343f6ebc7ddcb49cc3b') })

findLien direct vers find

Trouver toutes les instances qui satisfont les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre aux instances.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.instance.find({ status: 'running' })

pendingTaskLien direct vers pendingTask

Obtenir la dernière tâche en attente de l'instance

ParamètresLien direct vers Paramètres

NomTypeDescription
instanceIdstringID de l'instance.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.instance.pendingTask('610c0343f6ebc7ddcb49cc3b')

getMeasuresLien direct vers getMeasures

Obtenir les Mesures de l'instance

ParamètresLien direct vers Paramètres

NomTypeDescription
instanceIdstringID de l'instance.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

await SF.instance.getMeasures('610c0343f6ebc7ddcb49cc3b')

validateTaskLien direct vers validateTask

Valider une tâche.

ParamètresLien direct vers Paramètres

NomTypeDescription
taskIdstringID de la tâche.
variablesobjectJSON des variables.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

let variables = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await SF.instance.validateTask('610c0343f6ebc7ddcb49cc3b',variables)

updateVariablesByIdLien direct vers updateVariablesById

Mettre à jour les variables en utilisant l'ID de l'instance.

ParamètresLien direct vers Paramètres

NomTypeDescription
IdstringID de l'instance.
dataobjectJSON des données des variables.

RetourneLien direct vers Retourne

TypeDescription
objectRetourne un objet

ExemplesLien direct vers Exemples

let data = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await SF.instance.updateVariablesById('610c0343f6ebc7ddcb49cc3b',data)

attachChildInstanceLien direct vers attachChildInstance

Est une fonction qui lie une instance enfant à une instance père dans la collection "instances", basée sur une étape d'activité spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
fatherIdstringL'ID de l'instance père.
childIdstringL'ID de l'instance enfant à attacher.
stepIdstringL'ID de l'étape représentant l'activité dans l'instance père.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en { done: true } si l'attachement réussit.

ExemplesLien direct vers Exemples

let result = await SF.utils.attachChildInstance(
  "661e9d8a1a2b2f7f8d3c4e1f",
  "661e9d9b2b5e2f8f8d3c5f0a",
  "step123"
);
// retourne: { done: true }

getVariablesByIdLien direct vers getVariablesById

Est une fonction qui récupère un document d'instance par son ID, avec une projection optionnelle pour sélectionner des champs spécifiques.

ParamètresLien direct vers Paramètres

NomTypeDescription
instanceIdstringL'ID de l'instance à récupérer.
projectionobject(Optionnel) Projection MongoDB pour spécifier quels champs retourner.

RetourneLien direct vers Retourne

TypeDescription
Promise<object \| null>Se résout en document d'instance s'il est trouvé, ou null sinon.

ExemplesLien direct vers Exemples

let instance = await SF.utils.getVariablesById("661e9d8a1a2b2f7f8d3c4e1f");
// retourne: Document d'instance complet

let instance = await SF.utils.getVariablesById("661e9d8a1a2b2f7f8d3c4e1f", { variables: 1 });
// retourne: { variables: {...} }

deleteInstanceByIdLien direct vers deleteInstanceById

Supprime une instance par son ID, et supprime également tous les historiques, tâches et instancelights associés à cette instance.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringL'ID de l'instance à supprimer.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en { done: true } si la suppression réussit.

ExemplesLien direct vers Exemples

let result = await SF.instance.deleteInstanceById("661e9d8a1a2b2f7f8d3c4e1f");
// retourne: { done: true }

deleteManyInstancesLien direct vers deleteManyInstances

Supprime plusieurs instances et instancelights associés à un ID de processus donné et une requête supplémentaire. Cette méthode ne supprime PAS les tâches et historiques associés pour des raisons de performance.

ParamètresLien direct vers Paramètres

NomTypeDescription
processIdstringL'ID du processus dont les instances doivent être supprimées.
queryobjectParamètres de requête supplémentaires pour filtrer les instances à supprimer.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en { done: true } si réussi.

ExemplesLien direct vers Exemples

let result = await SF.instance.deleteManyInstances("661e9d8a1a2b2f7f8d3c4e1f", { status: "completed" });
// retourne: { done: true }

deleteManyInstancesWithTasksAndHistoriesLien direct vers deleteManyInstancesWithTasksAndHistories

Supprime plusieurs instances avec toutes leurs données associées (tâches, historiques et instancelights) associées à un ID de processus donné et une requête. Il s'agit d'une opération de nettoyage complète.

ParamètresLien direct vers Paramètres

NomTypeDescription
processIdstringL'ID du processus dont les instances doivent être supprimées.
queryobjectParamètres de requête supplémentaires pour filtrer les instances à supprimer.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en { done: true } si réussi.

ExemplesLien direct vers Exemples

// Supprimer toutes les instances terminées avec nettoyage complet
let result = await SF.instance.deleteManyInstancesWithTasksAndHistories(
  "661e9d8a1a2b2f7f8d3c4e1f",
  { status: "completed" }
);
// retourne: { done: true }

// Supprimer toutes les instances antérieures à une certaine date
let result = await SF.instance.deleteManyInstancesWithTasksAndHistories(
  "661e9d8a1a2b2f7f8d3c4e1f",
  { createdAt: { $lt: new Date('2024-01-01') } }
);
// retourne: { done: true }

updateInstanceVariablesLien direct vers updateInstanceVariables

Est une fonction qui met à jour les variables d'une instance, recalcule les mesures associées basées sur la définition du processus, et les met à jour à la fois dans l'instance et la dernière tâche associée.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringL'ID de l'instance à mettre à jour.
dataobjectPaires clé-valeur de variables à mettre à jour dans l'instance.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Se résout en { done: true } si la mise à jour réussit.

ExemplesLien direct vers Exemples

let result = await SF.utils.updateInstanceVariables("661e9d8a1a2b2f7f8d3c4e1f", {
  amount: 1500,
  dueDate: "2025-05-30"
});
// retourne: { done: true }

7 - SoftyTableLien direct vers 7 - SoftyTable


Le SDK SoftyTable fournit des méthodes pour interagir avec les ressources SoftyTable, vous permettant d'effectuer des opérations CRUD, d'exécuter des requêtes et de gérer les données de table.

UtilisationLien direct vers Utilisation

Le SoftyTable est disponible en tant qu'instance directe sur l'objet SF. Toutes les méthodes prennent l'ID de la table comme premier paramètre :

// Accéder aux méthodes directement depuis SF.softyTable
await SF.softyTable.list('tableId123', criteria);

listLien direct vers list

Récupérer les lignes d'une SoftyTable avec filtrage, tri et pagination optionnels.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
criteriaobjectCritères de requête avec where, attributes, include, group, etc. optionnels (par défaut : {})
limitnumberNombre maximum de lignes à retourner (par défaut : 100)
pagenumberNuméro de page pour la pagination (par défaut : 0)
sortbystringNom du champ pour trier (par défaut : 'createdAt')
directionnumberDirection du tri : 1 pour ASC, -1 pour DESC (par défaut : 1)
orderarrayTableau d'ordre personnalisé, par ex. [['field', 'ASC']] (par défaut : null)

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en un tableau de lignes de table

ExemplesLien direct vers Exemples

// Lister toutes les lignes
let rows = await SF.softyTable.list('610c0343f6ebc7ddcb49cc3b');

// Lister avec filtres
let activeRows = await SF.softyTable.list(
  '610c0343f6ebc7ddcb49cc3b',
  { where: { status: 'active' } },
  50,
  0,
  'createdAt',
  -1
);

// Lister avec critères complexes
let rows = await SF.softyTable.list(
  '610c0343f6ebc7ddcb49cc3b',
  {
    where: { age: { $gte: 18 } },
    attributes: ['name', 'email', 'age']
  },
  20,
  0
);

countLien direct vers count

Compter le nombre de lignes dans une SoftyTable avec filtrage optionnel.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
criteriaobjectCritères de requête avec clause where optionnelle (par défaut : {})

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en un objet avec propriété count

ExemplesLien direct vers Exemples

// Compter toutes les lignes
let result = await SF.softyTable.count('610c0343f6ebc7ddcb49cc3b');
// retourne: { count: 150 }

// Compter avec filtre
let result = await SF.softyTable.count(
  '610c0343f6ebc7ddcb49cc3b',
  { where: { status: 'active' } }
);
// retourne: { count: 75 }

createLien direct vers create

Créer une seule ligne dans une SoftyTable.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
dataobjectL'objet de données à insérer comme ligne

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en données de la ligne créée

ExemplesLien direct vers Exemples

let newRow = await SF.softyTable.create(
  '610c0343f6ebc7ddcb49cc3b',
  {
    name: 'John Doe',
    email: 'john@example.com',
    age: 30,
    status: 'active'
  }
);

createManyLien direct vers createMany

Créer plusieurs lignes dans une SoftyTable en une seule fois.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
dataarrayTableau d'objets de données à insérer

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en un tableau de lignes créées

ExemplesLien direct vers Exemples

let newRows = await SF.softyTable.createMany(
  '610c0343f6ebc7ddcb49cc3b',
  [
    { name: 'John Doe', email: 'john@example.com', age: 30 },
    { name: 'Jane Smith', email: 'jane@example.com', age: 25 },
    { name: 'Bob Johnson', email: 'bob@example.com', age: 35 }
  ]
);

retrieveLien direct vers retrieve

Récupérer une seule ligne d'une SoftyTable par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
rowIdstringL'ID de la ligne

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en données de la ligne

ExemplesLien direct vers Exemples

let row = await SF.softyTable.retrieve('610c0343f6ebc7ddcb49cc3b', '12345');

updateLien direct vers update

Mettre à jour une seule ligne dans une SoftyTable par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
rowIdstringL'ID de la ligne à mettre à jour
dataobjectLes champs et valeurs à mettre à jour

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en ligne mise à jour

ExemplesLien direct vers Exemples

let updated = await SF.softyTable.update(
  '610c0343f6ebc7ddcb49cc3b',
  '12345',
  {
    status: 'inactive',
    updatedAt: new Date()
  }
);

updateManyLien direct vers updateMany

Mettre à jour plusieurs lignes dans une SoftyTable qui correspondent à des critères spécifiques.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
criteriaobjectCritères de requête avec clause where
dataobjectLes champs et valeurs à mettre à jour

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultat de l'opération de mise à jour

ExemplesLien direct vers Exemples

// Mettre à jour toutes les lignes où le statut est 'pending'
let result = await SF.softyTable.updateMany(
  '610c0343f6ebc7ddcb49cc3b',
  { status: 'pending' },
  { status: 'active', processedAt: new Date() }
);

deleteLien direct vers delete

Supprimer une seule ligne d'une SoftyTable par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
rowIdstringL'ID de la ligne

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultat de suppression

ExemplesLien direct vers Exemples

await SF.softyTable.delete('610c0343f6ebc7ddcb49cc3b', '12345');

deleteManyLien direct vers deleteMany

Supprimer plusieurs lignes d'une SoftyTable qui correspondent à des critères spécifiques.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
criteriaobjectCritères de requête avec clause where

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultat de suppression

ExemplesLien direct vers Exemples

// Supprimer toutes les lignes inactives
await SF.softyTable.deleteMany(
  '610c0343f6ebc7ddcb49cc3b',
  { status: 'inactive' }
);

// Supprimer les lignes antérieures à une certaine date
await SF.softyTable.deleteMany(
  '610c0343f6ebc7ddcb49cc3b',
  { createdAt: { $lt: new Date('2024-01-01') } }
);

clearLien direct vers clear

Effacer toutes les lignes d'une SoftyTable (supprimer toutes les données).

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultat de suppression

ExemplesLien direct vers Exemples

// Supprimer toutes les lignes de la table
await SF.softyTable.clear('610c0343f6ebc7ddcb49cc3b');

getOptionsLien direct vers getOptions

Récupérer les options pour les champs de sélection dans une SoftyTable.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
optionsIdstringL'ID du champ d'options

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en tableau d'options

ExemplesLien direct vers Exemples

let options = await SF.softyTable.getOptions(
  '610c0343f6ebc7ddcb49cc3b',
  'status_field'
);
// retourne: [{ label: 'Active', value: 'active' }, { label: 'Inactive', value: 'inactive' }]

joinTableListLien direct vers joinTableList

Lister les lignes d'une table jointe (relation plusieurs-à-plusieurs).

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
joinTableIdstringL'ID du champ de table de jointure
criteriaobjectCritères de requête avec clause where optionnelle (par défaut : {})
limitnumberNombre maximum de lignes à retourner (par défaut : 100)
pagenumberNuméro de page pour la pagination (par défaut : 0)
sortbystringNom du champ pour trier (par défaut : 'createdAt')
directionnumberDirection du tri : 1 pour ASC, -1 pour DESC (par défaut : 1)
orderarrayTableau d'ordre personnalisé (par défaut : null)

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en un tableau de lignes jointes

ExemplesLien direct vers Exemples

// Lister tous les éléments liés
let relatedItems = await SF.softyTable.joinTableList(
  '610c0343f6ebc7ddcb49cc3b',
  'related_products'
);

// Lister avec filtres et pagination
let items = await SF.softyTable.joinTableList(
  '610c0343f6ebc7ddcb49cc3b',
  'related_products',
  { where: { category: 'electronics' } },
  20,
  0,
  'price',
  -1
);

joinTableCountLien direct vers joinTableCount

Compter les lignes d'une table jointe (relation plusieurs-à-plusieurs).

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
joinTableIdstringL'ID du champ de table de jointure
criteriaobjectCritères de requête avec clause where optionnelle (par défaut : {})

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en un objet avec count

ExemplesLien direct vers Exemples

let result = await SF.softyTable.joinTableCount(
  '610c0343f6ebc7ddcb49cc3b',
  'related_products'
);
// retourne: { count: 45 }

let result = await SF.softyTable.joinTableCount(
  '610c0343f6ebc7ddcb49cc3b',
  'related_products',
  { where: { category: 'electronics' } }
);
// retourne: { count: 12 }

executeLien direct vers execute

Exécuter une requête SQL personnalisée sur la SoftyTable.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
querystringLa requête SQL à exécuter
optionsobjectOptions de requête avec replacements et type (par défaut : {})

Objet OptionsLien direct vers Objet Options

ChampTypeDescription
replacementsobjectValeurs à remplacer dans les requêtes paramétrées
typestringType de requête : 'SELECT', 'INSERT', 'UPDATE', 'DELETE', 'RAW', 'SHOWTABLES'

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultats de la requête

ExemplesLien direct vers Exemples

// Exécuter une requête SELECT
let results = await SF.softyTable.execute(
  '610c0343f6ebc7ddcb49cc3b',
  'SELECT * FROM my_table WHERE status = :status',
  {
    replacements: { status: 'active' },
    type: 'SELECT'
  }
);

// Exécuter une requête personnalisée
let results = await SF.softyTable.execute(
  '610c0343f6ebc7ddcb49cc3b',
  'UPDATE my_table SET status = "processed" WHERE created_at < NOW() - INTERVAL 30 DAY',
  { type: 'UPDATE' }
);

migrateLien direct vers migrate

Migrer les lignes dans une SoftyTable (pour les opérations de migration de données).

ParamètresLien direct vers Paramètres

NomTypeDescription
tableIdstringL'ID de la SoftyTable
migrationDataobjectDonnées de configuration de migration

RetourneLien direct vers Retourne

TypeDescription
PromiseSe résout en résultat de migration

ExemplesLien direct vers Exemples

let result = await SF.softyTable.migrate(
  '610c0343f6ebc7ddcb49cc3b',
  {
    // Configuration de migration
  }
);

8 - TaskLien direct vers 8 - Task


Le SDK Task fournit des méthodes pour interagir avec les ressources de tâche, vous permettant d'interroger, mettre à jour, sauvegarder et supprimer des tâches.

findOneLien direct vers findOne

Trouver une tâche qui satisfait les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre à la tâche.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.findOne({ _id: ObjectId('610c0343f6ebc7ddcb49cc3b') })

findLien direct vers find

Trouver toutes les tâches qui satisfont les critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre aux tâches.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.find({ status: 'pending' })

deleteTaskByIdLien direct vers deleteTaskById

Supprimer une tâche par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la tâche.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.deleteTaskById('610c0343f6ebc7ddcb49cc3b')

deleteManyLien direct vers deleteMany

Supprimer plusieurs tâches qui correspondent aux critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre aux tâches.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

// Supprimer toutes les tâches avec le statut 'completed'
await SF.task.deleteMany({ status: 'completed' })

// Supprimer toutes les tâches pour une instance spécifique
await SF.task.deleteMany({ instanceId: ObjectId('610c0343f6ebc7ddcb49cc3b') })

deleteHistoryByTaskIdLien direct vers deleteHistoryByTaskId

Supprimer tous les enregistrements d'historique associés à une tâche spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
taskIdstringID de la tâche.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.deleteHistoryByTaskId('610c0343f6ebc7ddcb49cc3b')

deleteHistoryByInstanceIdLien direct vers deleteHistoryByInstanceId

Supprimer tous les enregistrements d'historique associés à une instance spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
instanceIdstringID de l'instance.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.deleteHistoryByInstanceId('610c0343f6ebc7ddcb49cc3b')

deleteHistoryLien direct vers deleteHistory

Supprimer les enregistrements d'historique qui correspondent aux critères de requête spécifiés.

ParamètresLien direct vers Paramètres

NomTypeDescription
queryobjectObjet JSON de critères pour correspondre aux historiques.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

// Supprimer tous les enregistrements d'historique pour une action spécifique
await SF.task.deleteHistory({ action: 'task_completed' })

// Supprimer les enregistrements d'historique antérieurs à une certaine date
await SF.task.deleteHistory({ createdAt: { $lt: new Date('2024-01-01') } })

saveTaskLien direct vers saveTask

Sauvegarder une tâche avec des données mises à jour.

ParamètresLien direct vers Paramètres

NomTypeDescription
taskIdstringID de la tâche.
bodyobjectObjet JSON avec données de tâche.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.saveTask('610c0343f6ebc7ddcb49cc3b', {
  status: 'in-progress',
  assignee: 'user123'
})

updateTaskLien direct vers updateTask

Mettre à jour une tâche par son ID.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringID de la tâche.
dataobjectObjet JSON des valeurs à mettre à jour.

RetourneLien direct vers Retourne

TypeDescription
PromiseRetourne une Promesse

ExemplesLien direct vers Exemples

await SF.task.updateTask('610c0343f6ebc7ddcb49cc3b', {
  status: 'completed',
  completedAt: new Date()
})