import { extendObservable, action } from "mobx"; import BaseModel from "~/models/BaseModel"; import { client } from "~/utils/ApiClient"; type Settings = { url: string; channel: string; channelId: string; }; type Events = "documents.create" | "collections.create"; class Integration extends BaseModel { id: string; type: string; service: string; collectionId: string; events: Events; settings: Settings; @action update = async (data: Record) => { await client.post("/integrations.update", { id: this.id, ...data, }); extendObservable(this, data); return true; }; @action delete = () => { return this.store.delete(this); }; } export default Integration;