Files
inji-wallet/machines/VerifiableCredential/VCMetaMachine/VCMetaSelectors.ts
KiruthikaJeyashankar 003cc156c2 [INJIMOB-1192] onboarding of new issuer is affecting the existing issuers (#1476)
* [INJIMOB-1192] : use wellknown response instead of mimoto issuer config.
-- Remove hardcoding for sunbird issuer in vc activation and verification flow.
-- Render idType from wellknown response
-- Remove UIN/VID from default add-on fields

Signed-off-by: Swati Goel <meet2swati@gmail.com>

* [INJIMOB-1192] : fix propType and some refactoring

Signed-off-by: Swati Goel <meet2swati@gmail.com>

* [INJIMOB-1192] : add credentialType in VcMetadata

Signed-off-by: Swati Goel <meet2swati@gmail.com>

* [INJIMOB-1192] fix vc download via issuer flow due to credentialType mismatch

Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] rename supported list of credential type in issuers model

Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] display id type in history based on wellknown for issuers VC

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] fix id type not shown for VC activation

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] remove unused credentialType field from VCMetaData

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] set default idType for logging activity

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] move vc item machine events into model

Events should not be exported to other packages for direct use so that Xstate's createModel() can decorate the function appropriately

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] show verify banner id type from wellknown

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] refactor duplication and unused code

Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] remove unused displayId in metadata

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] revert the dimensions of camera scanner to old values to support face liveness verification

Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1192] remove unused code & debug logs

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

* [INJIMOB-1192] fix failing test cases

Co-authored-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>

* [INJIMOB-1192] remove unused translations

Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>

---------

Signed-off-by: Swati Goel <meet2swati@gmail.com>
Signed-off-by: KiruthikaJeyashankar <81218987+KiruthikaJeyashankar@users.noreply.github.com>
Signed-off-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
Co-authored-by: Swati Goel <meet2swati@gmail.com>
Co-authored-by: PuBHARGAVI <46226958+PuBHARGAVI@users.noreply.github.com>
2024-06-04 16:37:54 +05:30

83 lines
2.2 KiB
TypeScript

import {StateFrom} from 'xstate';
import {VCMetadata} from '../../../shared/VCMetadata';
import {vcMetaMachine} from './VCMetaMachine';
type State = StateFrom<typeof vcMetaMachine>;
export function selectVerificationStatus(state: State) {
return state.context.verificationStatus;
}
export function selectMyVcsMetadata(state: State): VCMetadata[] {
return state.context.myVcsMetadata;
}
export function selectShareableVcsMetadata(state: State): VCMetadata[] {
return state.context.myVcsMetadata.filter(
vcMetadata =>
state.context.myVcs[vcMetadata.getVcKey()]?.verifiableCredential != null,
);
}
export function selectReceivedVcsMetadata(state: State): VCMetadata[] {
return state.context.receivedVcsMetadata;
}
export function selectIsRefreshingMyVcs(state: State) {
return state.matches('ready.myVcs');
}
export function selectIsRefreshingReceivedVcs(state: State) {
return state.matches('ready.receivedVcs');
}
export function selectAreAllVcsDownloaded(state: State) {
return state.context.areAllVcsDownloaded;
}
/*
this methods returns all the binded vc's in the wallet.
*/
export function selectBindedVcsMetadata(state: State): VCMetadata[] {
return state.context.myVcsMetadata.filter(vcMetadata => {
const walletBindingResponse =
state.context.myVcs[vcMetadata.getVcKey()]?.walletBindingResponse;
return (
!isEmpty(walletBindingResponse) &&
!isEmpty(walletBindingResponse?.walletBindingId)
);
});
}
export function selectInProgressVcDownloads(state: State) {
return state.context.inProgressVcDownloads;
}
function isEmpty(object) {
return object == null || object == '' || object == undefined;
}
export function selectWalletBindingSuccess(state: State) {
return state.context.walletBindingSuccess;
}
export function selectIsTampered(state: State) {
return state.matches('ready.tamperedVCs');
}
export function selectDownloadingFailedVcs(state: State) {
return state.context.downloadingFailedVcs;
}
export function selectMyVcs(state: State) {
return state.context.myVcs;
}
export function selectVerificationErrorMessage(state: State) {
return state.context.verificationErrorMessage;
}
export function selectIsDownloadingFailed(state: State) {
return state.context.DownloadingCredentialsFailed;
}