Communication
La communication avec Manager se fait via SocketService et RestAPiService.
Socket
Le socket permet une communication bi-directionnelle entre vous et Manager.
Il permet à Manager de vous informer en temps réèl des évènements qui se déroulent dans son éxècution.
RestApi
L'api Rest vous permet d'envoyer des ordres à Manager sous formes de requêtes HTTP (GET, POST, DELETE)
Liaison au WebSocket
La liaison au socket se fait via l'utilisation de la requête TryConnect du service SocketService.
Vous devez fournir à cette requête l'url du socket de Manager et un token d'identification valide.
import {inject } from "inversify";import "reflect-metadata";import {Mediator } from "@adclz/fevermainlib/kernel"import {TryConnect } from "@adclz/fevermainlib/services/socket" export default class MyClass { private readonly Mediator : Mediator constructor(@inject (Mediator ) Mediator : Mediator ) { this.Mediator = Mediator } public TryConnectToWebSocket () { this.Mediator .Request (new TryConnect ({ Url : "ws://localhost:7892", Token : "cc45e44e-e0c8-489c-8b1b-5af41bd0e884" })) }}
Si l'identifiant est valide, Manager vous enverra l'état de votre profil et le token vous permettant d'accéder à l'api rest.
Sinon, celui-ci vous enverra un log d'avertisselent et vous déconnectera.
Liaison à l'Api REST
Notification
Lors d'une connection réussie, Manager vous enverra les informations de votre profil via OnAuthTransition.
import {inject } from "inversify"import "reflect-metadata"import {Mediator } from "@adclz/fevermainlib/kernel"import {OnAuthTransition } from "@adclz/fevermainlib/services/auth" export default class MyClass { private readonly Mediator : Mediator constructor(@inject (Mediator ) Mediator : Mediator ) { this.Mediator = Mediator this.Mediator .Notification (OnAuthTransition ).Subscribe ("MyNotificationKey", profile => { console .log (profile ) }) }}
Classe Profile
L'objet Profil reçu par cette notification contient le token de liaison, les autorisations et le nom du profil enregistré dans Manager.
Vous pouvez voir en détail le fonctionnement de cette classe dans la section dédiée au service Auth.
RestApiToken est nécèssaire dans la vaste majorité des requêtes avec l'api rest que vous allez effectuer envers Manager. Son absence dans l'en-tête ou des autorisations trop faibles pour executer une action vous renverront une erreur.
Déroulement
En bref, voici le déroulement de l'authentification.