mirror of
https://github.com/mosip/inji-wallet.git
synced 2026-01-09 21:48:04 -05:00
* [INJIMOB-1911]: add logic for QR login via deeplink Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> * [INJIMOB-1911]: bump up tuvali version Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> * [INJIMOB-1911]: bump up kotlin patch version Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> * [INJIMOB-1911]: rename the singleton variable name Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> * [INJIMOB-1911]: extract common code in a function Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> * [INJIMOB-1911]: refactor some logic and remove redundant code Signed-off-by: Alka Prasad <prasadalka1998@gmail.com> --------- Signed-off-by: Alka Prasad <prasadalka1998@gmail.com>
86 lines
2.8 KiB
TypeScript
86 lines
2.8 KiB
TypeScript
import {CameraCapturedPicture} from 'expo-camera';
|
|
import {EmitterSubscription} from 'react-native';
|
|
import {ActorRefFrom} from 'xstate';
|
|
import {createModel} from 'xstate/lib/model';
|
|
import {DeviceInfo} from '../../../components/DeviceInfoList';
|
|
import {AppServices} from '../../../shared/GlobalContext';
|
|
import {VCShareFlowType} from '../../../shared/Utils';
|
|
import {qrLoginMachine} from '../../QrLogin/QrLoginMachine';
|
|
import {VC} from '../../VerifiableCredential/VCMetaMachine/vc';
|
|
import {ActivityLogType} from '../../activityLog';
|
|
import {BLEError} from '../types';
|
|
|
|
const ScanEvents = {
|
|
SELECT_VC: (vc: VC, flowType: string) => ({vc, flowType}),
|
|
SCAN: (params: string) => ({params}),
|
|
ACCEPT_REQUEST: () => ({}),
|
|
VERIFY_AND_ACCEPT_REQUEST: () => ({}),
|
|
VC_ACCEPTED: () => ({}),
|
|
VC_REJECTED: () => ({}),
|
|
VC_SENT: () => ({}),
|
|
CANCEL: () => ({}),
|
|
CLOSE_BANNER: () => ({}),
|
|
STAY_IN_PROGRESS: () => ({}),
|
|
RETRY: () => ({}),
|
|
DISMISS: () => ({}),
|
|
DISMISS_QUICK_SHARE_BANNER: () => ({}),
|
|
GOTO_HISTORY: () => ({}),
|
|
CONNECTED: () => ({}),
|
|
DISCONNECT: () => ({}),
|
|
BLE_ERROR: (bleError: BLEError) => ({bleError}),
|
|
CONNECTION_DESTROYED: () => ({}),
|
|
SCREEN_BLUR: () => ({}),
|
|
SCREEN_FOCUS: () => ({}),
|
|
BLUETOOTH_PERMISSION_ENABLED: () => ({}),
|
|
BLUETOOTH_PERMISSION_DENIED: () => ({}),
|
|
BLUETOOTH_STATE_ENABLED: () => ({}),
|
|
BLUETOOTH_STATE_DISABLED: () => ({}),
|
|
NEARBY_ENABLED: () => ({}),
|
|
NEARBY_DISABLED: () => ({}),
|
|
GOTO_SETTINGS: () => ({}),
|
|
START_PERMISSION_CHECK: () => ({}),
|
|
LOCATION_ENABLED: () => ({}),
|
|
LOCATION_DISABLED: () => ({}),
|
|
LOCATION_REQUEST: () => ({}),
|
|
CHECK_FLOW_TYPE: () => ({}),
|
|
UPDATE_VC_NAME: (vcName: string) => ({vcName}),
|
|
STORE_RESPONSE: (response: any) => ({response}),
|
|
APP_ACTIVE: () => ({}),
|
|
FACE_VALID: () => ({}),
|
|
FACE_INVALID: () => ({}),
|
|
RETRY_VERIFICATION: () => ({}),
|
|
RESET: () => ({}),
|
|
FACE_VERIFICATION_CONSENT: (isDoNotAskAgainChecked: boolean) => ({
|
|
isDoNotAskAgainChecked,
|
|
}),
|
|
ALLOWED: () => ({}),
|
|
DENIED: () => ({}),
|
|
QRLOGIN_VIA_DEEP_LINK: (linkCode: string) => ({linkCode}),
|
|
};
|
|
|
|
export const ScanModel = createModel(
|
|
{
|
|
serviceRefs: {} as AppServices,
|
|
senderInfo: {} as DeviceInfo,
|
|
receiverInfo: {} as DeviceInfo,
|
|
selectedVc: {} as VC,
|
|
bleError: {} as BLEError,
|
|
loggers: [] as EmitterSubscription[],
|
|
vcName: '',
|
|
flowType: VCShareFlowType.SIMPLE_SHARE,
|
|
verificationImage: {} as CameraCapturedPicture,
|
|
openId4VpUri: '',
|
|
shareLogType: '' as ActivityLogType,
|
|
QrLoginRef: {} as ActorRefFrom<typeof qrLoginMachine>,
|
|
showQuickShareSuccessBanner: false,
|
|
linkCode: '',
|
|
quickShareData: {},
|
|
showFaceAuthConsent: true as boolean,
|
|
readyForBluetoothStateCheck: false,
|
|
showFaceCaptureSuccessBanner: false,
|
|
},
|
|
{
|
|
events: ScanEvents,
|
|
},
|
|
);
|