123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- var PouchDB = require('pouchdb').default
- var db = new PouchDB('myuser')
- const get = function (id) {
- return db.get(id)
- }
- const save = function (data, id) {
- data.id = id
- return db.put(data)
- }
- const getWithDefault = function (id, _default) {
- return new Promise((resolve, reject) => {
- db.get(id)
- .then((data) => { resolve(data) })
- .catch((err) => {
- if (err.status === 404) {
- resolve(_default)
- }
- else {
- reject(err)
- }
- })
- })
- }
- // const get = function (id) {
- // return getWithDefault(id, {_id: id})
- // }
- const getLang = function () {
- return getWithDefault('lang', {_id: 'lang', lang: window.navigator.language.toUpperCase() })
- }
- const saveLang = function (lang) {
- return new Promise((resolve, reject) => {
- getLang()
- .then(data => {
- data.lang = lang
- db.put(data)
- .then(data => resolve(data))
- .catch(err => reject(err))
- })
- .catch(err => reject(err))
- })
- }
- const getToken = function () {
- return getWithDefault('token',{'_id': 'token', 'token': 'any'})
- }
- const saveToken = function (token) {
- return new Promise((resolve, reject) => {
- getWithDefault('token', {_id: 'token'})
- .then(data => {
- data.token = token
- db.put(data)
- .then(data => resolve(data))
- .catch(err => reject(err))
- })
- .catch(err => reject(err))
- })
- }
- // const save = function (id, data) { }
- const getDataInternal = function (id) {
- return getWithDefault(id, {'_id': id})
- }
- const saveData = function (id, data) {
- return new Promise((resolve, reject) => {
- getDataInternal(id)
- .catch(err => { reject(err) })
- .then((result) => {
- result.data = data
- save(result, id)
- .then(() => resolve(result))
- .catch(err => reject(err))
- })
- })
- }
- const getData = function (id) {
- return new Promise((resolve, reject) => {
- getDataInternal(id)
- .then(data => { resolve(data.data) })
- .catch(err => { reject(err) })
- })
- }
- const getSelectedCameraIndex = function () {
- return getWithDefault('camera_index', {index: 0, _id: 'camera_index'})
- }
- const setSelectedCameraIndex = function (index) {
- return new Promise((resolve, reject) => {
- getSelectedCameraIndex()
- .then(data => {
- data.index = index
- db.put(data)
- .then(data => resolve(data))
- .catch(err => reject(err))
- })
- .catch(err => reject(err))
- })
- }
- export {
- saveToken,
- getToken,
- getLang,
- saveLang,
- db,
- save,
- get,
- getData,
- saveData,
- getWithDefault,
- setSelectedCameraIndex,
- getSelectedCameraIndex
- }
|