Skip to content

Identity

The MVVM implementation of identity is built on top of what you find the core. To access identity in an MVVM solution with a view model, the IdentityProvider is hooked up to the container through its interface IIdentityProvider.

Note: This depends on the MVVM Context being used.

import { injectable } from 'tsyringe';
import { IIdentityProvider } from '@cratis/arc/identity';
type IdentityDetails = {
department: string,
age: number
};
@injectable()
export class MyViewModel {
constructor(private readonly _identityProvider: IIdentityProvider) {
}
async sayHello() {
const identity = await this._identityProvider.getCurrent<IdentityDetails>();
console.log(`Hello '${identity.name}' from ´${identity.details.department}`);
}
}

The code takes a dependency to the abstract class called IIdentityProvider representing the interface for the identity provider. With this the code simply calls the getCurrent() method to get the identity.