2022-04-03 19:16:17 -05:00
|
|
|
import { Capacitor } from '@capacitor/core';
|
2022-04-04 19:08:27 -05:00
|
|
|
import { AbsDatabase } from './capacitor/AbsDatabase'
|
2022-03-06 12:53:18 -06:00
|
|
|
|
2022-04-03 14:24:17 -05:00
|
|
|
const isWeb = Capacitor.getPlatform() == 'web'
|
2022-03-06 12:53:18 -06:00
|
|
|
|
|
|
|
class DbService {
|
|
|
|
constructor() { }
|
|
|
|
|
|
|
|
save(db, key, value) {
|
2022-04-03 14:24:17 -05:00
|
|
|
if (isWeb) return
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.saveFromWebview({ db, key, value }).then(() => {
|
2022-03-06 12:53:18 -06:00
|
|
|
console.log('Saved data', db, key, JSON.stringify(value))
|
|
|
|
}).catch((error) => {
|
|
|
|
console.error('Failed to save data', error)
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
load(db, key) {
|
2022-04-03 14:24:17 -05:00
|
|
|
if (isWeb) return null
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.loadFromWebview({ db, key }).then((data) => {
|
2022-03-06 12:53:18 -06:00
|
|
|
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
|
|
|
|
2022-04-03 14:24:17 -05:00
|
|
|
getDeviceData() {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.getDeviceData().then((data) => {
|
2022-04-03 14:24:17 -05:00
|
|
|
console.log('Loaded device data', JSON.stringify(data))
|
|
|
|
return data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
setServerConnectionConfig(serverConnectionConfig) {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.setCurrentServerConnectionConfig(serverConnectionConfig).then((data) => {
|
2022-04-03 14:24:17 -05:00
|
|
|
console.log('Set server connection config', JSON.stringify(data))
|
|
|
|
return data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
removeServerConnectionConfig(serverConnectionConfigId) {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.removeServerConnectionConfig({ serverConnectionConfigId }).then((data) => {
|
2022-04-03 14:24:17 -05:00
|
|
|
console.log('Removed server connection config', serverConnectionConfigId)
|
|
|
|
return true
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
|
|
|
logout() {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.logout()
|
2022-04-03 14:24:17 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
getLocalFolders() {
|
2022-04-09 12:03:37 -05:00
|
|
|
return AbsDatabase.getLocalFolders().then((data) => data.value).catch((error) => {
|
2022-03-31 20:23:38 -05:00
|
|
|
console.error('Failed to load', error)
|
|
|
|
return null
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2022-04-01 18:33:40 -05:00
|
|
|
getLocalFolder(folderId) {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.getLocalFolder({ folderId }).then((data) => {
|
2022-04-01 18:33:40 -05:00
|
|
|
console.log('Got local folder', JSON.stringify(data))
|
|
|
|
return data
|
|
|
|
})
|
|
|
|
}
|
|
|
|
|
2022-04-05 19:44:14 -05:00
|
|
|
getLocalLibraryItemsInFolder(folderId) {
|
2022-04-09 12:03:37 -05:00
|
|
|
return AbsDatabase.getLocalLibraryItemsInFolder({ folderId }).then((data) => data.value)
|
2022-03-31 20:23:38 -05:00
|
|
|
}
|
2022-04-03 17:07:26 -05:00
|
|
|
|
2022-04-07 18:46:58 -05:00
|
|
|
getLocalLibraryItems(mediaType = null) {
|
2022-04-09 12:03:37 -05:00
|
|
|
return AbsDatabase.getLocalLibraryItems({ mediaType }).then((data) => data.value)
|
2022-04-03 17:07:26 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
getLocalLibraryItem(id) {
|
2022-04-04 19:08:27 -05:00
|
|
|
return AbsDatabase.getLocalLibraryItem({ id })
|
2022-04-03 17:07:26 -05:00
|
|
|
}
|
2022-04-07 18:46:58 -05:00
|
|
|
|
|
|
|
getLocalLibraryItemByLLId(libraryItemId) {
|
|
|
|
return AbsDatabase.getLocalLibraryItemByLLId({ libraryItemId })
|
|
|
|
}
|
2022-04-09 12:03:37 -05:00
|
|
|
|
|
|
|
getAllLocalMediaProgress() {
|
|
|
|
return AbsDatabase.getAllLocalMediaProgress().then((data) => data.value)
|
|
|
|
}
|
|
|
|
|
|
|
|
removeLocalMediaProgress(localMediaProgressId) {
|
|
|
|
return AbsDatabase.removeLocalMediaProgress({ localMediaProgressId })
|
|
|
|
}
|
2022-03-06 12:53:18 -06:00
|
|
|
}
|
|
|
|
|
|
|
|
export default ({ app, store }, inject) => {
|
|
|
|
inject('db', new DbService())
|
|
|
|
}
|