Skip to main content

Référence du SDK Web Modeler

Description du SDK du web modelerLien direct vers Description du SDK du web modeler

Le SDK du web modeler est disponible dans le web modeler. Il permet aux utilisateurs d'accéder aux ressources depuis l'interface utilisateur et d'exécuter des calculs complexes lors de l'exécution de l'interface utilisateur.

Le SDK possède les classes suivantes

class Softyflow {}
class Collection {}
class SQLDatabase {}
class SoftyTables {}
class CustomList {}
class Report {}
class Instance {}
class Task {}
class Api {}
class Email {}
class File {}

Dans les sections suivantes, nous allons détailler chaque classe et les méthodes autorisées.

1 - SoftyflowLien direct vers 1 - Softyflow


La classe Softyflow contient les méthodes système de Softyflow

UtilisationLien direct vers Utilisation

Cette classe est instanciée par défaut comme un objet nommé SF lorsque l'interface utilisateur est chargée, vous pouvez donc utiliser les méthodes directement en les appelant via l'objet "SF"

//utilisation de l'objet SF
let currentMode = this.SF.getSF_mode();

getSF_modeLien direct vers getSF_mode

Est une fonction qui retourne le mode de l'interface utilisateur en cours d'exécution

RetourneLien direct vers Retourne

TypeDescription
stringRetourne une chaîne de caractères ('test', 'uat', 'prod')

ExemplesLien direct vers Exemples

let currentMode = this.SF.getSF_mode();

getSF_VersionLien direct vers getSF_Version

Est une fonction qui retourne la version de l'interface utilisateur en cours d'exécution

RetourneLien direct vers Retourne

TypeDescription
stringRetourne une chaîne de caractères ('test', 'uat', 'prod')

ExemplesLien direct vers Exemples

let currentVersion = this.SF.getSF_Version();

queryParamsLien direct vers queryParams

Est une fonction qui retourne les paramètres de requête

paramsDescription
selectoptionnel. Les champs à sélectionner (champs: SF_mode, SF_version, SF_screen)

ParamètresLien direct vers Paramètres

NomTypeDescription
selectstringLes champs sélectionnés

RetourneLien direct vers Retourne

TypeDescription
stringRetourne une chaîne de caractères

ExemplesLien direct vers Exemples

let currentMode = this.SF.getSF_mode('SF_mode SF_version');
console.log(currentMode)
// ?SF_mode=test&SF_version=versionId

startProcessLien direct vers startProcess

Est une fonction qui démarre un processus spécifique

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du processus
bodyobjectJSON des variables du processus

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let variables = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await this.SF.startProcess('processId', variables);

validateCaptchaLien direct vers validateCaptcha

Est une fonction qui valide une action Google reCAPTCHA v3 et retourne le jeton généré.

ParamètresLien direct vers Paramètres

NomTypeDescription
actionstringLe nom de l'action utilisé pour la vérification reCAPTCHA v3.

RetourneLien direct vers Retourne

TypeDescription
Promise<string>Retourne une Promise qui se résout en une chaîne de jeton reCAPTCHA.

ExemplesLien direct vers Exemples

let token = await SF.utils.validateCaptcha("login_form");
// retourne: '03AFcWeA... (une longue chaîne de jeton de Google)'

saveNewLien direct vers saveNew

Est une fonction qui vous permet de sauvegarder l'état de l'interface utilisateur

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'interface
bodyobjectJSON des variables de l'interface

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let variables = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await this.SF.saveNew('interfaceId', variables);

saveTaskLien direct vers saveTask

Est une fonction qui vous permet de sauvegarder l'état de l'interface de tâche

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche
bodyobjectJSON des variables de la tâche

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let variables = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await this.SF.saveTask('taskId', variables);

validateTaskLien direct vers validateTask

Permet de valider une tâche

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche
bodyobjectJSON des variables de la tâche

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let variables = {
  "variable1": "value1",
  "variable2": 1,
  "variable3": true
}
await this.SF.validateTask('taskId', variables);

getUserPendingTaskLien direct vers getUserPendingTask

Permet d'obtenir les tâches en attente assignées à l'utilisateur connecté.

ParamètresLien direct vers Paramètres

NomTypeDescription
limitstringLimite de résultats par page.
pagestringNuméro de page
dueDatestringDate associée.
fieldsstringChamps.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await this.SF.getUserPendingTask('limit', 'page', 'dueDate', 'fields');

uploadImageLien direct vers uploadImage

Est une fonction qui télécharge une image sur le serveur en utilisant une requête POST multipart/form-data.

ParamètresLien direct vers Paramètres

NomTypeDescription
dataFormDataUn objet FormData contenant le fichier image et toutes métadonnées supplémentaires.

RetourneLien direct vers Retourne

TypeDescription
Promise<object>Retourne une Promise qui se résout en données de réponse du serveur.

ExemplesLien direct vers Exemples

const formData = new FormData();
formData.append("profileImage", file);

let response = await SF.utils.uploadImage(formData);
// retourne: { success: true, imageUrl: "/uploads/user123.png" }

setListFromCollectionLien direct vers setListFromCollection

Permet de définir une liste de données à partir d'une collection spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringIdentifiant de la collection.
criteriaobjectJSON de requête.
limitstringLimite de résultats.
sortstringOption de tri.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let criteria = {
  firstName: new RegExp("p", "i")
}
await this.SF.setListFromCollection('collectionId', criteria, 10, 'sort');

setListFromCollectionAggregationLien direct vers setListFromCollectionAggregation

Est une fonction qui effectue une opération d'agrégation sur une collection spécifiée en utilisant le pipeline d'agrégation fourni.

ParamètresLien direct vers Paramètres

NomTypeDescription
collectionstringLe nom ou l'identifiant de la collection cible à agréger.
aggregArray<object>Un tableau d'étapes de pipeline d'agrégation (framework d'agrégation MongoDB).

RetourneLien direct vers Retourne

TypeDescription
Promise<Array>Retourne une Promise qui se résout en résultat de la requête d'agrégation.

ExemplesLien direct vers Exemples

let results = await SF.utils.setListFromCollectionAggregation("users", [
  { $match: { age: { $gte: 18 } } },
  { $group: { _id: "$country", count: { $sum: 1 } } }
]);
// retourne: [ { _id: "USA", count: 42 }, { _id: "FR", count: 18 } ]

setListFromReportLien direct vers setListFromReport

Est une fonction qui effectue une requête d'agrégation dynamique sur une collection de rapport, en utilisant des filtres, un tri et des options de limite.

ParamètresLien direct vers Paramètres

NomTypeDescription
reportstringL'identifiant ou le nom de la collection de rapport.
queryobjectUn objet représentant les conditions de filtre utilisant des opérateurs personnalisés ou MongoDB.
[limit]number(Optionnel) Limite le nombre de documents retournés.
[sort]object(Optionnel) Options de tri avec le champ by et la direction (-1 ou 1).

RetourneLien direct vers Retourne

TypeDescription
Promise<Array>Retourne une Promise qui se résout en résultat de l'agrégation.

ExemplesLien direct vers Exemples

let result = await SF.utils.setListFromReport("monthly_sales", {
  SF_createdBy: "admin@example.com",
  region: "NA"
}, 10, { by: "createdAt", direction: -1 });
// retourne: [ { ... }, { ... } ]

setListFromReportAggregationLien direct vers setListFromReportAggregation

Est une fonction qui effectue une agrégation personnalisée sur une instance de rapport en utilisant un pipeline d'agrégation fourni.

ParamètresLien direct vers Paramètres

NomTypeDescription
reportstringL'identifiant ou le nom de la collection de rapport.
aggregArray<object>Le pipeline d'agrégation à exécuter.

RetourneLien direct vers Retourne

TypeDescription
Promise<Array>Retourne une Promise qui se résout en résultat de l'agrégation.

ExemplesLien direct vers Exemples

let data = await SF.utils.setListFromReportAggregation("monthly_reports", [
  { $match: { status: "completed" } },
  { $group: { _id: "$region", total: { $sum: "$amount" } } }
]);
// retourne: [ { _id: "Europe", total: 24000 }, { _id: "Asia", total: 18000 } ]

setListFromSQLLien direct vers setListFromSQL

Permet de définir une liste de données à partir de la base de données cliente.

ParamètresLien direct vers Paramètres

NomTypeDescription
clientDatabasestringIdentifiant de la base de données cliente.
querystringRequête de tableau.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await this.SF.setListFromSQL('clientDatabaseID', "code='MMA'");

setListFromCustomListLien direct vers setListFromCustomList

Permet de définir une liste de données à partir de CustomList.

ParamètresLien direct vers Paramètres

NomTypeDescription
CustomListstringIdentifiant de CustomList.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await this.SF.setListFromCustomList('CustomListID');

aggregateQueryLien direct vers aggregateQuery

Permet de définir une liste de données à partir de CustomList.

ParamètresLien direct vers Paramètres

NomTypeDescription
typestringType de la ressource (collection, report, users, projects, external databases).
idstringIdentifiant de la ressource.
queryobjectJSON d'une valeur à faire correspondre dans la ressource.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await this.SF.aggregateQuery('collection', '610c0343f6ebc7ddcb49cc3b', {value : "it"});

deleteFileLien direct vers deleteFile

Permet de supprimer un fichier en utilisant son identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la ressource.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await this.SF.deleteFile('610c0343f6ebc7ddcb49cc3b');

2 - ProjectsLien direct vers 2 - Projects


La classe Projects contient les méthodes qui vous permettront de gérer les projets.

UtilisationLien direct vers Utilisation

const projects = new Projects({ mode: 'test' });

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "status": "active" }
  },
  {
    "$group": {
      "_id": "$category",
      "total": { "$sum": 1 }
    }
  }
]
let results = await projects.aggregate(aggregation);

