| 1234567891011121314151617181920212223242526272829303132 |
- import {MercureEntityUpdate, sseState} from "~/types/interfaces";
- import {repositoryHelper} from "~/services/store/repository";
- import ModelsUtils from "~/services/utils/modelsUtils";
- import {defineStore} from "pinia";
- export const useSseStore = defineStore('sse', {
- state: (): sseState => {
- return {
- connected: false,
- events: []
- }
- },
- actions: {
- addEvent(state: sseState, event: MercureEntityUpdate) {
- const model = ModelsUtils.getModelFromIri(event.iri)
- switch (event.operation) {
- case "update":
- case "create":
- repositoryHelper.persist(model, JSON.parse(event.data))
- break
- case "delete":
- break
- default:
- throw new Error('SSE: unknown operation type')
- }
- }
- }
- })
|