import { Ref, ref } from 'vue'; import { defineStore } from 'pinia'; import { IReviewPlatforms } from '@/database/review-platforms/reviewPlatforms.types'; import { ReviewPlatformsGateway } from '@/database/review-platforms/reviewPlatforms.gateway'; interface State { reviewPlatforms: Ref; } export const useReviewPlatformsStore = defineStore('reviewPlatforms', () => { const state: State = { reviewPlatforms: ref({} as IReviewPlatforms.Platforms), }; const actions = { async getReviewPlatforms() { const isEmpty = !Object.keys(state.reviewPlatforms.value).length; if (isEmpty) { state.reviewPlatforms.value = await ReviewPlatformsGateway.getReviewPlatforms(); } }, }; return { ...state, ...actions, }; });