UNPKG

757 BPlain TextView Raw
1import { AuthenticationStrategy, AuthenticationBase } from './core';
2import { Application, Service } from '@feathersjs/feathers';
3
4export class AuthenticationBaseStrategy implements AuthenticationStrategy {
5 authentication?: AuthenticationBase;
6 app?: Application;
7 name?: string;
8
9 setAuthentication (auth: AuthenticationBase) {
10 this.authentication = auth;
11 }
12
13 setApplication (app: Application) {
14 this.app = app;
15 }
16
17 setName (name: string) {
18 this.name = name;
19 }
20
21 get configuration () {
22 return this.authentication.configuration[this.name];
23 }
24
25 get entityService (): Service<any> {
26 const { service } = this.configuration;
27
28 if (!service) {
29 return null;
30 }
31
32 return this.app.service(service) || null;
33 }
34}