import { IAuthOptions } from './IAuthOptions';
import { IAuthResolver } from './IAuthResolver';
import { OnpremiseFbaCredentials } from './resolvers/OnpremiseFbaCredentials';
import { OnpremiseUserCredentials } from './resolvers/OnpremiseUserCredentials';
import { OnlineUserCredentials } from './resolvers/OnlineUserCredentials';
import { OnlineAddinOnly } from './resolvers/OnlineAddinOnly';
import { OnpremiseAddinOnly } from './resolvers/OnpremiseAddinOnly';
import { AdfsCredentials } from './resolvers/AdfsCredentials';
import { OnDemand } from './resolvers/OnDemand/OnDemand';
import * as authOptions from './IAuthOptions';
export class AuthResolverFactory {
public static resolve(siteUrl: string, options: IAuthOptions): IAuthResolver {
Iif (authOptions.isFbaCredentialsOnpremise(siteUrl, options)) {
return new OnpremiseFbaCredentials(siteUrl, options);
}
Iif (authOptions.isUserCredentialsOnpremise(siteUrl, options)) {
return new OnpremiseUserCredentials(siteUrl, options);
}
Iif (authOptions.isUserCredentialsOnline(siteUrl, options)) {
return new OnlineUserCredentials(siteUrl, options);
}
Iif (authOptions.isAddinOnlyOnline(options)) {
return new OnlineAddinOnly(siteUrl, options);
}
Iif (authOptions.isAddinOnlyOnpremise(options)) {
return new OnpremiseAddinOnly(siteUrl, options);
}
Iif (authOptions.isAdfsCredentials(options)) {
return new AdfsCredentials(siteUrl, options);
}
Eif (authOptions.isOndemandCredentials(options)) {
return new OnDemand(siteUrl, options);
}
throw new Error('Error while resolving authentication class');
}
}
|