ntfy/web/src/app/db.js

21 lines
569 B
JavaScript
Raw Normal View History

import Dexie from 'dexie';
2022-12-02 20:37:48 +00:00
import session from "./Session";
// Uses Dexie.js
// https://dexie.org/docs/API-Reference#quick-reference
//
// Notes:
// - As per docs, we only declare the indexable columns, not all columns
2022-12-02 20:37:48 +00:00
const dbName = (session.username()) ? `ntfy-${session.username()}` : "ntfy";
const db = new Dexie(dbName);
2022-05-07 23:16:08 +00:00
db.version(1).stores({
2022-03-02 21:16:30 +00:00
subscriptions: '&id,baseUrl',
2022-05-07 23:16:08 +00:00
notifications: '&id,subscriptionId,time,new,[subscriptionId+new]', // compound key for query performance
2022-03-02 03:01:51 +00:00
users: '&baseUrl,username',
prefs: '&key'
});
export default db;