Created Turnpike, event attendee and volunteer management
Built after prototype, Traverse, an attendee and volunteer list maintainer.
This commit is contained in:
commit
1033cdb29b
59 changed files with 8663 additions and 0 deletions
49
frontend/src/db.js
Normal file
49
frontend/src/db.js
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import Dexie from 'dexie'
|
||||
|
||||
export const db = new Dexie('turnpike')
|
||||
|
||||
db.version(1).stores({
|
||||
session: 'id, token, user',
|
||||
meta: 'key',
|
||||
event: 'id',
|
||||
attendees: 'id, name, ticket_type, checked_in, deleted_at',
|
||||
departments: 'id, name, deleted_at',
|
||||
volunteers: 'id, name, department_id, checked_in, attendee_id, deleted_at',
|
||||
shifts: 'id, department_id, day, deleted_at',
|
||||
volunteer_shifts: '[volunteer_id+shift_id], volunteer_id, shift_id',
|
||||
outbox: '++id, table, op, synced_at',
|
||||
})
|
||||
|
||||
db.version(2).stores({
|
||||
session: 'id, token, user',
|
||||
meta: 'key',
|
||||
event: 'id',
|
||||
attendees: 'id, name, ticket_type, checked_in, volunteer_token, deleted_at',
|
||||
departments: 'id, name, deleted_at',
|
||||
volunteers: 'id, name, department_id, checked_in, attendee_id, deleted_at',
|
||||
shifts: 'id, department_id, day, position, deleted_at',
|
||||
volunteer_shifts: '[volunteer_id+shift_id], volunteer_id, shift_id',
|
||||
outbox: '++id, table, op, synced_at',
|
||||
})
|
||||
|
||||
export async function getLastSync() {
|
||||
const m = await db.meta.get('last_sync')
|
||||
return m?.value ?? ''
|
||||
}
|
||||
|
||||
export async function setLastSync(ts) {
|
||||
await db.meta.put({ key: 'last_sync', value: ts })
|
||||
}
|
||||
|
||||
export async function getSession() {
|
||||
return db.session.get(1)
|
||||
}
|
||||
|
||||
export async function saveSession(token, user) {
|
||||
await db.session.put({ id: 1, token, user })
|
||||
}
|
||||
|
||||
export async function clearSession() {
|
||||
await db.session.clear()
|
||||
await db.meta.clear()
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue