onfido-sdk-ui
Version:
JavaScript SDK view layer for Onfido identity verification
47 lines (41 loc) • 1.06 kB
text/typescript
import * as constants from '~types/redux/constants'
import { pick, omitBy } from '~utils/object'
import type {
CaptureActions,
DeleteCapturePayload,
DocumentCapture,
FaceCapture,
MetadataPayload,
} from '~types/redux'
export const createCapture = (
payload: DocumentCapture | FaceCapture
): CaptureActions => ({
type: constants.CAPTURE_CREATE,
payload,
})
export const deleteCapture = (
payload: DeleteCapturePayload
): CaptureActions => ({
type: constants.CAPTURE_DELETE,
payload,
})
export const setCaptureMetadata = ({
capture,
apiResponse,
}: {
capture: DocumentCapture | FaceCapture
apiResponse: Record<string, unknown>
}): CaptureActions => {
const payload: MetadataPayload = {
captureId: capture.id,
metadata: omitBy(
{
...pick(apiResponse, ['id', 'side', 'type', 'media_uuids']),
variant: capture.variant,
},
// omit any null/undefined metadata values
(_key: unknown, value: unknown) => !value
),
}
return { type: constants.SET_CAPTURE_METADATA, payload }
}