1
0
mirror of https://github.com/tooot-app/app synced 2025-06-05 22:19:13 +02:00
Files
tooot/src/startup/checkSecureStorageVersion.ts
Zhiyuan Zheng 4b99813bb7 Lots of updates
2021-01-07 19:13:09 +01:00

42 lines
1.2 KiB
TypeScript

import AsyncStorage from '@react-native-async-storage/async-storage'
import { persistor } from '@root/store'
import log from './log'
// Used to upgrade/invalidate secure storage
const dataKey = '@mastodon_app_database_version'
const currentVersion = '20210105'
const checkSecureStorageVersion = async (): Promise<any> => {
log(
'log',
'checkSecureStorageVersion',
'Start checking secure storage version'
)
try {
const value = await AsyncStorage.getItem(dataKey)
if (value !== currentVersion) {
log(
'warn',
'checkSecureStorageVersion',
`Version does not match. Prev: ${value}. Current: ${currentVersion}.`
)
persistor.purge()
try {
await AsyncStorage.setItem(dataKey, currentVersion)
} catch (e) {
log('error', 'checkSecureStorageVersion', 'Storing storage data error')
return Promise.reject()
}
} else {
log('log', 'checkSecureStorageVersion', 'Storing storage version matched')
}
return Promise.resolve()
} catch (e) {
log('error', 'checkSecureStorageVersion', 'Getting storage data error')
return Promise.reject()
}
}
export default checkSecureStorageVersion