3 - UsersLien direct vers 3 - Users


La classe Users contient les méthodes qui vous permettront de gérer les utilisateurs.

UtilisationLien direct vers Utilisation

const users = new Users();

createLien direct vers create

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

DataLien direct vers Data

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 identifiants des groupes d'utilisateur (array)
metadataoptionnel. Les métadonnées de l'utilisateur (json)
ideAccessRequis. Droit d'accès à l'IDE (boolean)
blockedoptionnel. Blocage de l'utilisateur (boolean)

ExemplesLien direct vers Exemples

let user = {
  email: "email@softydev.com",
  lastName : "last name",
  firstName: "first name",
  group: [],
  metadata: {},
  ideAccess: true,
  blocked: false
}
await users.create(user);

updateLien direct vers update

Permet de mettre à jour un utilisateur

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'utilisateur.
dataobjectDonnées utilisateur.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

DataLien direct vers Data

Les mêmes données autorisées lors de la création d'un utilisateur. Les champs sont optionnels.

ExemplesLien direct vers Exemples

let newData = {
  ideAccess: false
}
await users.update("userId", newData);

deleteLien direct vers delete

Permet de supprimer un utilisateur.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'utilisateur.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await users.delete("userId");

findByIdLien direct vers findById

Permet d'obtenir un utilisateur par identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'utilisateur.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let user = await users.findById("userId");

findLien direct vers find

Permet de lister les utilisateurs.

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let criteria = {
  firstName: new RegExp("p", "i")
}
let usersList = await users.find(criteria);

countLien direct vers count

Permet d'obtenir le nombre d'utilisateurs.

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let criteria = {
  blocked: false
}
let count = await users.count(criteria);

findAndCountLien direct vers findAndCount

Obtenir une liste et le nombre d'utilisateurs

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

OptionsLien direct vers Options

Ces options sont optionnelles

OptionDescription
criteriaSpécifie le filtre de sélection (par défaut : {})
fieldsSélectionne des champs spécifiques (exemple: "createdAt email")
limitNombre d'instances retournées (par défaut : 100/ sans limite : 0)
pageNuméro de page dépend de la limite (par défaut : 0)
sortbyTrie les résultats par clé (par défaut : createdAt)
directionOrdre croissant (1) ou décroissant (-1) (par défaut : -1)

ExemplesLien direct vers Exemples

let body = {
  criteria: {
    firstName: new RegExp("p", "i")
  },
  limit: 10,
  page: 0,
  sortBy: "createdAt",
  direction: -1
}
let res = await users.findAndCount(body);
let usersList = res.data;
let count = res.count;

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "firstName": new RegExp("z", "i") }
  },
  {
    "$project" : {
                    "_id": 1,
                    "firstName": 1,
                    "lastName": 1,
                    "email": 1
                  }
  }
]
let usersList = await users.aggregate([aggregation]);

addRoleLien direct vers addRole

Ajoute un rôle à l'utilisateur en utilisant l'identifiant utilisateur et l'identifiant du groupe.

ParamètresLien direct vers Paramètres

NomTypeDescription
userIdstringIdentifiant utilisateur.
groupidstringIdentifiant du groupe.
modestringMode de l'interface utilisateur en cours d'exécution

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await users.addRole("userId","groupId","SF_mode");

removeRoleLien direct vers removeRole

Retire un rôle de l'utilisateur en utilisant l'identifiant utilisateur et l'identifiant du groupe.

ParamètresLien direct vers Paramètres

NomTypeDescription
userIdstringIdentifiant utilisateur.
groupidstringIdentifiant du groupe.
modestringMode de l'interface utilisateur en cours d'exécution

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await users.removeRole("userId","groupId","SF_mode");

4 - GroupsLien direct vers 4 - Groups


La classe Groups contient les méthodes qui vous permettront de gérer les groupes d'utilisateurs.

UtilisationLien direct vers Utilisation

const groups = new Groups();

findByIdLien direct vers findById

Trouve un groupe par son identifiant unique.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du groupe

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne les données du groupe

ExemplesLien direct vers Exemples

let group = await groups.findById("groupId123");

findLien direct vers find

Trouve les groupes en fonction d'un critère de filtre.

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectObjet de critères de recherche

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un tableau de groupes

ExemplesLien direct vers Exemples

