commit 068558d788ca5918884881b92d0d5a01de1cbc76
parent 368ddb419958042b15af93094f12e71f8bbd6f4c
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 16 Apr 2025 23:23:48 +0200
parent 368ddb419958042b15af93094f12e71f8bbd6f4c
Author: Katja (ctucx) <git@ctu.cx>
Date: Wed, 16 Apr 2025 23:23:48 +0200
dataStorage: rename database, remove unnecessary db-migrations
1 file changed, 5 insertions(+), 84 deletions(-)
M
|
89
+++++--------------------------------------------------------------------------
diff --git a/src/dataStorage.js b/src/dataStorage.js @@ -2,100 +2,21 @@ import { openDB, deleteDB } from 'idb'; export let db; -const dbName = !isDevServer ? 'trainsearch' : 'trainsearch_dev'; +const dbName = !isDevServer ? 'oeffisearch' : 'oeffisearch_dev'; class DataStorage { constructor(idb) { this.idb = idb; } static async open() { - const idb = await openDB(dbName, 3, { + const idb = await openDB(dbName, 1, { upgrade: async (db, oldVersion, newVersion, transaction) => { console.log(`upgrading database from ${oldVersion} to ${newVersion}`); - let settings; - switch (oldVersion) { case 0: - /* - * in database scheme v1, the `journeys` object store stores whole searches, including journey data - */ - db.createObjectStore('journeys', {keyPath: 'slug'}); - db.createObjectStore('journeysHistory', {autoIncrement: true}); - db.createObjectStore('settings'); - - case 1: - /* - * in database scheme v2, there are the following data stores: - * `journey` for storing individual journeys with their refreshToken as index - * `journeysOverview`t contains the search results with the `.journeys` field being an array of refreshTokens. - * - * in comparison to v1, there are these additional changes: - * `journeys` object store is deleted. - * `journeysHistory` object store is cleared/recreated. - */ - - /* clean up old stuff */ - db.deleteObjectStore('journeys'); - db.deleteObjectStore('journeysHistory'); - - /* create new stores */ - db.createObjectStore('journey', {keyPath: 'refreshToken'}); - db.createObjectStore('journeysOverview', {keyPath: 'slug'}); - db.createObjectStore('journeysHistory', {autoIncrement: true}); - - case 2: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.profile === 'vbb') { - settings.profile = 'db'; - } - - await transaction.objectStore('settings').put(settings, 'settings'); - - case 3: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.bikeFriendly === undefined) { - settings.bikeFriendly = false; - } - - await transaction.objectStore('settings').put(settings, 'settings'); - - case 4: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.loyaltyCard === undefined) { - settings.loyaltyCard = 'NONE'; - } - - await transaction.objectStore('settings').put(settings, 'settings'); - - case 5: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.walkingSpeed === undefined) { - settings.walkingSpeed = 'normal'; - } - - await transaction.objectStore('settings').put(settings, 'settings'); - - case 5: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.ageGroup === undefined) { - settings.ageGroup = 'E'; - } - - await transaction.objectStore('settings').put(settings, 'settings'); - - case 6: - settings = await transaction.objectStore('settings').get('settings'); - - if (settings !== undefined && settings.profile === 'vrn') { - settings.profile = 'db'; - } - - await transaction.objectStore('settings').put(settings, 'settings'); + db.createObjectStore('journey', { keyPath: 'refreshToken' }); + db.createObjectStore('journeysOverview', { keyPath: 'slug' }); + db.createObjectStore('journeysHistory', { autoIncrement: true }); } } });