import api from 'api'; export default { state: { wabaTemplates: null, channels: null, }, setWabaTemplates(wabaTemplates) { this.state.wabaTemplates = wabaTemplates; }, setChannels(channels) { this.state.channels = channels; }, fetchWabaTemplates() { if (this.state.wabaTemplates) { return Promise.resolve(this.state.wabaTemplates); } return api.getWabaTemplates().then((wabaTemplates) => this.setWabaTemplates(wabaTemplates)); }, fetchChannels() { if (this.state.channels) { return Promise.resolve(this.state.channels); } return api.getChannels().then((channels) => this.setChannels(channels)); }, getWabaTemplateById(id) { if (!this.state.wabaTemplates) return null; return this.state.wabaTemplates.find((template) => template.id === id); }, getChannelById(id) { if (!this.state.channels) return null; return this.state.channels.find((channel) => channel.channelId === id); } };