let list = await groups.find({ name: /admin/i });

countLien direct vers count

Compte le nombre de groupes correspondant aux critères.

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectCritères de filtre

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le nombre

ExemplesLien direct vers Exemples

let total = await groups.count({ type: "system" });

findAndCountLien direct vers findAndCount

Trouve les groupes et retourne à la fois les résultats et le nombre total.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectCorps de requête avec filtres et pagination

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un objet { data, count }

ExemplesLien direct vers Exemples

let result = await groups.findAndCount({ limit: 10, offset: 0 });

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau du pipeline d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat de l'agrégation

ExemplesLien direct vers Exemples

let aggregation = [
  { $match: { type: "system" } },
  { $group: { _id: "$status", total: { $sum: 1 } } }
];
let stats = await groups.aggregate(aggregation);

createLien direct vers create

Crée un nouveau groupe avec les données fournies.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectDonnées du groupe

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le groupe créé

ExemplesLien direct vers Exemples

let newGroup = await groups.create({ name: "Developers", type: "custom" });

updateLien direct vers update

Met à jour un groupe existant par identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du groupe
bodyobjectCharge utile de mise à jour

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le groupe mis à jour

ExemplesLien direct vers Exemples

let updated = await groups.update("groupId123", { name: "Admins Updated" });

deleteLien direct vers delete

Supprime un groupe par identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du groupe

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat de suppression

ExemplesLien direct vers Exemples

await groups.delete("groupId123");

groupUsersLien direct vers groupUsers

Récupère les utilisateurs appartenant à un groupe spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du groupe

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un tableau d'utilisateurs dans le groupe

ExemplesLien direct vers Exemples

let users = await groups.groupUsers("groupId123");

5 - CollectionLien direct vers 5 - Collection


La classe Collection contient les méthodes qui vous permettront de gérer votre collection

UtilisationLien direct vers Utilisation

Vous pouvez instancier une classe Collection avec l'identifiant ou le nom de la collection. Vous pouvez ajouter l'option mode

OptionDescription
idRequis. Identifiant ou nom de la collection
modeoptionnel. Spécifie le mode de la collection (par défaut : "test")
const collection = new Collection({ id: 'collectionId', mode: 'test' });

insertLien direct vers insert

Permet d'insérer un json dans une collection

ParamètresLien direct vers Paramètres

NomTypeDescription
dataobjectJSON d'une valeur à insérer dans la collection.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await collection.insert({ name: "name1", type : "type1" });

insertManyLien direct vers insertMany

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

ParamètresLien direct vers Paramètres

NomTypeDescription
dataobjectJSON d'une valeur à insérer dans la collection.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await collection.insertMany([{label : "IT", value : "it"}]);

updateManyLien direct vers updateMany

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

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête.
dataobjectJSON de nouvelles données.
optionsobjectJSON d'options

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let criteria = {
  firstName: new RegExp("p", "i")
}
await collection.updateMany(criteria, [{ type : "type2" }], { upsert: true });

updateLien direct vers update

Permet de mettre à jour un document dans la collection

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du document.
dataobjectJSON de nouvelles données.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await collection.update("documentId", { type : "type2" });

deleteLien direct vers delete

Permet de supprimer un document de la collection

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du document.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await collection.delete("documentId");

findByIdLien direct vers findById

Permet d'obtenir un objet par identifiant depuis la collection

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant du document.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let document = await collection.findById(id);

findLien direct vers find

Permet de sélectionner les documents dans une collection

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

OptionsLien direct vers Options

Ces options sont optionnelles

OptionDescription
criteriaSpécifie le filtre de sélection (par défaut : {})
limitNombre de documents retournés (par défaut : 100/ sans limite : 0)
pageNuméro de page dépend de la limite (par défaut : 0)
sortbyTrie les résultats par clé (par défaut : createdAt)
directionOrdre croissant (1) ou décroissant (-1) (par défaut : -1)

ExemplesLien direct vers Exemples

let body = {
  criteria: {
    name: new RegExp("p", "i"),
    type: "type1"
  },
  limit: 10,
  page: 0,
  sortBy: "createdAt",
  direction: -1
}
let documents = await collection.find(body);

countLien direct vers count

Permet d'obtenir le nombre de documents qui correspondraient à une requête pour la collection

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let count = await collection.count({ type: "type1" });

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
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
                  }
  }
]
let documents = await collection.aggregate([aggregation]);

6 - SQLDatabaseLien direct vers 6 - SQLDatabase


Gérez vos bases de données SQL externes via la classe SQLDatabase.

UtilisationLien direct vers Utilisation

Vous pouvez instancier une classe SQL avec l'identifiant et le mode (optionnel).

