JSPM

  • Created
  • Published
  • Downloads 408
  • Score
    100M100P100Q153088F
  • License MIT

OpenAPI client for Veeroute Account

Package Exports

  • @veeroute/lss-account-angular

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@veeroute/lss-account-angular) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@veeroute/lss-account-angular@3.10.176173

General usage

In your Angular project:

// without configuring providers
import { LssAccountApiModule } from '@veeroute/lss-account-angular';
import { HttpClientModule } from '@angular/common/http';

@NgModule({
    imports: [
        LssAccountApiModule,
        // make sure to import the HttpClientModule in the AppModule only,
        // see https://github.com/angular/angular/issues/20575
        HttpClientModule
    ],
    declarations: [ AppComponent ],
    providers: [],
    bootstrap: [ AppComponent ]
})
export class AppModule {}
// configuring providers
import { LssAccountApiModule, Configuration, ConfigurationParameters } from '@veeroute/lss-account-angular';

export function apiConfigFactory (): Configuration {
  const params: ConfigurationParameters = {
    // set configuration parameters here.
  }
  return new Configuration(params);
}

@NgModule({
    imports: [ LssAccountApiModule.forRoot(apiConfigFactory) ],
    declarations: [ AppComponent ],
    providers: [],
    bootstrap: [ AppComponent ]
})
export class AppModule {}
// configuring providers with an authentication service that manages your access tokens
import { LssAccountApiModule, Configuration } from '@veeroute/lss-account-angular';

@NgModule({
    imports: [ LssAccountApiModule ],
    declarations: [ AppComponent ],
    providers: [
      {
        provide: Configuration,
        useFactory: (authService: AuthService) => new Configuration(
          {
            basePath: environment.apiUrl,
            accessToken: authService.getAccessToken.bind(authService)
          }
        ),
        deps: [AuthService],
        multi: false
      }
    ],
    bootstrap: [ AppComponent ]
})
export class AppModule {}
import { DefaultApi } from '@veeroute/lss-account-angular';

export class AppComponent {
    constructor(private apiGateway: DefaultApi) { }
}

Note: The LssAccountApiModule is restricted to being instantiated once app wide. This is to ensure that all services are treated as singletons.

Using multiple OpenAPI files / APIs / LssAccountApiModules

In order to use multiple LssAccountApiModules generated from different OpenAPI files, you can create an alias name when importing the modules in order to avoid naming conflicts:

import { LssAccountApiModule } from 'my-api-path';
import { LssAccountApiModule as OtherApiModule } from 'my-other-api-path';
import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [
    LssAccountApiModule,
    OtherApiModule,
    // make sure to import the HttpClientModule in the AppModule only,
    // see https://github.com/angular/angular/issues/20575
    HttpClientModule
  ]
})
export class AppModule {

}

Set service base path

If different than the generated base path, during app bootstrap, you can provide the base path to your service.

import { BASE_PATH } from '@veeroute/lss-account-angular';

bootstrap(AppComponent, [
    { provide: BASE_PATH, useValue: 'https://your-web-service.com' },
]);

or

import { BASE_PATH } from '@veeroute/lss-account-angular';

@NgModule({
    imports: [],
    declarations: [ AppComponent ],
    providers: [ provide: BASE_PATH, useValue: 'https://your-web-service.com' ],
    bootstrap: [ AppComponent ]
})
export class AppModule {}

Using @angular/cli

First extend your src/environments/*.ts files by adding the corresponding base path:

export const environment = {
  production: false,
  API_BASE_PATH: 'http://127.0.0.1:8080'
};

In the src/app/app.module.ts:

import { BASE_PATH } from '@veeroute/lss-account-angular';
import { environment } from '../environments/environment';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [ ],
  providers: [{ provide: BASE_PATH, useValue: environment.API_BASE_PATH }],
  bootstrap: [ AppComponent ]
})
export class AppModule { }