2022-03-06 12:53:18 -06:00
|
|
|
import { registerPlugin } from '@capacitor/core';
|
|
|
|
|
|
|
|
const DbManager = registerPlugin('DbManager');
|
|
|
|
|
|
|
|
class DbService {
|
|
|
|
constructor() { }
|
|
|
|
|
|
|
|
save(db, key, value) {
|
|
|
|
return DbManager.saveFromWebview({ db, key, value }).then(() => {
|
|
|
|
console.log('Saved data', db, key, JSON.stringify(value))
|
|
|
|
}).catch((error) => {
|
|
|
|
console.error('Failed to save data', error)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
load(db, key) {
|
|
|
|
return DbManager.loadFromWebview({ db, key }).then((data) => {
|
|
|
|
console.log('Loaded data', db, key, JSON.stringify(data))
|
|
|
|
return data
|
|
|
|
}).catch((error) => {
|
|
|
|
console.error('Failed to load', error)
|
|
|
|
return null
|
|
|
|
})
|
|
|
|
}
|
2022-03-31 20:23:38 -05:00
|
|
|
|
|
|
|
loadFolders() {
|
2022-04-01 18:33:40 -05:00
|
|
|
return DbManager.getLocalFolders_WV().then((data) => {
|
2022-03-31 20:23:38 -05:00
|
|
|
console.log('Loaded local folders', JSON.stringify(data))
|
|
|
|
if (data.folders && typeof data.folders == 'string') {
|
|
|
|
return JSON.parse(data.folders)
|
|
|
|
}
|
|
|
|
return data.folders
|
|
|
|
}).catch((error) => {
|
|
|
|
console.error('Failed to load', error)
|
|
|
|
return null
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2022-04-01 18:33:40 -05:00
|
|
|
getLocalFolder(folderId) {
|
|
|
|
return DbManager.getLocalFolder_WV({ folderId }).then((data) => {
|
|
|
|
console.log('Got local folder', JSON.stringify(data))
|
|
|
|
return data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
getLocalMediaItemsInFolder(folderId) {
|
|
|
|
return DbManager.getLocalMediaItemsInFolder_WV({ folderId }).then((data) => {
|
2022-03-31 20:23:38 -05:00
|
|
|
console.log('Loaded local media items in folder', JSON.stringify(data))
|
|
|
|
if (data.localMediaItems && typeof data.localMediaItems == 'string') {
|
|
|
|
return JSON.parse(data.localMediaItems)
|
|
|
|
}
|
|
|
|
return data.localMediaItems
|
|
|
|
})
|
|
|
|
}
|
2022-03-06 12:53:18 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
export default ({ app, store }, inject) => {
|
|
|
|
inject('db', new DbService())
|
|
|
|
}
|