Skip to content

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.

License

Notifications You must be signed in to change notification settings

PROFFIX-NET/restapi-angular-library

Repository files navigation

PROFFIX REST API Library für Angular

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.

Erste Schritte

Ein lauffähiges Angular-Projekt muss vorhanden sein. Über die Angular CLI lässt sich das einfach erstellen.

1. Library im Projekt installieren

Die Library ist über npm verfügbar: npm install @proffix/restapi-angular-library --save

2. Konfiguration und Bootstrapping

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 }
],
// ...

3. Verbindungseinstellungen hinterlegen

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.

4. Login durchführen

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")
    );
}

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published