Api Rest

Ce service est en charge de la communication avec l'api rest de Manager.
Il permet d'envoyer des reqûetes POST, GET ou DELETE.

Importation

      

import {inject} from "inversify";
import "reflect-metadata";
import RestApiService from "@adclz/fevermainlib/services/rest";
 
export default class MyClass {
private RestApiService: RestApiService
 
constructor(@inject(RestApiService) RestApiService: RestApiService) {
this.RestApiService = RestApiService
}
}
 

📜 Champs

Host

RestApiService.prototype.Host = string

Url de l'api.

Port

RestApiService.prototype.Port = string

Port de l'api.

Ssl

RestApiService.prototype.Host = boolean

Indicateur ssl de la connection à l'api.

ApiUrl

RestApiService.prototype.ApiUrl = string

Url complète de l'api.

RestApiService.prototype.Header = Record<string, string>

En-tête à rajouter aux requêtes HTTP contenant le jeton d'autorisation.

Médiateur

⚙️ Requêtes GET

GetTiaData

Demande à reçevoir les informations de projet.

      

import {GetTiaData} from "@adclz/fevermainlib/services/rest";
 
InjectedMediator.Request(new GetTiaData()).then(data => data)
(parameter) data: BaseTiaData
 

GetPlcData

Demande à reçevoir les blocs de l'automate vérrouillé.

      

import {GetPlcData} from "@adclz/fevermainlib/services/rest";
 
InjectedMediator.Request(new GetPlcData()).then(data => data)
(parameter) data: BasePlcData
 

GetInconsistentBlocks

Demande à reçevoir les blocs inconsistents de l'automate vérrouillé.

      

import {GetInconsistentBlocks} from "@adclz/fevermainlib/services/rest";
 
InjectedMediator.Request(new GetInconsistentBlocks()).then(data => data)
(parameter) data: BasePlcData
 

GetGraphics

Demande à reçevoir les graphiques multilingues du projet.

      

import {GetGraphics} from "@adclz/fevermainlib/services/rest";
 
InjectedMediator.Request(new GetGraphics()).then(data => data)
(parameter) data: MultilingualGraphic
 

GetCultures

Demande à reçevoir les informations de culture du projet.

      

import {GetCultures} from "@adclz/fevermainlib/services/rest";
 
InjectedMediator.Request(new GetCultures()).then(data => data)
(parameter) data: RawCultureData
 

⚙️ Requêtes POST

ChunkTransfer

ChunkTransfer est une classe interne qui s'instancie automatiquement lorsque les données à envoyer sont supérieures à 256 kb.
Elle permet de découper les informations à envoyer en plusieurs segments de 256 kb max chacun.
Ainsi MainLib se charge seul de gérer l'envoi des informations à Manager.

PostImage

Permet d'envoyer une ou plusieurs images à enregistrer.

      

import {PostImage} from "@adclz/fevermainlib/services/rest";
 
const ImageName = "My Images Data" as any as FormData
InjectedMediator.Request(new PostImage(ImageName)).then(data => data)
(parameter) data: Response
 

PostPlcTemplate

Permet d'envoyer un template d'automate à compiler.

Afin d'envoyer des données valides, vous devez faire un JSON.Stringify d'un tableau contenant plusieurs sources automate.
      

import {PostPlcTemplate} from "@adclz/fevermainlib/services/rest";
 
const PlcTemplate = "PlcData Builder Data"
InjectedMediator.Request(new PostPlcTemplate(PlcTemplate)).then(data => data)
(parameter) data: void | Response
 

PostHmiTemplate

Permet d'envoyer un template d'hmi à compiler.

Afin d'envoyer des données valides, vous devez faire un JSON.Stringify d'un tableau contenant plusieurs sources Hmi.
      

import {PostHmiTemplate} from "@adclz/fevermainlib/services/rest";
 
const HmiTemplate = "HmiSource"
InjectedMediator.Request(new PostHmiTemplate(HmiTemplate)).then(data => data)
(parameter) data: void | Response
 

⚙️ Requêtes DELETE

DeleteImage

Permet d'envoyer un template d'automate à compiler.

      

import {DeleteImage} from "@adclz/fevermainlib/services/rest";
 
const ImageName = "MyImage"
InjectedMediator.Request(new DeleteImage(ImageName)).then(data => data)
(parameter) data: Response