@ekyc_qoobiss/qbs-ect-cmp 3.7.15 → 3.7.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{TranslationUtils-061ff075.js → TranslationUtils-cba6e847.js} +10 -10
- package/dist/cjs/TranslationUtils-cba6e847.js.map +1 -0
- package/dist/cjs/agreement-check_18.cjs.entry.js +2 -2
- package/dist/cjs/random-actions.cjs.entry.js +1 -1
- package/dist/collection/helpers/EctDb.js +5 -8
- package/dist/collection/helpers/EctDb.js.map +1 -1
- package/dist/collection/helpers/store.js +4 -1
- package/dist/collection/helpers/store.js.map +1 -1
- package/dist/esm/{TranslationUtils-a24dd18f.js → TranslationUtils-c07c0930.js} +10 -10
- package/dist/esm/TranslationUtils-c07c0930.js.map +1 -0
- package/dist/esm/agreement-check_18.entry.js +2 -2
- package/dist/esm/random-actions.entry.js +1 -1
- package/dist/qbs-ect-cmp/{p-3d20c3f4.entry.js → p-98a9c8e3.entry.js} +3 -3
- package/dist/qbs-ect-cmp/{p-2c0616e6.entry.js → p-a86736ce.entry.js} +2 -2
- package/dist/qbs-ect-cmp/p-e701b2cb.js +2 -0
- package/dist/qbs-ect-cmp/p-e701b2cb.js.map +1 -0
- package/dist/qbs-ect-cmp/qbs-ect-cmp.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/TranslationUtils-061ff075.js.map +0 -1
- package/dist/esm/TranslationUtils-a24dd18f.js.map +0 -1
- package/dist/qbs-ect-cmp/p-73c179ac.js +0 -2
- package/dist/qbs-ect-cmp/p-73c179ac.js.map +0 -1
- /package/dist/qbs-ect-cmp/{p-3d20c3f4.entry.js.map → p-98a9c8e3.entry.js.map} +0 -0
- /package/dist/qbs-ect-cmp/{p-2c0616e6.entry.js.map → p-a86736ce.entry.js.map} +0 -0
|
@@ -523,14 +523,11 @@ class EctDbProvider {
|
|
|
523
523
|
this.tableName = 'ectdata';
|
|
524
524
|
}
|
|
525
525
|
static async getInstance() {
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
const instance = new EctDbProvider();
|
|
532
|
-
await instance.init();
|
|
533
|
-
return instance;
|
|
526
|
+
if (!EctDbProvider.instance) {
|
|
527
|
+
EctDbProvider.instance = new EctDbProvider();
|
|
528
|
+
await EctDbProvider.instance.init();
|
|
529
|
+
}
|
|
530
|
+
return EctDbProvider.instance;
|
|
534
531
|
}
|
|
535
532
|
async init() {
|
|
536
533
|
this.db = await openDB(this.database, 1, {
|
|
@@ -622,10 +619,13 @@ onChange('environment', value => {
|
|
|
622
619
|
});
|
|
623
620
|
onChange('flowStatus', async (value) => {
|
|
624
621
|
state.flowStatus = value;
|
|
622
|
+
if (state.flowStatus == exports.FlowStatus.LANDING) {
|
|
623
|
+
return;
|
|
624
|
+
}
|
|
625
625
|
var ectDb = await EctDbProvider.getInstance();
|
|
626
626
|
var ectData = await ectDb.getEctData(state.requestId);
|
|
627
627
|
ectData.flowStatus = state.flowStatus;
|
|
628
|
-
if (
|
|
628
|
+
if ([exports.FlowStatus.ABORTED, exports.FlowStatus.ERROREND, exports.FlowStatus.COMPLETE].includes(state.flowStatus)) {
|
|
629
629
|
ectData.finished = true;
|
|
630
630
|
}
|
|
631
631
|
await ectDb.setEctData(ectData);
|
|
@@ -983,4 +983,4 @@ exports.SelfieCaptureValues = SelfieCaptureValues;
|
|
|
983
983
|
exports.Translations = Translations;
|
|
984
984
|
exports.state = state;
|
|
985
985
|
|
|
986
|
-
//# sourceMappingURL=TranslationUtils-
|
|
986
|
+
//# sourceMappingURL=TranslationUtils-cba6e847.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"TranslationUtils-cba6e847.js","mappings":"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","names":["OrderStatuses","getRenderingRef","forceUpdate","unwrap","FlowStatus","store","FlowSteps","FlowMoments"],"sources":["src/models/OrderStatuses.ts","node_modules/@stencil/store/dist/index.mjs","src/models/FlowStatus.ts","node_modules/idb/build/index.js","src/helpers/EctDb.ts","src/helpers/store.ts","src/helpers/textValues.ts","src/models/FlowSteps.ts","src/helpers/ApiCall.ts","src/helpers/TranslationUtils.ts"],"sourcesContent":["export enum OrderStatuses {\r\n Capturing,\r\n FinishedCapturing,\r\n Waiting,\r\n NotFound,\r\n Aborted,\r\n}\r\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","export enum FlowStatus {\r\n LANDING,\r\n MOBILE,\r\n AGREEMENT,\r\n PHONE,\r\n CODE,\r\n CODEERROR,\r\n IDFRONTHOWTO,\r\n IDFRONT,\r\n IDBACKHOWTO,\r\n IDBACK,\r\n IDTILTHOWTO,\r\n IDTILT,\r\n LIVENESSHOWTO,\r\n LIVENESS,\r\n LIVENESSGESTUREHOWTO,\r\n LIVENESSGESTURE,\r\n COMPLETE,\r\n ERROREND,\r\n CAMERAERROR,\r\n ABORTED,\r\n NONE,\r\n}\r\n\r\nexport interface FlowResult {\r\n state: string;\r\n}\r\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n","import { DBSchema, openDB } from 'idb';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\n\r\nexport interface EctData {\r\n orderId: string;\r\n redirectId: string;\r\n timestamp: Date;\r\n finished: boolean;\r\n initialized: boolean;\r\n phoneNumber: string;\r\n refreshStarted: boolean;\r\n flowStatus: FlowStatus;\r\n}\r\n\r\ninterface EctDb extends DBSchema {\r\n ectdata: {\r\n value: {\r\n orderId: string;\r\n timestamp: Date;\r\n initialized: boolean;\r\n finished: boolean;\r\n };\r\n key: string;\r\n };\r\n}\r\n\r\nexport class EctDbProvider {\r\n public static instance: EctDbProvider;\r\n public database: string = 'ectdb';\r\n public tableName: string = 'ectdata';\r\n private db: any;\r\n\r\n public static async getInstance(): Promise<EctDbProvider> {\r\n if (!EctDbProvider.instance) {\r\n EctDbProvider.instance = new EctDbProvider();\r\n await EctDbProvider.instance.init();\r\n }\r\n\r\n return EctDbProvider.instance;\r\n }\r\n\r\n public async init() {\r\n this.db = await openDB<EctDb>(this.database, 1, {\r\n upgrade(db) {\r\n if (!db.objectStoreNames.contains('ectdata')) {\r\n db.createObjectStore('ectdata', { keyPath: 'orderId' });\r\n }\r\n },\r\n });\r\n }\r\n\r\n public async setEctData(ectData: EctData) {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n return result;\r\n }\r\n\r\n public async getEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.get(orderId);\r\n tx.done;\r\n if (store.debug) console.log('EctData get: ' + JSON.stringify(result));\r\n return result;\r\n }\r\n\r\n public async getOrCreateEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n var ectData = await store.get(orderId);\r\n if (store.debug) console.log('EctData found: ' + JSON.stringify(ectData));\r\n if (!ectData) {\r\n ectData = {\r\n orderId: orderId,\r\n redirectId: '',\r\n timestamp: new Date(),\r\n initialized: false,\r\n finished: false,\r\n phoneNumber: '',\r\n refreshStarted: false,\r\n flowStatus: FlowStatus.NONE,\r\n };\r\n await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n }\r\n return ectData;\r\n }\r\n\r\n public async getAllEctData(): Promise<EctData[]> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n tx.done;\r\n return result;\r\n }\r\n\r\n public async getLastEctData(finished: boolean): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n const ectData = result.filter(e => e.finished == finished).sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());\r\n tx.done;\r\n\r\n if (ectData?.length > 0) {\r\n if (store.debug) console.log('EctData last found: ' + JSON.stringify(ectData[0]));\r\n return ectData[0];\r\n }\r\n return null;\r\n }\r\n}\r\n","import { createStore } from '@stencil/store';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\nimport { EctStore } from '../models/IEctStore';\r\nimport { EctDbProvider } from './EctDb';\r\n\r\nconst { state, onChange } = createStore<EctStore>({\r\n flowStatus: FlowStatus.NONE,\r\n initialized: false,\r\n environment: 'PROD',\r\n debug: false,\r\n requestId: '',\r\n redirectId: '',\r\n token: '',\r\n cameraIds: [],\r\n cameraId: '',\r\n phoneNumber: '',\r\n apiBaseUrl: 'https://apiro.id-kyc.com',\r\n device: null,\r\n langIso: 'ro',\r\n logSteps: false,\r\n modelsPath: '',\r\n});\r\n\r\nonChange('environment', value => {\r\n state.debug = value == 'QA';\r\n});\r\n\r\nonChange('flowStatus', async value => {\r\n state.flowStatus = value;\r\n if (state.flowStatus == FlowStatus.LANDING) {\r\n return;\r\n }\r\n var ectDb = await EctDbProvider.getInstance();\r\n var ectData = await ectDb.getEctData(state.requestId);\r\n ectData.flowStatus = state.flowStatus;\r\n if ([FlowStatus.ABORTED, FlowStatus.ERROREND, FlowStatus.COMPLETE].includes(state.flowStatus)) {\r\n ectData.finished = true;\r\n }\r\n await ectDb.setEctData(ectData);\r\n});\r\n\r\nexport default state;\r\n","import { FacePose } from '../libs/FaceML5Detector/FacePose';\r\nimport { IDPose } from '../libs/IDML5Detector/IDPose';\r\nimport store from './store';\r\n\r\nexport class IdCaptureValues {\r\n public static readonly IDPoseDemoMapping: { [key in IDPose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front_tilt.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_rotate.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back_tilt.mp4',\r\n };\r\n}\r\n\r\nexport class SelfieCaptureValues {\r\n public static readonly FacePoseDemoMapping: { [key in FacePose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_left.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_right.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_back.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_front.mp4',\r\n // 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_left.mp4',\r\n // 5: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_right.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_main.mp4',\r\n };\r\n}\r\n\r\nexport class ApiUrls {\r\n private readonly uriEnv: string = '/';\r\n public readonly OtpSend: string;\r\n public readonly OtpCheck: string;\r\n public readonly IdentityInsert: string;\r\n public readonly UploadCapture: string;\r\n public readonly GetAgreement: string;\r\n public readonly GenerateAgreement: string;\r\n public readonly SendLink: string;\r\n public readonly GetStatus: string;\r\n public readonly AddLog: string;\r\n public readonly AddStep: string;\r\n public readonly AbortRequest: string;\r\n public readonly Translations: string;\r\n public readonly StartFlow: string;\r\n public readonly NextFlowState: string;\r\n public readonly CurrentFlowState: string;\r\n public readonly NextStateForCaptureError: string;\r\n\r\n constructor() {\r\n this.uriEnv = ['QA', 'DEMO'].includes(store.environment) ? '/dev_' : '/';\r\n this.OtpSend = this.uriEnv + 'validation/otp/send';\r\n this.OtpCheck = this.uriEnv + 'validation/otp/check';\r\n this.IdentityInsert = this.uriEnv + 'validation/identity/insert';\r\n this.UploadCapture = this.uriEnv + 'validation/upload/capture';\r\n this.GetAgreement = this.uriEnv + 'validation/agreement/content';\r\n this.GenerateAgreement = this.uriEnv + 'validation/agreement/generate';\r\n this.SendLink = this.uriEnv + 'validation/otp/sendlink';\r\n this.GetStatus = this.uriEnv + 'validation/identity/status';\r\n this.AddLog = this.uriEnv + 'validation/logs/add';\r\n this.AddStep = this.uriEnv + 'validation/logs/step';\r\n this.AbortRequest = this.uriEnv + 'validation/identity/abort';\r\n this.Translations = this.uriEnv + 'validation/translations/get';\r\n this.StartFlow = this.uriEnv + 'validation/flowstate/startflow';\r\n this.NextFlowState = this.uriEnv + 'validation/flowstate/nextstate';\r\n this.CurrentFlowState = this.uriEnv + 'validation/flowstate/currentstate';\r\n this.NextStateForCaptureError = this.uriEnv + 'validation/flowstate/nextstateforcaptureerror';\r\n }\r\n}\r\n","export enum FlowSteps {\r\n ComponentLoaded = <any>'component-loaded',\r\n MobileRedirect = <any>'mobile-redirect',\r\n Landing = <any>'landing',\r\n Agreements = <any>'agreements',\r\n OtpSend = <any>'otp-send',\r\n OtpCheck = <any>'otp-check',\r\n CiFront = <any>'ci-front',\r\n CiFrontHowTo = <any>'ci-front-how-to',\r\n CiFrontCapture = <any>'ci-front-capture',\r\n CiBack = <any>'ci-back',\r\n CiBackHowTo = <any>'ci-back-how-to',\r\n CiBackCapture = <any>'ci-back-capture',\r\n CiTilt = <any>'ci-tilt',\r\n CiError = <any>'ci-error',\r\n SelfieHowTo = <any>'selfie-how-to',\r\n SelfieTilt = <any>'selfie-tilt',\r\n SelfieCapture = <any>'selfie-capture',\r\n Selfie = <any>'selfie',\r\n SelfieError = <any>'selfie-error',\r\n End = <any>'end',\r\n CameraError = <any>'camera-error',\r\n Default = <any>'default',\r\n}\r\n\r\nexport enum FlowMoments {\r\n Initialized = <any>'initialized',\r\n Finalized = <any>'finalized',\r\n None = <any>'none',\r\n}\r\n","import { AddRequest } from '../models/IAddRequest';\r\nimport { Agreement } from '../models/IAgreement';\r\nimport { Generation } from '../models/IGeneration';\r\nimport { LinkSend } from '../models/ILinkSend';\r\nimport { OrderStatus } from '../models/IOrderStatus';\r\nimport { OtpCheck } from '../models/IOtpCheck';\r\nimport { OtpSend } from '../models/IOtpSend';\r\nimport { UploadFile } from '../models/IUploadFile';\r\nimport { OrderStatuses } from '../models/OrderStatuses';\r\nimport { LogResult } from '../models/ILogResult';\r\nimport store from './store';\r\nimport { ApiUrls } from './textValues';\r\nimport { FlowResult, FlowStatus } from '../models/FlowStatus';\r\nimport { AbortResult } from '../models/IAbortResult';\r\nimport { FlowMoments, FlowSteps } from '../models/FlowSteps';\r\nimport { DeviceState } from '../models/IDevice';\r\nimport { TranslationValues } from '../models/ITranslationValues';\r\nexport class ApiCall {\r\n public static instance: ApiCall;\r\n public static getInstance(): ApiCall {\r\n if (!ApiCall.instance) {\r\n ApiCall.instance = new ApiCall();\r\n }\r\n\r\n return ApiCall.instance;\r\n }\r\n\r\n private urls: ApiUrls;\r\n private serviceErrors = ['Service Unavailable', 'Unauthorized'];\r\n constructor() {\r\n this.urls = new ApiUrls();\r\n }\r\n\r\n // private async http2<T>(method: string, url: string, data: string): Promise<T> {\r\n // return new Promise((resolve, reject) => {\r\n // var xhr = new XMLHttpRequest();\r\n // xhr.open(method, url);\r\n // xhr.onload = function () {\r\n // if (xhr.status >= 200 && xhr.status < 300) {\r\n // resolve(xhr.response);\r\n // } else {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // }\r\n // };\r\n // xhr.onerror = function () {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // };\r\n // xhr.send(data);\r\n // });\r\n // }\r\n\r\n private async http<T>(request: RequestInfo): Promise<T> {\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n throw new Error(response.statusText);\r\n }\r\n\r\n try {\r\n // may error if there is no body\r\n return await response.json();\r\n } catch (ex) {\r\n throw new Error('No json found in response ' + ex);\r\n }\r\n }\r\n\r\n private async post<T>(url: string, data: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in post ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in post ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n private async get<T>(url: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in get ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in get ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n public async SendOTPCode(requestId: string, phoneNumber: string): Promise<OtpSend> {\r\n let data = { requestId: requestId, phone: phoneNumber };\r\n let jsonResp = await this.post<OtpSend>(this.urls.OtpSend, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async CheckOTPCode(requestId: string, otpCode: string): Promise<OtpCheck> {\r\n let data = { requestId: requestId, otp: otpCode };\r\n let jsonResp = await this.post<OtpCheck>(this.urls.OtpCheck, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async AddIdentificationRequest(deviceInfo: DeviceState, version: string): Promise<boolean | Error> {\r\n if (store.debug) console.log('Calling identity request with store:' + JSON.stringify(store));\r\n let data = {\r\n requestId: store.requestId,\r\n clientDeviceInfo: JSON.stringify(deviceInfo),\r\n redirectId: store.redirectId,\r\n phoneNumber: store.phoneNumber,\r\n version: version,\r\n demoMode: store.environment == 'DEMO',\r\n };\r\n let jsonResp = await this.post<AddRequest>(this.urls.IdentityInsert, JSON.stringify(data));\r\n if (store.requestId == '') {\r\n store.requestId = jsonResp.requestId;\r\n }\r\n store.phoneNumber = jsonResp.phoneNumber;\r\n store.flowStatus = FlowStatus[jsonResp.state];\r\n store.logSteps = jsonResp.logSteps;\r\n store.debug = jsonResp.debug;\r\n store.modelsPath = jsonResp.modelsPath;\r\n store.initialized = true;\r\n return true;\r\n }\r\n\r\n public async UploadFileForRequestB64(requestId: string, type: string, b64Data: string): Promise<UploadFile> {\r\n let data = {\r\n requestId: requestId,\r\n type: type,\r\n data: b64Data,\r\n };\r\n let respJson = await this.post<UploadFile>(this.urls.UploadCapture, JSON.stringify(data));\r\n if (store.debug) console.log(`apicall | uploadfileforrequestb64 | ${respJson}`);\r\n return respJson;\r\n }\r\n\r\n public async GetAgreement(agreementType: string): Promise<string> {\r\n let resp = await this.get<Agreement>(this.urls.GetAgreement + '?type=' + agreementType + '&requestId=' + store.requestId);\r\n return resp.htmlText;\r\n }\r\n\r\n public async GenerateAgreement(agreementType: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, documentType: agreementType };\r\n let resp = await this.post<Generation>(this.urls.GenerateAgreement, JSON.stringify(data));\r\n return resp.generation;\r\n }\r\n\r\n public async GetStatus(requestId: string): Promise<OrderStatuses> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatus + '?orderId=' + requestId);\r\n return OrderStatuses[resp.status];\r\n }\r\n\r\n public async SendLink(link: string, phoneNumber: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, link: link, phoneNumber: phoneNumber };\r\n let resp = await this.post<LinkSend>(this.urls.SendLink, JSON.stringify(data));\r\n return resp.sent;\r\n }\r\n\r\n public async AddLog(error: any, context: any): Promise<boolean> {\r\n try {\r\n let data = {\r\n requestId: store.requestId,\r\n action: FlowStatus[store.flowStatus],\r\n message: JSON.stringify({ error, context }),\r\n };\r\n let result = await this.post<LogResult>(this.urls.AddLog, JSON.stringify(data), false);\r\n return result.saved;\r\n } catch {}\r\n }\r\n\r\n public async AddStep(step: FlowSteps, moment: FlowMoments): Promise<boolean> {\r\n if (store.logSteps == false) return;\r\n let data = { requestId: store.requestId, redirectId: store.redirectId, step: FlowSteps[step], moment: FlowMoments[moment], timestamp: new Date().toISOString() };\r\n let result = await this.post<LogResult>(this.urls.AddStep, JSON.stringify(data));\r\n return result.saved;\r\n }\r\n\r\n public async AbortRequest(): Promise<AbortResult> {\r\n let result = await this.post<AbortResult>(this.urls.AbortRequest, JSON.stringify({ requestId: store.requestId }));\r\n return result;\r\n }\r\n\r\n public async GetTranslations(langIso: string): Promise<TranslationValues> {\r\n let result = await this.get<TranslationValues>(this.urls.Translations + '?langIso=' + langIso);\r\n return result;\r\n }\r\n\r\n public async LandingValidationStartFlow(cameraIsAccessible: boolean): Promise<FlowStatus> {\r\n let result = await this.post<FlowResult>(this.urls.StartFlow, JSON.stringify({ requestId: store.requestId, cameraIsAccessible: cameraIsAccessible }));\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextFlowState + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.CurrentFlowState + '?requestId=' + store.requestId, false);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextStateForCaptureError(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextStateForCaptureError + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n}\r\n","import { TranslationValues } from '../models/ITranslationValues';\r\nimport { ApiCall } from './ApiCall';\r\nimport store from './store';\r\n\r\nclass TranslationsController {\r\n private values: TranslationValues;\r\n\r\n async getValues(): Promise<TranslationValues> {\r\n if (this.values) {\r\n return this.values;\r\n } else {\r\n this.values = await this.fetchTranslations();\r\n return this.values;\r\n }\r\n }\r\n\r\n getLocale(element: HTMLElement = document.body) {\r\n if (store.langIso && store.langIso != '') {\r\n return store.langIso;\r\n } else {\r\n const closestElement = element.closest('[lang]') as HTMLElement;\r\n return closestElement ? closestElement.lang : 'ro';\r\n }\r\n }\r\n\r\n async fetchTranslations(): Promise<TranslationValues> {\r\n const locale = this.getLocale();\r\n try {\r\n const result = new ApiCall().GetTranslations(locale);\r\n if (result) {\r\n return result;\r\n }\r\n } catch (exception) {\r\n console.error(`Error loading locale: ${locale}`, exception);\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport const Translations = new TranslationsController();\r\n"],"version":3}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-cb6a1c92.js');
|
|
6
|
-
const TranslationUtils = require('./TranslationUtils-
|
|
6
|
+
const TranslationUtils = require('./TranslationUtils-cba6e847.js');
|
|
7
7
|
|
|
8
8
|
const agreementCheckCss = "";
|
|
9
9
|
|
|
@@ -5248,7 +5248,7 @@ function v4(options, buf, offset) {
|
|
|
5248
5248
|
}
|
|
5249
5249
|
|
|
5250
5250
|
const name = "@ekyc_qoobiss/qbs-ect-cmp";
|
|
5251
|
-
const version$1 = "3.7.
|
|
5251
|
+
const version$1 = "3.7.16";
|
|
5252
5252
|
const description = "Person Identification Component";
|
|
5253
5253
|
const main = "./dist/index.cjs.js";
|
|
5254
5254
|
const module$1 = "./dist/index.js";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-cb6a1c92.js');
|
|
6
|
-
const TranslationUtils = require('./TranslationUtils-
|
|
6
|
+
const TranslationUtils = require('./TranslationUtils-cba6e847.js');
|
|
7
7
|
|
|
8
8
|
const randomActionsCss = "";
|
|
9
9
|
|
|
@@ -6,14 +6,11 @@ export class EctDbProvider {
|
|
|
6
6
|
this.tableName = 'ectdata';
|
|
7
7
|
}
|
|
8
8
|
static async getInstance() {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const instance = new EctDbProvider();
|
|
15
|
-
await instance.init();
|
|
16
|
-
return instance;
|
|
9
|
+
if (!EctDbProvider.instance) {
|
|
10
|
+
EctDbProvider.instance = new EctDbProvider();
|
|
11
|
+
await EctDbProvider.instance.init();
|
|
12
|
+
}
|
|
13
|
+
return EctDbProvider.instance;
|
|
17
14
|
}
|
|
18
15
|
async init() {
|
|
19
16
|
this.db = await openDB(this.database, 1, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EctDb.js","sourceRoot":"","sources":["../../../src/helpers/EctDb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,MAAM,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAyBlD,MAAM,OAAO,aAAa;EAA1B;IAES,aAAQ,GAAW,OAAO,CAAC;IAC3B,cAAS,GAAW,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"EctDb.js","sourceRoot":"","sources":["../../../src/helpers/EctDb.ts"],"names":[],"mappings":"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","sourcesContent":["import { DBSchema, openDB } from 'idb';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\n\r\nexport interface EctData {\r\n orderId: string;\r\n redirectId: string;\r\n timestamp: Date;\r\n finished: boolean;\r\n initialized: boolean;\r\n phoneNumber: string;\r\n refreshStarted: boolean;\r\n flowStatus: FlowStatus;\r\n}\r\n\r\ninterface EctDb extends DBSchema {\r\n ectdata: {\r\n value: {\r\n orderId: string;\r\n timestamp: Date;\r\n initialized: boolean;\r\n finished: boolean;\r\n };\r\n key: string;\r\n };\r\n}\r\n\r\nexport class EctDbProvider {\r\n public static instance: EctDbProvider;\r\n public database: string = 'ectdb';\r\n public tableName: string = 'ectdata';\r\n private db: any;\r\n\r\n public static async getInstance(): Promise<EctDbProvider> {\r\n if (!EctDbProvider.instance) {\r\n EctDbProvider.instance = new EctDbProvider();\r\n await EctDbProvider.instance.init();\r\n }\r\n\r\n return EctDbProvider.instance;\r\n }\r\n\r\n public async init() {\r\n this.db = await openDB<EctDb>(this.database, 1, {\r\n upgrade(db) {\r\n if (!db.objectStoreNames.contains('ectdata')) {\r\n db.createObjectStore('ectdata', { keyPath: 'orderId' });\r\n }\r\n },\r\n });\r\n }\r\n\r\n public async setEctData(ectData: EctData) {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n return result;\r\n }\r\n\r\n public async getEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.get(orderId);\r\n tx.done;\r\n if (store.debug) console.log('EctData get: ' + JSON.stringify(result));\r\n return result;\r\n }\r\n\r\n public async getOrCreateEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n var ectData = await store.get(orderId);\r\n if (store.debug) console.log('EctData found: ' + JSON.stringify(ectData));\r\n if (!ectData) {\r\n ectData = {\r\n orderId: orderId,\r\n redirectId: '',\r\n timestamp: new Date(),\r\n initialized: false,\r\n finished: false,\r\n phoneNumber: '',\r\n refreshStarted: false,\r\n flowStatus: FlowStatus.NONE,\r\n };\r\n await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n }\r\n return ectData;\r\n }\r\n\r\n public async getAllEctData(): Promise<EctData[]> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n tx.done;\r\n return result;\r\n }\r\n\r\n public async getLastEctData(finished: boolean): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n const ectData = result.filter(e => e.finished == finished).sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());\r\n tx.done;\r\n\r\n if (ectData?.length > 0) {\r\n if (store.debug) console.log('EctData last found: ' + JSON.stringify(ectData[0]));\r\n return ectData[0];\r\n }\r\n return null;\r\n }\r\n}\r\n"]}
|
|
@@ -23,10 +23,13 @@ onChange('environment', value => {
|
|
|
23
23
|
});
|
|
24
24
|
onChange('flowStatus', async (value) => {
|
|
25
25
|
state.flowStatus = value;
|
|
26
|
+
if (state.flowStatus == FlowStatus.LANDING) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
26
29
|
var ectDb = await EctDbProvider.getInstance();
|
|
27
30
|
var ectData = await ectDb.getEctData(state.requestId);
|
|
28
31
|
ectData.flowStatus = state.flowStatus;
|
|
29
|
-
if (
|
|
32
|
+
if ([FlowStatus.ABORTED, FlowStatus.ERROREND, FlowStatus.COMPLETE].includes(state.flowStatus)) {
|
|
30
33
|
ectData.finished = true;
|
|
31
34
|
}
|
|
32
35
|
await ectDb.setEctData(ectData);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/helpers/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAW;EAChD,UAAU,EAAE,UAAU,CAAC,IAAI;EAC3B,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,EAAE;EACb,UAAU,EAAE,EAAE;EACd,KAAK,EAAE,EAAE;EACT,SAAS,EAAE,EAAE;EACb,QAAQ,EAAE,EAAE;EACZ,WAAW,EAAE,EAAE;EACf,UAAU,EAAE,0BAA0B;EACtC,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;EAC9B,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;EACnC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;EACzB,IAAI,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;EAC9C,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACtD,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;EACtC,IAAI,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/helpers/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAW;EAChD,UAAU,EAAE,UAAU,CAAC,IAAI;EAC3B,WAAW,EAAE,KAAK;EAClB,WAAW,EAAE,MAAM;EACnB,KAAK,EAAE,KAAK;EACZ,SAAS,EAAE,EAAE;EACb,UAAU,EAAE,EAAE;EACd,KAAK,EAAE,EAAE;EACT,SAAS,EAAE,EAAE;EACb,QAAQ,EAAE,EAAE;EACZ,WAAW,EAAE,EAAE;EACf,UAAU,EAAE,0BAA0B;EACtC,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,UAAU,EAAE,EAAE;CACf,CAAC,CAAC;AAEH,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE;EAC9B,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,IAAI,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;EACnC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;EACzB,IAAI,KAAK,CAAC,UAAU,IAAI,UAAU,CAAC,OAAO,EAAE;IAC1C,OAAO;GACR;EACD,IAAI,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;EAC9C,IAAI,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EACtD,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;EACtC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;IAC7F,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;GACzB;EACD,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,eAAe,KAAK,CAAC","sourcesContent":["import { createStore } from '@stencil/store';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\nimport { EctStore } from '../models/IEctStore';\r\nimport { EctDbProvider } from './EctDb';\r\n\r\nconst { state, onChange } = createStore<EctStore>({\r\n flowStatus: FlowStatus.NONE,\r\n initialized: false,\r\n environment: 'PROD',\r\n debug: false,\r\n requestId: '',\r\n redirectId: '',\r\n token: '',\r\n cameraIds: [],\r\n cameraId: '',\r\n phoneNumber: '',\r\n apiBaseUrl: 'https://apiro.id-kyc.com',\r\n device: null,\r\n langIso: 'ro',\r\n logSteps: false,\r\n modelsPath: '',\r\n});\r\n\r\nonChange('environment', value => {\r\n state.debug = value == 'QA';\r\n});\r\n\r\nonChange('flowStatus', async value => {\r\n state.flowStatus = value;\r\n if (state.flowStatus == FlowStatus.LANDING) {\r\n return;\r\n }\r\n var ectDb = await EctDbProvider.getInstance();\r\n var ectData = await ectDb.getEctData(state.requestId);\r\n ectData.flowStatus = state.flowStatus;\r\n if ([FlowStatus.ABORTED, FlowStatus.ERROREND, FlowStatus.COMPLETE].includes(state.flowStatus)) {\r\n ectData.finished = true;\r\n }\r\n await ectDb.setEctData(ectData);\r\n});\r\n\r\nexport default state;\r\n"]}
|
|
@@ -521,14 +521,11 @@ class EctDbProvider {
|
|
|
521
521
|
this.tableName = 'ectdata';
|
|
522
522
|
}
|
|
523
523
|
static async getInstance() {
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
const instance = new EctDbProvider();
|
|
530
|
-
await instance.init();
|
|
531
|
-
return instance;
|
|
524
|
+
if (!EctDbProvider.instance) {
|
|
525
|
+
EctDbProvider.instance = new EctDbProvider();
|
|
526
|
+
await EctDbProvider.instance.init();
|
|
527
|
+
}
|
|
528
|
+
return EctDbProvider.instance;
|
|
532
529
|
}
|
|
533
530
|
async init() {
|
|
534
531
|
this.db = await openDB(this.database, 1, {
|
|
@@ -620,10 +617,13 @@ onChange('environment', value => {
|
|
|
620
617
|
});
|
|
621
618
|
onChange('flowStatus', async (value) => {
|
|
622
619
|
state.flowStatus = value;
|
|
620
|
+
if (state.flowStatus == FlowStatus.LANDING) {
|
|
621
|
+
return;
|
|
622
|
+
}
|
|
623
623
|
var ectDb = await EctDbProvider.getInstance();
|
|
624
624
|
var ectData = await ectDb.getEctData(state.requestId);
|
|
625
625
|
ectData.flowStatus = state.flowStatus;
|
|
626
|
-
if (
|
|
626
|
+
if ([FlowStatus.ABORTED, FlowStatus.ERROREND, FlowStatus.COMPLETE].includes(state.flowStatus)) {
|
|
627
627
|
ectData.finished = true;
|
|
628
628
|
}
|
|
629
629
|
await ectDb.setEctData(ectData);
|
|
@@ -976,4 +976,4 @@ const Translations = new TranslationsController();
|
|
|
976
976
|
|
|
977
977
|
export { ApiCall as A, EctDbProvider as E, FlowMoments as F, IdCaptureValues as I, OrderStatuses as O, SelfieCaptureValues as S, Translations as T, FlowSteps as a, FlowStatus as b, state as s };
|
|
978
978
|
|
|
979
|
-
//# sourceMappingURL=TranslationUtils-
|
|
979
|
+
//# sourceMappingURL=TranslationUtils-c07c0930.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"TranslationUtils-c07c0930.js","mappings":"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","names":["unwrap","store"],"sources":["src/models/OrderStatuses.ts","node_modules/@stencil/store/dist/index.mjs","src/models/FlowStatus.ts","node_modules/idb/build/index.js","src/helpers/EctDb.ts","src/helpers/store.ts","src/helpers/textValues.ts","src/models/FlowSteps.ts","src/helpers/ApiCall.ts","src/helpers/TranslationUtils.ts"],"sourcesContent":["export enum OrderStatuses {\r\n Capturing,\r\n FinishedCapturing,\r\n Waiting,\r\n NotFound,\r\n Aborted,\r\n}\r\n","import { getRenderingRef, forceUpdate } from '@stencil/core';\n\nconst appendToMap = (map, propName, value) => {\n const items = map.get(propName);\n if (!items) {\n map.set(propName, [value]);\n }\n else if (!items.includes(value)) {\n items.push(value);\n }\n};\nconst debounce = (fn, ms) => {\n let timeoutId;\n return (...args) => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n timeoutId = 0;\n fn(...args);\n }, ms);\n };\n};\n\n/**\n * Check if a possible element isConnected.\n * The property might not be there, so we check for it.\n *\n * We want it to return true if isConnected is not a property,\n * otherwise we would remove these elements and would not update.\n *\n * Better leak in Edge than to be useless.\n */\nconst isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;\nconst cleanupElements = debounce((map) => {\n for (let key of map.keys()) {\n map.set(key, map.get(key).filter(isConnected));\n }\n}, 2000);\nconst stencilSubscription = () => {\n if (typeof getRenderingRef !== 'function') {\n // If we are not in a stencil project, we do nothing.\n // This function is not really exported by @stencil/core.\n return {};\n }\n const elmsToUpdate = new Map();\n return {\n dispose: () => elmsToUpdate.clear(),\n get: (propName) => {\n const elm = getRenderingRef();\n if (elm) {\n appendToMap(elmsToUpdate, propName, elm);\n }\n },\n set: (propName) => {\n const elements = elmsToUpdate.get(propName);\n if (elements) {\n elmsToUpdate.set(propName, elements.filter(forceUpdate));\n }\n cleanupElements(elmsToUpdate);\n },\n reset: () => {\n elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));\n cleanupElements(elmsToUpdate);\n },\n };\n};\n\nconst unwrap = (val) => (typeof val === 'function' ? val() : val);\nconst createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {\n const unwrappedState = unwrap(defaultState);\n let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));\n const handlers = {\n dispose: [],\n get: [],\n set: [],\n reset: [],\n };\n const reset = () => {\n var _a;\n // When resetting the state, the default state may be a function - unwrap it to invoke it.\n // otherwise, the state won't be properly reset\n states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));\n handlers.reset.forEach((cb) => cb());\n };\n const dispose = () => {\n // Call first dispose as resetting the state would\n // cause less updates ;)\n handlers.dispose.forEach((cb) => cb());\n reset();\n };\n const get = (propName) => {\n handlers.get.forEach((cb) => cb(propName));\n return states.get(propName);\n };\n const set = (propName, value) => {\n const oldValue = states.get(propName);\n if (shouldUpdate(value, oldValue, propName)) {\n states.set(propName, value);\n handlers.set.forEach((cb) => cb(propName, value, oldValue));\n }\n };\n const state = (typeof Proxy === 'undefined'\n ? {}\n : new Proxy(unwrappedState, {\n get(_, propName) {\n return get(propName);\n },\n ownKeys(_) {\n return Array.from(states.keys());\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true,\n };\n },\n has(_, propName) {\n return states.has(propName);\n },\n set(_, propName, value) {\n set(propName, value);\n return true;\n },\n }));\n const on = (eventName, callback) => {\n handlers[eventName].push(callback);\n return () => {\n removeFromArray(handlers[eventName], callback);\n };\n };\n const onChange = (propName, cb) => {\n const unSet = on('set', (key, newValue) => {\n if (key === propName) {\n cb(newValue);\n }\n });\n // We need to unwrap the defaultState because it might be a function.\n // Otherwise we might not be sending the right reset value.\n const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));\n return () => {\n unSet();\n unReset();\n };\n };\n const use = (...subscriptions) => {\n const unsubs = subscriptions.reduce((unsubs, subscription) => {\n if (subscription.set) {\n unsubs.push(on('set', subscription.set));\n }\n if (subscription.get) {\n unsubs.push(on('get', subscription.get));\n }\n if (subscription.reset) {\n unsubs.push(on('reset', subscription.reset));\n }\n if (subscription.dispose) {\n unsubs.push(on('dispose', subscription.dispose));\n }\n return unsubs;\n }, []);\n return () => unsubs.forEach((unsub) => unsub());\n };\n const forceUpdate = (key) => {\n const oldValue = states.get(key);\n handlers.set.forEach((cb) => cb(key, oldValue, oldValue));\n };\n return {\n state,\n get,\n set,\n on,\n onChange,\n use,\n dispose,\n reset,\n forceUpdate,\n };\n};\nconst removeFromArray = (array, item) => {\n const index = array.indexOf(item);\n if (index >= 0) {\n array[index] = array[array.length - 1];\n array.length--;\n }\n};\n\nconst createStore = (defaultState, shouldUpdate) => {\n const map = createObservableMap(defaultState, shouldUpdate);\n map.use(stencilSubscription());\n return map;\n};\n\nexport { createObservableMap, createStore };\n","export enum FlowStatus {\r\n LANDING,\r\n MOBILE,\r\n AGREEMENT,\r\n PHONE,\r\n CODE,\r\n CODEERROR,\r\n IDFRONTHOWTO,\r\n IDFRONT,\r\n IDBACKHOWTO,\r\n IDBACK,\r\n IDTILTHOWTO,\r\n IDTILT,\r\n LIVENESSHOWTO,\r\n LIVENESS,\r\n LIVENESSGESTUREHOWTO,\r\n LIVENESSGESTURE,\r\n COMPLETE,\r\n ERROREND,\r\n CAMERAERROR,\r\n ABORTED,\r\n NONE,\r\n}\r\n\r\nexport interface FlowResult {\r\n state: string;\r\n}\r\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst transactionDoneMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(this.request);\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nconst advanceMethodProps = ['continue', 'continuePrimaryKey', 'advance'];\nconst methodMap = {};\nconst advanceResults = new WeakMap();\nconst ittrProxiedCursorToOriginalProxy = new WeakMap();\nconst cursorIteratorTraps = {\n get(target, prop) {\n if (!advanceMethodProps.includes(prop))\n return target[prop];\n let cachedFunc = methodMap[prop];\n if (!cachedFunc) {\n cachedFunc = methodMap[prop] = function (...args) {\n advanceResults.set(this, ittrProxiedCursorToOriginalProxy.get(this)[prop](...args));\n };\n }\n return cachedFunc;\n },\n};\nasync function* iterate(...args) {\n // tslint:disable-next-line:no-this-assignment\n let cursor = this;\n if (!(cursor instanceof IDBCursor)) {\n cursor = await cursor.openCursor(...args);\n }\n if (!cursor)\n return;\n cursor = cursor;\n const proxiedCursor = new Proxy(cursor, cursorIteratorTraps);\n ittrProxiedCursorToOriginalProxy.set(proxiedCursor, cursor);\n // Map this double-proxy back to the original, so other cursor methods work.\n reverseTransformCache.set(proxiedCursor, unwrap(cursor));\n while (cursor) {\n yield proxiedCursor;\n // If one of the advancing methods was not called, call continue().\n cursor = await (advanceResults.get(proxiedCursor) || cursor.continue());\n advanceResults.delete(proxiedCursor);\n }\n}\nfunction isIteratorProp(target, prop) {\n return ((prop === Symbol.asyncIterator &&\n instanceOfAny(target, [IDBIndex, IDBObjectStore, IDBCursor])) ||\n (prop === 'iterate' && instanceOfAny(target, [IDBIndex, IDBObjectStore])));\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get(target, prop, receiver) {\n if (isIteratorProp(target, prop))\n return iterate;\n return oldTraps.get(target, prop, receiver);\n },\n has(target, prop) {\n return isIteratorProp(target, prop) || oldTraps.has(target, prop);\n },\n}));\n\nexport { deleteDB, openDB, unwrap, wrap };\n","import { DBSchema, openDB } from 'idb';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\n\r\nexport interface EctData {\r\n orderId: string;\r\n redirectId: string;\r\n timestamp: Date;\r\n finished: boolean;\r\n initialized: boolean;\r\n phoneNumber: string;\r\n refreshStarted: boolean;\r\n flowStatus: FlowStatus;\r\n}\r\n\r\ninterface EctDb extends DBSchema {\r\n ectdata: {\r\n value: {\r\n orderId: string;\r\n timestamp: Date;\r\n initialized: boolean;\r\n finished: boolean;\r\n };\r\n key: string;\r\n };\r\n}\r\n\r\nexport class EctDbProvider {\r\n public static instance: EctDbProvider;\r\n public database: string = 'ectdb';\r\n public tableName: string = 'ectdata';\r\n private db: any;\r\n\r\n public static async getInstance(): Promise<EctDbProvider> {\r\n if (!EctDbProvider.instance) {\r\n EctDbProvider.instance = new EctDbProvider();\r\n await EctDbProvider.instance.init();\r\n }\r\n\r\n return EctDbProvider.instance;\r\n }\r\n\r\n public async init() {\r\n this.db = await openDB<EctDb>(this.database, 1, {\r\n upgrade(db) {\r\n if (!db.objectStoreNames.contains('ectdata')) {\r\n db.createObjectStore('ectdata', { keyPath: 'orderId' });\r\n }\r\n },\r\n });\r\n }\r\n\r\n public async setEctData(ectData: EctData) {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n return result;\r\n }\r\n\r\n public async getEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.get(orderId);\r\n tx.done;\r\n if (store.debug) console.log('EctData get: ' + JSON.stringify(result));\r\n return result;\r\n }\r\n\r\n public async getOrCreateEctData(orderId: string): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readwrite');\r\n const store = tx.objectStore(this.tableName);\r\n var ectData = await store.get(orderId);\r\n if (store.debug) console.log('EctData found: ' + JSON.stringify(ectData));\r\n if (!ectData) {\r\n ectData = {\r\n orderId: orderId,\r\n redirectId: '',\r\n timestamp: new Date(),\r\n initialized: false,\r\n finished: false,\r\n phoneNumber: '',\r\n refreshStarted: false,\r\n flowStatus: FlowStatus.NONE,\r\n };\r\n await store.put(ectData);\r\n tx.done;\r\n if (store.debug) console.log('EctData set: ' + JSON.stringify(ectData));\r\n }\r\n return ectData;\r\n }\r\n\r\n public async getAllEctData(): Promise<EctData[]> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n tx.done;\r\n return result;\r\n }\r\n\r\n public async getLastEctData(finished: boolean): Promise<EctData> {\r\n const tx = this.db.transaction(this.tableName, 'readonly');\r\n const store = tx.objectStore(this.tableName);\r\n const result = await store.getAll();\r\n const ectData = result.filter(e => e.finished == finished).sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());\r\n tx.done;\r\n\r\n if (ectData?.length > 0) {\r\n if (store.debug) console.log('EctData last found: ' + JSON.stringify(ectData[0]));\r\n return ectData[0];\r\n }\r\n return null;\r\n }\r\n}\r\n","import { createStore } from '@stencil/store';\r\nimport { FlowStatus } from '../models/FlowStatus';\r\nimport { EctStore } from '../models/IEctStore';\r\nimport { EctDbProvider } from './EctDb';\r\n\r\nconst { state, onChange } = createStore<EctStore>({\r\n flowStatus: FlowStatus.NONE,\r\n initialized: false,\r\n environment: 'PROD',\r\n debug: false,\r\n requestId: '',\r\n redirectId: '',\r\n token: '',\r\n cameraIds: [],\r\n cameraId: '',\r\n phoneNumber: '',\r\n apiBaseUrl: 'https://apiro.id-kyc.com',\r\n device: null,\r\n langIso: 'ro',\r\n logSteps: false,\r\n modelsPath: '',\r\n});\r\n\r\nonChange('environment', value => {\r\n state.debug = value == 'QA';\r\n});\r\n\r\nonChange('flowStatus', async value => {\r\n state.flowStatus = value;\r\n if (state.flowStatus == FlowStatus.LANDING) {\r\n return;\r\n }\r\n var ectDb = await EctDbProvider.getInstance();\r\n var ectData = await ectDb.getEctData(state.requestId);\r\n ectData.flowStatus = state.flowStatus;\r\n if ([FlowStatus.ABORTED, FlowStatus.ERROREND, FlowStatus.COMPLETE].includes(state.flowStatus)) {\r\n ectData.finished = true;\r\n }\r\n await ectDb.setEctData(ectData);\r\n});\r\n\r\nexport default state;\r\n","import { FacePose } from '../libs/FaceML5Detector/FacePose';\r\nimport { IDPose } from '../libs/IDML5Detector/IDPose';\r\nimport store from './store';\r\n\r\nexport class IdCaptureValues {\r\n public static readonly IDPoseDemoMapping: { [key in IDPose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_front_tilt.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_rotate.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/id/id_back_tilt.mp4',\r\n };\r\n}\r\n\r\nexport class SelfieCaptureValues {\r\n public static readonly FacePoseDemoMapping: { [key in FacePose]: string } = {\r\n 0: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_left.mp4',\r\n 1: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_rotate_right.mp4',\r\n 2: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_back.mp4',\r\n 3: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_front.mp4',\r\n // 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_left.mp4',\r\n // 5: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_tilt_right.mp4',\r\n 4: 'https://ekyc.blob.core.windows.net/$web/animations/selfie/selfie_main.mp4',\r\n };\r\n}\r\n\r\nexport class ApiUrls {\r\n private readonly uriEnv: string = '/';\r\n public readonly OtpSend: string;\r\n public readonly OtpCheck: string;\r\n public readonly IdentityInsert: string;\r\n public readonly UploadCapture: string;\r\n public readonly GetAgreement: string;\r\n public readonly GenerateAgreement: string;\r\n public readonly SendLink: string;\r\n public readonly GetStatus: string;\r\n public readonly AddLog: string;\r\n public readonly AddStep: string;\r\n public readonly AbortRequest: string;\r\n public readonly Translations: string;\r\n public readonly StartFlow: string;\r\n public readonly NextFlowState: string;\r\n public readonly CurrentFlowState: string;\r\n public readonly NextStateForCaptureError: string;\r\n\r\n constructor() {\r\n this.uriEnv = ['QA', 'DEMO'].includes(store.environment) ? '/dev_' : '/';\r\n this.OtpSend = this.uriEnv + 'validation/otp/send';\r\n this.OtpCheck = this.uriEnv + 'validation/otp/check';\r\n this.IdentityInsert = this.uriEnv + 'validation/identity/insert';\r\n this.UploadCapture = this.uriEnv + 'validation/upload/capture';\r\n this.GetAgreement = this.uriEnv + 'validation/agreement/content';\r\n this.GenerateAgreement = this.uriEnv + 'validation/agreement/generate';\r\n this.SendLink = this.uriEnv + 'validation/otp/sendlink';\r\n this.GetStatus = this.uriEnv + 'validation/identity/status';\r\n this.AddLog = this.uriEnv + 'validation/logs/add';\r\n this.AddStep = this.uriEnv + 'validation/logs/step';\r\n this.AbortRequest = this.uriEnv + 'validation/identity/abort';\r\n this.Translations = this.uriEnv + 'validation/translations/get';\r\n this.StartFlow = this.uriEnv + 'validation/flowstate/startflow';\r\n this.NextFlowState = this.uriEnv + 'validation/flowstate/nextstate';\r\n this.CurrentFlowState = this.uriEnv + 'validation/flowstate/currentstate';\r\n this.NextStateForCaptureError = this.uriEnv + 'validation/flowstate/nextstateforcaptureerror';\r\n }\r\n}\r\n","export enum FlowSteps {\r\n ComponentLoaded = <any>'component-loaded',\r\n MobileRedirect = <any>'mobile-redirect',\r\n Landing = <any>'landing',\r\n Agreements = <any>'agreements',\r\n OtpSend = <any>'otp-send',\r\n OtpCheck = <any>'otp-check',\r\n CiFront = <any>'ci-front',\r\n CiFrontHowTo = <any>'ci-front-how-to',\r\n CiFrontCapture = <any>'ci-front-capture',\r\n CiBack = <any>'ci-back',\r\n CiBackHowTo = <any>'ci-back-how-to',\r\n CiBackCapture = <any>'ci-back-capture',\r\n CiTilt = <any>'ci-tilt',\r\n CiError = <any>'ci-error',\r\n SelfieHowTo = <any>'selfie-how-to',\r\n SelfieTilt = <any>'selfie-tilt',\r\n SelfieCapture = <any>'selfie-capture',\r\n Selfie = <any>'selfie',\r\n SelfieError = <any>'selfie-error',\r\n End = <any>'end',\r\n CameraError = <any>'camera-error',\r\n Default = <any>'default',\r\n}\r\n\r\nexport enum FlowMoments {\r\n Initialized = <any>'initialized',\r\n Finalized = <any>'finalized',\r\n None = <any>'none',\r\n}\r\n","import { AddRequest } from '../models/IAddRequest';\r\nimport { Agreement } from '../models/IAgreement';\r\nimport { Generation } from '../models/IGeneration';\r\nimport { LinkSend } from '../models/ILinkSend';\r\nimport { OrderStatus } from '../models/IOrderStatus';\r\nimport { OtpCheck } from '../models/IOtpCheck';\r\nimport { OtpSend } from '../models/IOtpSend';\r\nimport { UploadFile } from '../models/IUploadFile';\r\nimport { OrderStatuses } from '../models/OrderStatuses';\r\nimport { LogResult } from '../models/ILogResult';\r\nimport store from './store';\r\nimport { ApiUrls } from './textValues';\r\nimport { FlowResult, FlowStatus } from '../models/FlowStatus';\r\nimport { AbortResult } from '../models/IAbortResult';\r\nimport { FlowMoments, FlowSteps } from '../models/FlowSteps';\r\nimport { DeviceState } from '../models/IDevice';\r\nimport { TranslationValues } from '../models/ITranslationValues';\r\nexport class ApiCall {\r\n public static instance: ApiCall;\r\n public static getInstance(): ApiCall {\r\n if (!ApiCall.instance) {\r\n ApiCall.instance = new ApiCall();\r\n }\r\n\r\n return ApiCall.instance;\r\n }\r\n\r\n private urls: ApiUrls;\r\n private serviceErrors = ['Service Unavailable', 'Unauthorized'];\r\n constructor() {\r\n this.urls = new ApiUrls();\r\n }\r\n\r\n // private async http2<T>(method: string, url: string, data: string): Promise<T> {\r\n // return new Promise((resolve, reject) => {\r\n // var xhr = new XMLHttpRequest();\r\n // xhr.open(method, url);\r\n // xhr.onload = function () {\r\n // if (xhr.status >= 200 && xhr.status < 300) {\r\n // resolve(xhr.response);\r\n // } else {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // }\r\n // };\r\n // xhr.onerror = function () {\r\n // reject({\r\n // status: xhr.status,\r\n // statusText: xhr.statusText,\r\n // });\r\n // };\r\n // xhr.send(data);\r\n // });\r\n // }\r\n\r\n private async http<T>(request: RequestInfo): Promise<T> {\r\n const response = await fetch(request);\r\n\r\n if (!response.ok) {\r\n throw new Error(response.statusText);\r\n }\r\n\r\n try {\r\n // may error if there is no body\r\n return await response.json();\r\n } catch (ex) {\r\n throw new Error('No json found in response ' + ex);\r\n }\r\n }\r\n\r\n private async post<T>(url: string, data: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in post ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in post ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'POST',\r\n body: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n private async get<T>(url: string, withRetry: boolean = true) {\r\n var request = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n try {\r\n return await this.http<T>(request);\r\n } catch (ex) {\r\n if (!withRetry || this.serviceErrors.includes(ex.message)) {\r\n throw ex;\r\n }\r\n this.AddLog('Error in get ', ex);\r\n try {\r\n var request2 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request2);\r\n } catch (ex2) {\r\n this.AddLog('Error in get ', ex2);\r\n var request3 = new Request(store.apiBaseUrl + url, {\r\n method: 'GET',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Authorization': 'IDKYC-TOKEN ' + store.token,\r\n },\r\n });\r\n return await this.http<T>(request3);\r\n }\r\n }\r\n }\r\n\r\n public async SendOTPCode(requestId: string, phoneNumber: string): Promise<OtpSend> {\r\n let data = { requestId: requestId, phone: phoneNumber };\r\n let jsonResp = await this.post<OtpSend>(this.urls.OtpSend, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async CheckOTPCode(requestId: string, otpCode: string): Promise<OtpCheck> {\r\n let data = { requestId: requestId, otp: otpCode };\r\n let jsonResp = await this.post<OtpCheck>(this.urls.OtpCheck, JSON.stringify(data));\r\n return jsonResp;\r\n }\r\n\r\n public async AddIdentificationRequest(deviceInfo: DeviceState, version: string): Promise<boolean | Error> {\r\n if (store.debug) console.log('Calling identity request with store:' + JSON.stringify(store));\r\n let data = {\r\n requestId: store.requestId,\r\n clientDeviceInfo: JSON.stringify(deviceInfo),\r\n redirectId: store.redirectId,\r\n phoneNumber: store.phoneNumber,\r\n version: version,\r\n demoMode: store.environment == 'DEMO',\r\n };\r\n let jsonResp = await this.post<AddRequest>(this.urls.IdentityInsert, JSON.stringify(data));\r\n if (store.requestId == '') {\r\n store.requestId = jsonResp.requestId;\r\n }\r\n store.phoneNumber = jsonResp.phoneNumber;\r\n store.flowStatus = FlowStatus[jsonResp.state];\r\n store.logSteps = jsonResp.logSteps;\r\n store.debug = jsonResp.debug;\r\n store.modelsPath = jsonResp.modelsPath;\r\n store.initialized = true;\r\n return true;\r\n }\r\n\r\n public async UploadFileForRequestB64(requestId: string, type: string, b64Data: string): Promise<UploadFile> {\r\n let data = {\r\n requestId: requestId,\r\n type: type,\r\n data: b64Data,\r\n };\r\n let respJson = await this.post<UploadFile>(this.urls.UploadCapture, JSON.stringify(data));\r\n if (store.debug) console.log(`apicall | uploadfileforrequestb64 | ${respJson}`);\r\n return respJson;\r\n }\r\n\r\n public async GetAgreement(agreementType: string): Promise<string> {\r\n let resp = await this.get<Agreement>(this.urls.GetAgreement + '?type=' + agreementType + '&requestId=' + store.requestId);\r\n return resp.htmlText;\r\n }\r\n\r\n public async GenerateAgreement(agreementType: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, documentType: agreementType };\r\n let resp = await this.post<Generation>(this.urls.GenerateAgreement, JSON.stringify(data));\r\n return resp.generation;\r\n }\r\n\r\n public async GetStatus(requestId: string): Promise<OrderStatuses> {\r\n let resp = await this.get<OrderStatus>(this.urls.GetStatus + '?orderId=' + requestId);\r\n return OrderStatuses[resp.status];\r\n }\r\n\r\n public async SendLink(link: string, phoneNumber: string): Promise<boolean> {\r\n let data = { requestId: store.requestId, link: link, phoneNumber: phoneNumber };\r\n let resp = await this.post<LinkSend>(this.urls.SendLink, JSON.stringify(data));\r\n return resp.sent;\r\n }\r\n\r\n public async AddLog(error: any, context: any): Promise<boolean> {\r\n try {\r\n let data = {\r\n requestId: store.requestId,\r\n action: FlowStatus[store.flowStatus],\r\n message: JSON.stringify({ error, context }),\r\n };\r\n let result = await this.post<LogResult>(this.urls.AddLog, JSON.stringify(data), false);\r\n return result.saved;\r\n } catch {}\r\n }\r\n\r\n public async AddStep(step: FlowSteps, moment: FlowMoments): Promise<boolean> {\r\n if (store.logSteps == false) return;\r\n let data = { requestId: store.requestId, redirectId: store.redirectId, step: FlowSteps[step], moment: FlowMoments[moment], timestamp: new Date().toISOString() };\r\n let result = await this.post<LogResult>(this.urls.AddStep, JSON.stringify(data));\r\n return result.saved;\r\n }\r\n\r\n public async AbortRequest(): Promise<AbortResult> {\r\n let result = await this.post<AbortResult>(this.urls.AbortRequest, JSON.stringify({ requestId: store.requestId }));\r\n return result;\r\n }\r\n\r\n public async GetTranslations(langIso: string): Promise<TranslationValues> {\r\n let result = await this.get<TranslationValues>(this.urls.Translations + '?langIso=' + langIso);\r\n return result;\r\n }\r\n\r\n public async LandingValidationStartFlow(cameraIsAccessible: boolean): Promise<FlowStatus> {\r\n let result = await this.post<FlowResult>(this.urls.StartFlow, JSON.stringify({ requestId: store.requestId, cameraIsAccessible: cameraIsAccessible }));\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextFlowState + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetFlowState(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.CurrentFlowState + '?requestId=' + store.requestId, false);\r\n return FlowStatus[result.state];\r\n }\r\n\r\n public async GetNextStateForCaptureError(): Promise<FlowStatus> {\r\n let result = await this.get<FlowResult>(this.urls.NextStateForCaptureError + '?requestId=' + store.requestId);\r\n return FlowStatus[result.state];\r\n }\r\n}\r\n","import { TranslationValues } from '../models/ITranslationValues';\r\nimport { ApiCall } from './ApiCall';\r\nimport store from './store';\r\n\r\nclass TranslationsController {\r\n private values: TranslationValues;\r\n\r\n async getValues(): Promise<TranslationValues> {\r\n if (this.values) {\r\n return this.values;\r\n } else {\r\n this.values = await this.fetchTranslations();\r\n return this.values;\r\n }\r\n }\r\n\r\n getLocale(element: HTMLElement = document.body) {\r\n if (store.langIso && store.langIso != '') {\r\n return store.langIso;\r\n } else {\r\n const closestElement = element.closest('[lang]') as HTMLElement;\r\n return closestElement ? closestElement.lang : 'ro';\r\n }\r\n }\r\n\r\n async fetchTranslations(): Promise<TranslationValues> {\r\n const locale = this.getLocale();\r\n try {\r\n const result = new ApiCall().GetTranslations(locale);\r\n if (result) {\r\n return result;\r\n }\r\n } catch (exception) {\r\n console.error(`Error loading locale: ${locale}`, exception);\r\n return null;\r\n }\r\n }\r\n}\r\n\r\nexport const Translations = new TranslationsController();\r\n"],"version":3}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, g as getElement } from './index-fdf219a7.js';
|
|
2
|
-
import { A as ApiCall, T as Translations, F as FlowMoments, a as FlowSteps, s as state, E as EctDbProvider, b as FlowStatus, I as IdCaptureValues, O as OrderStatuses, S as SelfieCaptureValues } from './TranslationUtils-
|
|
2
|
+
import { A as ApiCall, T as Translations, F as FlowMoments, a as FlowSteps, s as state, E as EctDbProvider, b as FlowStatus, I as IdCaptureValues, O as OrderStatuses, S as SelfieCaptureValues } from './TranslationUtils-c07c0930.js';
|
|
3
3
|
|
|
4
4
|
const agreementCheckCss = "";
|
|
5
5
|
|
|
@@ -5244,7 +5244,7 @@ function v4(options, buf, offset) {
|
|
|
5244
5244
|
}
|
|
5245
5245
|
|
|
5246
5246
|
const name = "@ekyc_qoobiss/qbs-ect-cmp";
|
|
5247
|
-
const version$1 = "3.7.
|
|
5247
|
+
const version$1 = "3.7.16";
|
|
5248
5248
|
const description = "Person Identification Component";
|
|
5249
5249
|
const main = "./dist/index.cjs.js";
|
|
5250
5250
|
const module = "./dist/index.js";
|