Les Contrôleurs
Cette page décrit les différents contrôleurs exposés par l'OIP-Core, notamment processActionqui **gère la transition **d'une vue à l'autre, getProcess qui récupère le process actuel, getProject qui récupère le projet à partir d'un process, gotoqui gère la transition vers une vue spécifique et runTaskqui gère l'exécution d'une tâche.
Ces contrôleurs gèrent les logiques de transitions et permettent d'exposer au niveau de l'OAV un contexte depuis l'objet process qui relie la session courante au projet courant.
Liste des contrôleurs exposés :
getProcess
Paramètres : { sessionId, projectId }
Ce contrôleur permet de récupérer un process par sessionId ou par la paire { sessionId, projectId } si projectId est aussi passé en paramètre.
Si le process n'est pas trouvé, un nouveau process est alors créé.
Si un nouveau process est créé pour la paire { sessionId, projectId }, viewId et actions seront définis par rapport au dernier process mis à jour lié au même projectId (si il existe) pour gérer la reprise au niveau de l'OAV.
Le process trouvé (ou créé) est retourné.
Exemple :
import { getProcess } from '@fasstech/oip-core/controllers';
const process = await getProcess({
sessionId: 'my-session-id',
projectId: 'my-project-id'
});
console.log(process);processAction
Paramètres : { sessionId, projectId, action, object, goto }
Ce contrôleur gère la logique de transition d'une vue à l'autre en fonction de l'action spécifiée. action doit correspondre à une action déclarée dans le fichier de configuration de la vue courrante.
La logique de transition est appelée, viewId et actions du process concerné sont mis à jour.
Si projectId est passé également en paramètre, viewId et actions sont mis à jour pour chaque process lié au projectId spécifié. Ce qui permet une reprise continue pour toutes les sessions liées à ce projet.
Le process mis à jour est retourné.
Exemple :
import { processAction } from '@fasstech/oip-core/controllers';
const process = await processAction({
sessionId: 'my-session-id',
projectId: 'my-project-id',
action: 'HOME_NEXT'
});
console.log(process);goto
Paramètres : process, viewId
Ce contrôleur gère la logique de transition vers une vue spécifique. Il prend en paramètres le processus (process) courant et l'identifiant de la vue désirée (viewId). L'identifiant de la vue (viewId) doit correspondre à l'id d'une vue déclarée dans les fichiers de configuration des vues.
L'identifiant de la vue (viewId) et les actions (actions) du processus (process) concerné sont mis à jour.
Le process mis à jour est retourné.
Exemple :
import { goto } from '@fasstech/oip-core/controllers';
const process = await getProcess({
sessionId: 'my-session-id',
projectId: 'my-project-id'
});
const updatedProcess = await goto(process, 'START');
console.log(updatedProcess);linkProject
Paramètres : { sessionId, projectId, viewId }
Ce contrôleur permet de lier un projet au process ciblé par sessionId. viewId doit correspondre à l'id d'une vue déclarée dans les fichiers de configuration des vues.
viewId et actions du process ciblé seront définis par rapport au dernier process mis à jour lié au projectId spécifié (si il existe) pour gérer la reprise au niveau de l'OAV.
Le process mis à jour est retourné ou null si projectId est omis, nul ou indéfini.
Exemple :
import { linkProject } from '@fasstech/oip-core/controllers';
const process = await linkProject({
sessionId: 'my-session-id',
projectId: 'my-project-id',
viewId: 'START'
});
console.log(process);getProject
Paramètres : process
Ce contrôleur permet de récupérer l'entité projet lié au process passé en paramètre.
Si projectId du process passé en paramètre est nul ou indéfini, un nouveau projet est créé et le process est mis à jour pour le lier au projet créé (ajout de projectId).
L'entité projet correspondante est retournée.
Exemple :
import { getProject } from '@fasstech/oip-core/controllers';
const process = await getProcess({
sessionId: 'my-session-id',
projectId: 'my-project-id'
});
const project = await getProject(process);
console.log(project);runTask
Ce_contrôleur_est_déprécié_à_partir_de_la_version_2.2.0.VoirGestions_des_tasks pour en apprendre davantage sur la gestion des tâches et les contrôleurs liés.
Paramètres : { sessionId, projectId, taskName }
Ce contrôleur gère l'exécution d'une tâche ciblée par taskName. Le process ciblé par sessionId ou par { sessionId, projectId } si projectId est aussi passé en paramètre, est alors mis à jour. L'objet de la forme taskName: { taskId, status, statusCode } est ajouté ou mis à jour dans le tableau tasks du process ciblé.
Une erreur est renvoyée si taskName est omis ou si taskName n'est pas trouvé au niveau de la configuration de l'OIP.
Le process mis à jour est retourné.
getView
Ce contrôleur est disponible à partir de la version 2.5.0
Paramètres : { projectId }
Ce contrôleur permet de récupérer les informations de la vue courante depuis le ou les process liés au projectId passé en paramètre.
Exemple :
import { getView } from '@fasstech/oip-core/controllers';
const view = await getView({ projectId: 'my-project-id' });
console.log(view);