Die PROFFIX REST API Library für Angular ermöglicht die einfache Kommunikation mit der PROFFIX REST API in Angular- Anwendungen. Die Library ist unabhängig von der grafischen Oberfläche und kann mit Ionic oder anderen Frameworks verwendet werden.
Ein lauffähiges Angular-Projekt muss vorhanden sein. Über die Angular CLI lässt sich das einfach erstellen.
Die Library ist über npm verfügbar: npm install @proffix/restapi-angular-library --save
Es muss eine von Configuration
vererbte Klasse erstellt werden, in der die beiden abstrakten Methoden requiredWebserviceVersion
und
requiredLicencedModules
überschrieben werden müssen.
import { Injectable } from '@angular/core';
import { PxConfiguration, PxModule, PxVersion } from '@proffix/restapi-angular-library';
@Injectable()
export class AppConfiguration extends PxConfiguration {
public get requiredWebserviceVersion(): PxVersion {
return { Major: 2, Minor: 7, Patch: 1 };
}
public get requiredLicencedModules(): string[] {
return [ "ZEI", "ADR" ];
}
}
Die AppConfiguration
muss Injectable sein, da sie dem dem Dependency Injector als Configuration
für die Library mitgegeben werden muss.
Zusätzliche wird das PxRestApiModule
geladen und über PxRestApiModule.forRoot()
importiert.
// Root Module (src/app.module.ts)
import { PxRestApiModule, PxConfiguration } from '@proffix/restapi-angular-library';
// ...
imports: [ PxRestApiModule.forRoot() ],
providers: [
AppConfiguration,
{ provide: PxConfiguration, useExisting: AppConfiguration }
],
// ...
Die Verbindungseinstellungen (Klasse ConnectionSettings
) werden durch den ConnectionSettingsService
im LocalStorage abgelegt.
// Angular Component
import { PxConnectionSettings, PxConnectionSettingsService } from '@proffix/restapi-angular-library';
// ...
constructor(private connectionSettingsService: PxConnectionSettingsService) {
let connectionSettings: PxConnectionSettings = {
WebserviceUrl: "https://restapi.company.invalid",
WebservicePasswortHash: "d3612ab62..."
};
connectionSettingsService.save(connectionSettings);
}
Hinweis: Der SHA256 kann über die statische Methode Hash.sha256
erstellt werden, nachdem die Klasse Hash
importiert wurde.
Der Login kann durchgeführt werden, wenn gültige Verbindungseinstellungen hinterlegt wurden.
// Angular Component
import { PxLogin, PxLoginService, PxConfiguration } from '@proffix/restapi-angular-library';
// ...
constructor(private loginService: PxLoginService, private configuration: PxConfiguration) {
let login: PxLogin = {
Benutzer: "pxuser",
Passwort: "d3612ab62...",
Datenbank: { Name: "PXDB" },
Module: this.configuration.getRequiredLicencedModulesAsStringArray() // Die Module können aus der AppConfiguration gelesen werden
};
this.loginService.doLogin(login).subscribe( // nur zu Anschauungszwecken, nie HTTP-Requests in einem Konstruktor absetzen
login => console.log("Login successful: " + login.Benutzer),
error => console.log("Login failed")
);
}