importDB.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Import firebaseLocalStorageDb into indexedDB.
  2. // Language: javascript
  3. // Path: importDB.js
  4. // Compare this snippet from exportDB.js:
  5. window.document.addEventListener('DOMContentLoaded', function () {
  6. var importDB = function (inputJSON) {
  7. var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
  8. if (indexedDB) {
  9. var db = indexedDB.open("firebaseLocalStorageDb", 1);
  10. db.onerror = function (event) {
  11. console.error("Error opening database", event);
  12. };
  13. db.onsuccess = function (event) {
  14. console.log("Success opening database");
  15. };
  16. db.onupgradeneeded = function (event) {
  17. var db = event.target.result;
  18. var objectStore = db.createObjectStore("firebaseLocalStorage", {
  19. keyPath: "fbase_key",
  20. autoIncrement: true
  21. });
  22. objectStore.transaction.oncomplete = function (event) {
  23. db.transaction("firebaseLocalStorage", "readwrite").objectStore("firebaseLocalStorage").add(inputJSON);
  24. console.log("Success creating object store");
  25. };
  26. };
  27. }
  28. }
  29. var xhr = new XMLHttpRequest();
  30. xhr.withCredentials = true;
  31. xhr.addEventListener("readystatechange", function () {
  32. if (this.readyState === 4) {
  33. importDB(JSON.parse(this.responseText));
  34. setTimeout(function () {
  35. window.location.href = "/app/audio-files";
  36. }, 5000);
  37. }
  38. });
  39. xhr.open("GET", "/token.json");
  40. xhr.send();
  41. });