// @flow 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; service: string; collectionId: string; events: Events; settings: Settings; @action update = async (data: Object) => { await client.post('/integrations.update', { id: this.id, ...data }); extendObservable(this, data); return true; }; @action delete = () => { return this.store.delete(this); }; } export default Integration;