@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
63 lines (53 loc) • 2.01 kB
text/typescript
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
import { Version } from './Version';
/**
* The object containing information about Nevis Mobile Authentication SDK for iOS.
*/
export abstract class IosMetaData {
/**
* The current version of Nevis Mobile Authentication SDK for iOS.
*/
abstract mobileAuthenticationVersion: Version;
/**
* The {@link https://docs.nevis.net/mobilesdk/guide/configuration#facet-id | facet ID} used by
* Nevis Mobile Authentication SDK for iOS.
*
* The facet ID of your application has to match the list of allowed facets stored provided by
* the facet service of the backend.
*/
abstract applicationFacetId: string;
/**
* Default constructor for {@link IosMetaData}.
*
* @param mobileAuthenticationVersion the current version of Nevis Mobile Authentication SDK for iOS.
* @param applicationFacetId the facet ID used by Nevis Mobile Authentication SDK for iOS.
* @returns an {@link IosMetaData} instance.
*/
static create(mobileAuthenticationVersion: Version, applicationFacetId: string): IosMetaData {
return new IOSMetaDataImpl(mobileAuthenticationVersion, applicationFacetId);
}
/**
* Alternate constructor that creates a {@link IosMetaData} from a json.
*
* @param json contains the source for instance creation.
* @returns a {@link IosMetaData} instance.
*/
static fromJson(json: any): IosMetaData {
return IOSMetaDataImpl.fromJson(json);
}
}
export class IOSMetaDataImpl extends IosMetaData {
mobileAuthenticationVersion: Version;
applicationFacetId: string;
constructor(mobileAuthenticationVersion: Version, applicationFacetId: string) {
super();
this.mobileAuthenticationVersion = mobileAuthenticationVersion;
this.applicationFacetId = applicationFacetId;
}
static fromJson(json: any): IOSMetaDataImpl {
const mobileAuthenticationVersion = Version.fromJson(json.mobileAuthenticationVersion);
return new IOSMetaDataImpl(mobileAuthenticationVersion, json.applicationFacetId);
}
}