OptionDescription
idRequis. Identifiant ou nom de la base de données
modeoptionnel. Spécifie le mode de la base de données (par défaut : "test")
const sql = new SQLDatabase({ id: '610c0343f6ebc7ddcb49cc3b', mode: 'test' });

findOneLien direct vers findOne

Obtient les données d'une ligne de tableau

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
CriteriastringRequête de tableau.

RetourneLien direct vers Retourne

TypeDescription
object

ExemplesLien direct vers Exemples

let res = await sql.findOne("client", "code='MMA'"))

findLien direct vers find

Liste plusieurs lignes d'un tableau SQL

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
optionsstringRequête de tableau.

RetourneLien direct vers Retourne

TypeDescription
array

ExemplesLien direct vers Exemples

let res = sql.find("client", "code='MMA'")

countLien direct vers count

Obtient le nombre de lignes pour un tableau avec un critère

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
optionsstringRequête de tableau.

RetourneLien direct vers Retourne

TypeDescription
arrayTableau avec un élément contenant le nombre

ExemplesLien direct vers Exemples

let count = await sql.count("client", "code='MMA'");

executeLien direct vers execute

Exécute une requête personnalisée sur la base de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
querystringChaîne de requête.

RetourneLien direct vers Retourne

TypeDescription
arrayRetourne un tableau.

ExemplesLien direct vers Exemples

sql.execute("INSERT INTO client(code, intitule, representant, codepostal) VALUES('MDSX', 'holder', 'holder', 14000)")

insertLien direct vers insert

Insère une ligne dans un tableau.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
dataobjectCorps JSON.

RetourneLien direct vers Retourne

TypeDescription
array

ExemplesLien direct vers Exemples

sql.insert("client", {
    code: 'HelloWord',
    codepostal: 14000
}

insertManyLien direct vers insertMany

Insère plusieurs lignes dans un tableau

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
dataarrayCorps JSON.

RetourneLien direct vers Retourne

TypeDescription
array

ExemplesLien direct vers Exemples

sql.insertMany("client", [
  { code: '#1' },
  { code: '#2' }
])

updateLien direct vers update

Met à jour les lignes.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
querystringRequête de tableau.
dataobjectCorps JSON mis à jour.

RetourneLien direct vers Retourne

TypeDescription
object

ExemplesLien direct vers Exemples

 sql.update('client',   "code='MMA'",
    {
        code: "MQS"
    })

deleteLien direct vers delete

Supprime une/des ligne(s) dans votre tableau.

ParamètresLien direct vers Paramètres

NomTypeDescription
tableNamestringNom du tableau.
querystringRequête de tableau.

RetourneLien direct vers Retourne

TypeDescription
object

ExemplesLien direct vers Exemples

sql.delete("client", "id=223")

7 - SoftyTablesLien direct vers 7 - SoftyTables


La classe SoftyTables 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 tableau depuis l'interface web.

UtilisationLien direct vers Utilisation

Vous pouvez instancier une classe SoftyTables avec les options id et mode.

OptionDescription
idRequis. Identifiant de la SoftyTable
modeoptionnel. Spécifie le mode de SoftyTable (par défaut : "test")
const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

findByIdLien direct vers findById

Récupère une seule ligne d'une SoftyTable par son identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
rowIdstringL'identifiant de la ligne

RetourneLien direct vers Retourne

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

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});
let row = await softyTable.findById('12345');

findLien direct vers find

Liste les lignes d'une SoftyTable avec filtrage, tri et pagination optionnels.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options (criteria, limit, page, sortby, direction)

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en un tableau de lignes de tableau

OptionsLien direct vers Options

Ces options sont optionnelles

OptionDescription
criteriaSpécifie le filtre de sélection avec clause where (par défaut : {})
limitNombre de lignes retournées (par défaut : 100/ sans limite : 0)
pageNuméro de page dépend de la limite (par défaut : 0)
sortbyTrie les résultats par nom de champ (par défaut : createdAt)
directionOrdre croissant (1) ou décroissant (-1) (par défaut : -1)

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

// Liste toutes les lignes
let rows = await softyTable.find({});

// Liste avec filtres et pagination
let body = {
  criteria: {
    where: { status: 'active' }
  },
  limit: 50,
  page: 0,
  sortby: 'createdAt',
  direction: -1
}
let activeRows = await softyTable.find(body);

countLien direct vers count

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

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectCritères de requête avec clause where optionnelle

RetourneLien direct vers Retourne

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

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

// Compte toutes les lignes
let result = await softyTable.count({});
// retourne: { count: 150 }

// Compte avec filtre
let result = await softyTable.count({
  criteria: { where: { status: 'active' } }
});
// retourne: { count: 75 }

findAndCountLien direct vers findAndCount

Obtient à la fois une liste de lignes et le nombre total correspondant aux critères.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options (criteria, limit, page, sortby, direction)

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en objet { data, count }

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

