Loading portal/static/js/model/Agenda.mjs 0 → 100644 +44 −0 Changes for portal/static/js/model/Agenda.mjs: 44 added lines, 0 removed lines. Original line number Diff line number Diff line import { getKey } from "../account.mjs" export class Agenda { items message = "Wird geladen..." get url() { return "/api/v0/agendas/-/items" } get #headers() { return getKey() ? { Authorization: `Bearer ${getKey().secret}` } : {} } async fetch() { try { this.items = await m.request({ method: "GET", url: this.url, headers: this.#headers, }) } catch (e) { if (e.code === 401) { this.message = "Melde dich an Portal an, um die Tagesordnung anzuzeigen." } else { this.message = "Die Tagesordnung konnte nicht geladen werden." } } } async save() { // TODO Somehow handle error? this.items = await m.request({ method: "PATCH", url: this.url, headers: this.#headers, body: this.items, }) } } // Singleton export const agenda = new Agenda() Loading
portal/static/js/model/Agenda.mjs 0 → 100644 +44 −0 Changes for portal/static/js/model/Agenda.mjs: 44 added lines, 0 removed lines. Original line number Diff line number Diff line import { getKey } from "../account.mjs" export class Agenda { items message = "Wird geladen..." get url() { return "/api/v0/agendas/-/items" } get #headers() { return getKey() ? { Authorization: `Bearer ${getKey().secret}` } : {} } async fetch() { try { this.items = await m.request({ method: "GET", url: this.url, headers: this.#headers, }) } catch (e) { if (e.code === 401) { this.message = "Melde dich an Portal an, um die Tagesordnung anzuzeigen." } else { this.message = "Die Tagesordnung konnte nicht geladen werden." } } } async save() { // TODO Somehow handle error? this.items = await m.request({ method: "PATCH", url: this.url, headers: this.#headers, body: this.items, }) } } // Singleton export const agenda = new Agenda()