let body = {
  criteria: {
    where: { status: 'active' }
  },
  limit: 10,
  page: 0,
  sortby: 'createdAt',
  direction: -1
}
let result = await softyTable.findAndCount(body);
let rows = result.data;
let count = result.count;

insertLien direct vers insert

Crée une seule ligne dans une SoftyTable.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectL'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

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

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

insertManyLien direct vers insertMany

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

ParamètresLien direct vers Paramètres

NomTypeDescription
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

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

let newRows = await softyTable.insertMany([
  { 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 }
]);

updateLien direct vers update

Met à jour une seule ligne dans une SoftyTable par son identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
rowIdstringL'identifiant de la ligne à mettre à jour
bodyobjectLes champs et valeurs à mettre à jour

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en ligne mise à jour

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

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

updateManyLien direct vers updateMany

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

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectCritères de requête avec clause where
valueobjectLes champs et valeurs à mettre à jour
optionsobjectOptions supplémentaires (optionnel)

RetourneLien direct vers Retourne

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

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

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

deleteLien direct vers delete

Supprime une seule ligne d'une SoftyTable par son identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
rowIdstringL'identifiant de la ligne

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en résultat de suppression

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

await softyTable.delete('12345');

deleteManyLien direct vers deleteMany

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

ParamètresLien direct vers Paramètres

NomTypeDescription
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

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

// Supprime toutes les lignes inactives
await softyTable.deleteMany({ status: 'inactive' });

// Supprime les lignes plus anciennes qu'une certaine date
await softyTable.deleteMany({
  createdAt: { $lt: new Date('2024-01-01') }
});

clearLien direct vers clear

Efface toutes les lignes d'une SoftyTable (supprime toutes les données).

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en résultat de suppression

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

// Supprime toutes les lignes du tableau
await softyTable.clear();

getOptionsLien direct vers getOptions

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

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en tableau d'options

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

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

executeLien direct vers execute

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

ParamètresLien direct vers Paramètres

NomTypeDescription
querystringLa requête SQL à exécuter
optionsobjectOptions de requête avec replacements et type

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

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

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

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

migrateLien direct vers migrate

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

RetourneLien direct vers Retourne

TypeDescription
promiseSe résout en résultat de migration

ExemplesLien direct vers Exemples

const softyTable = new SoftyTables({id: 'tableId', mode: 'test'});

let result = await softyTable.migrate();

8 - CustomListLien direct vers 8 - CustomList


La classe CustomList contient les méthodes qui vous permettront de gérer votre liste personnalisée

UtilisationLien direct vers Utilisation

Vous pouvez instancier une classe CustomList avec l'identifiant de la liste personnalisée. Vous pouvez ajouter d'autres options (mode, versionId)

OptionDescription
idRequis. Identifiant de la liste personnalisée
modeoptionnel. Spécifie le mode de la liste personnalisée (par défaut : "test")
versionIdoptionnel. Identifiant de la version depuis laquelle obtenir la liste personnalisée
const customList = new CustomList({id: 'id', mode: 'test', versionId: "vId"});

getLien direct vers get

Obtient les données d'une liste personnalisée

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let customListData = await customList.get();

9 - ReportLien direct vers 9 - Report


La classe Report vous permettra de manipuler un rapport spécifique

UtilisationLien direct vers Utilisation

Vous pouvez instancier une classe Report avec l'identifiant du rapport. Vous pouvez ajouter l'option mode

OptionDescription
idRequis. Spécifie le mode de la liste personnalisée (par défaut : "test")
modeoptionnel. Spécifie le mode de la liste personnalisée (par défaut : "test")
const report = new Report({id: 'id', mode: 'test'});

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "SF_status": "Running" }
  },
  {
    "$sort": { "SF_createdAt": -1 }
  }
]
let instances = await report.aggregate(aggregation);  //rapport des instances

10 - InstanceLien direct vers 10 - Instance


La classe Instance contient les méthodes qui vous permettront de gérer les instances

UtilisationLien direct vers Utilisation

const inctance = new Instance();

findByIdLien direct vers findById

Obtient une instance par identifiant

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'instance.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let oneInctance = await inctance.findById(id);

findLien direct vers find

Liste les instances

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let instances = await inctance.find({ status: "Running" });

countLien direct vers count

Permet d'obtenir le nombre d'instances qui correspondraient à une requête

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let count = await inctance.count({ status: "Running" });

findAndCountLien direct vers findAndCount

Obtient une liste et le nombre d'instances

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

OptionsLien direct vers Options

Ces options sont optionnelles

OptionDescription
criteriaSpécifie le filtre de sélection (par défaut : {})
fieldsSélectionne des champs spécifiques (exemple: "createdAt name status")
limitNombre d'instances retournées (par défaut : 100/ sans limite : 0)
pageNuméro de page dépend de la limite (par défaut : 0)
sortbyTrie les résultats par clé (par défaut : createdAt)
directionOrdre croissant (1) ou décroissant (-1) (par défaut : -1)

ExemplesLien direct vers Exemples

let body = {
  criteria: {
    status: "Running"
  },
  limit: 10,
  page: 0,
  sortBy: "createdAt",
  direction: -1
}
let res = await inctance.findAndCount(body);
let instances = res.data;
let count = res.count;

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "status": "End" }
  },
  {
    "$project" : {
                    "_id": 1,
                    "name": 1
                  }
  }
]
let inctances = await inctance.aggregate([aggregation]);

updateLien direct vers update

Met à jour une instance

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'instance.
dataobjectJSON de nouvelles données.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await inctance.update(id, { status : "End" });

deleteLien direct vers delete

Supprime une instance

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'instance.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await inctance.delete(id);

historyLien direct vers history

Obtient l'historique de l'instance.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de l'instance.
dataobjectJSON de données.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await inctance.history(id, { status : "End" });

11 - TaskLien direct vers 11 - Task


La classe Task contient les méthodes qui vous permettront de gérer les tâches

UtilisationLien direct vers Utilisation

const task = new Task();

findByIdLien direct vers findById

Obtient une tâche par identifiant

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let oneTask = await task.findById(id);

findLien direct vers find

Liste les tâches

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let tasks = await task.find({ instanceId: "instanceId" });

countLien direct vers count

Permet d'obtenir le nombre de tâches qui correspondraient à une requête

ParamètresLien direct vers Paramètres

NomTypeDescription
criteriaobjectJSON de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let count = await task.count({ instanceId: "instanceId" });

findAndCountLien direct vers findAndCount

Obtient une liste et le nombre de tâches

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

OptionsLien direct vers Options

Ces options sont optionnelles

OptionDescription
criteriaSpécifie le filtre de sélection (par défaut : {})
assignedToConnectedPour obtenir les tâches de l'utilisateur connecté (par défaut : false)
fieldsSélectionne des champs spécifiques (exemple: "createdAt name status")
limitNombre d'instances retournées (par défaut : 100/ sans limite : 0)
pageNuméro de page dépend de la limite (par défaut : 0)
sortbyTrie les résultats par clé (par défaut : createdAt)
directionOrdre croissant (1) ou décroissant (-1) (par défaut : -1)

ExemplesLien direct vers Exemples

let body = {
  criteria: {
    status: "Running"
  },
  assignedToConnected: true,
  limit: 10,
  page: 0,
  sortBy: "createdAt",
  direction: -1
}
let res = await task.findAndCount(body);
let tasks = res.data;
let count = res.count;

aggregateLien direct vers aggregate

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

ParamètresLien direct vers Paramètres

NomTypeDescription
aggregationarrayTableau d'agrégation

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let aggregation = [
  {
    "$match": { "status": "End" }
  },
  {
    "$project" : {
                    "_id": 1,
                    "name": 1
                  }
  }
]
let tasks = await task.aggregate([aggregation]);

updateLien direct vers update

Met à jour une tâche

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche.
dataobjectJSON de nouvelles données.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await task.update(id, { status : "End" });

deleteLien direct vers delete

Supprime une tâche

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await task.delete(id);

getNextValueLien direct vers getNextValue

Obtient la valeur suivante d'une tâche.

ParamètresLien direct vers Paramètres

NomTypeDescription
namestringNom de la variable.
[padding]numberRemplissage du résultat avec 000000.
modestringMode de l'utilisateur en cours d'exécution.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await task.getNextValue("name",5,"SF_mode");

historyLien direct vers history

Obtient l'historique d'une tâche par son identifiant.

ParamètresLien direct vers Paramètres

NomTypeDescription
idstringIdentifiant de la tâche
bodyobjectParamètres de requête (optionnel)

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un objet { data, count }

ExemplesLien direct vers Exemples

let log = await task.history("taskId123", {});

12 - ApiLien direct vers 12 - Api


La classe Api contient les méthodes qui vous permettront de gérer vos Apis.

UtilisationLien direct vers Utilisation

const api = new Api();

invokeLien direct vers invoke

Invoque une API.

ParamètresLien direct vers Paramètres

NomTypeDescription
bodyobjectJSON d'options.

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

let body = {
  const myElement = document.getElementById("demo");

  function getLocation() {
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(showPosition);
    } else {
      myElement.innerHTML = "Geolocation is not supported by this browser.";
    }
  }

  function showPosition(position) {
    myElement.innerHTML = "Latitude: " + position.coords.latitude +
    "<br>Longitude: " + position.coords.longitude;
  }
}
await api.invoke(body);

13 - EmailLien direct vers 13 - Email


La classe Email contient les méthodes qui vous permettront de gérer vos emails.

UtilisationLien direct vers Utilisation

const email = new Email();

sendLien direct vers send

Envoie un email.

ParamètresLien direct vers Paramètres

NomTypeDescription
assigneestringEmail de l'utilisateur destinataire.
subjectstringSujet de l'email.
variablesobjectJSON d'options.
mailTemplateobjectModèle d'email.
mailProviderobjectFournisseur par défaut Softyflow.
ccstringJSON d'options.
fromstringEmail de l'utilisateur expéditeur.
replyTostring*

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne une promesse

ExemplesLien direct vers Exemples

await email.send("assignee","subject",{"var1", "var2"},{"mailTemplate"},{"mailProvider"},"mail of user in cc", "senderMail","replyTo");

14 - DataSourceLien direct vers 14 - DataSource


La classe DataSource fournit des méthodes génériques de manipulation de données pour diverses sources telles que les collections, les tableaux ou les rapports.

UtilisationLien direct vers Utilisation

const ds = new DataSource();

findOneLien direct vers findOne

Récupère un seul document d'une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectOptions de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un seul document

ExemplesLien direct vers Exemples

let doc = await ds.findOne("users", { filter: { email: "user@example.com" } });

listLien direct vers list

Liste plusieurs documents d'une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectOptions de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne un tableau de documents

ExemplesLien direct vers Exemples

let docs = await ds.list("users", { filter: { active: true } });

countLien direct vers count

Compte le nombre de documents dans une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectOptions de requête

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le nombre de documents

ExemplesLien direct vers Exemples

let total = await ds.count("orders", { filter: { status: "delivered" } });

updateLien direct vers update

Met à jour des documents dans une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectConditions de requête
dataobjectDonnées à mettre à jour

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat de mise à jour

ExemplesLien direct vers Exemples

await ds.update("products", { filter: { stock: 0 } }, { restock: true });

insertLien direct vers insert

Insère un seul document dans une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
dataobjectDocument à insérer
optionsobjectOptions supplémentaires

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat d'insertion

ExemplesLien direct vers Exemples

await ds.insert("logs", { action: "login", userId: "abc123" });

insertManyLien direct vers insertMany

Insère plusieurs documents dans une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
dataarrayTableau de documents
optionsobjectOptions supplémentaires

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat d'insertion

ExemplesLien direct vers Exemples

await ds.insertMany("logs", [{ action: "view" }, { action: "edit" }]);

deleteLien direct vers delete

Supprime des documents d'une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectCritères de suppression

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat de suppression

ExemplesLien direct vers Exemples

await ds.delete("sessions", { filter: { expired: true } });

executeLien direct vers execute

Exécute une action ou commande personnalisée sur une source de données.

ParamètresLien direct vers Paramètres

NomTypeDescription
sourcestringNom de la source
optionsobjectParamètres d'exécution

RetourneLien direct vers Retourne

TypeDescription
promiseRetourne le résultat d'exécution

ExemplesLien direct vers Exemples

await ds.execute("jobs", { action: "resetAll" });

15 - FileLien direct vers 15 - File

La classe File fournit des méthodes pour générer des fichiers PDF à partir de modèles HTML stockés et de contextes de variables en utilisant des endpoints API.


generatePDFLien direct vers generatePDF

Génère un fichier PDF en récupérant le contenu HTML d'un fichier et en le publiant avec des données contextuelles.

ParamètresLien direct vers Paramètres

NomTypeDescription
filenamestring- Nom souhaité pour le PDF généré
fidstring- Identifiant du fichier depuis lequel récupérer le contenu
contextobject- Données contextuelles pour le rendu PDF (par exemple, variables)

RetourneLien direct vers Retourne

TypeDescription
Promise- Se résout avec la réponse de génération du PDF

ExampleLien direct vers Example

const file = new File();
file.generatePDF("output.pdf", "605c72...", { variables: { user: "Alice" } });

genratePDFWithVarLien direct vers genratePDFWithVar

Génère du contenu PDF en utilisant des variables directement en publiant vers un endpoint de génération de contenu spécifique.

ParamètresLien direct vers Paramètres

NomTypeDescription
namestring- Nom pour la sortie (non utilisé directement dans l'appel)
fidstring- Identifiant du fichier du modèle
contextobject- Données de variables utilisées pour le rendu du modèle

RetourneLien direct vers Retourne

TypeDescription
Promise- Se résout avec la réponse du serveur

ExampleLien direct vers Example

const file = new File();
file.genratePDFWithVar("Invoice", "605c72...", { variables: { amount: 100, user: "Alice" } });