From 25e9f48a0993f4347bcdd3bf63b153e80f4fe8bf Mon Sep 17 00:00:00 2001 From: Jonathan Summers-Muir Date: Tue, 3 May 2022 10:47:58 +0800 Subject: [PATCH] fix: now supplying projectRef to content store in setProjectRef() in rootStore --- studio/stores/RootStore.ts | 3 +-- studio/stores/content/ProjectContentStore.ts | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/studio/stores/RootStore.ts b/studio/stores/RootStore.ts index ef527fa8345..729e7d3445d 100644 --- a/studio/stores/RootStore.ts +++ b/studio/stores/RootStore.ts @@ -52,14 +52,12 @@ export class RootStore implements IRootStore { (selectedProject) => { if (selectedProject) { // @ts-ignore - this.content = new ProjectContentStore(this, { projectRef: selectedProject.ref }) this.meta = new MetaStore(this, { projectRef: selectedProject.ref, connectionString: selectedProject.connectionString ?? '', }) } else { // @ts-ignore - this.content = new ProjectContentStore(this, { projectRef: '' }) this.meta = new MetaStore(this, { projectRef: '', connectionString: '', @@ -88,6 +86,7 @@ export class RootStore implements IRootStore { this.ui.setProjectRef(value) this.functions.setProjectRef(value) + this.content.setProjectRef(value) } setOrganizationSlug(value?: string) { diff --git a/studio/stores/content/ProjectContentStore.ts b/studio/stores/content/ProjectContentStore.ts index cdf5abcd506..731e9cf1532 100644 --- a/studio/stores/content/ProjectContentStore.ts +++ b/studio/stores/content/ProjectContentStore.ts @@ -1,4 +1,4 @@ -import { makeAutoObservable } from 'mobx' +import { makeAutoObservable, action } from 'mobx' import { keyBy } from 'lodash' import { get, post, patch, delete_ } from 'lib/common/fetch' @@ -15,11 +15,15 @@ export interface IProjectContentStore { isLoaded: boolean error: any + baseUrl: string + projectRef?: string + load: () => void create: (x: UserContent) => { data: UserContent; error: { error: { message: string } } } list: (filter?: any) => any[] reports: (filter?: any) => any[] sqlSnippets: (filter?: any) => any[] + setProjectRef: (ref?: string) => void } export default class ProjectContentStore implements IProjectContentStore { @@ -33,6 +37,8 @@ export default class ProjectContentStore implements IProjectContentStore { } baseUrl: string + projectRef: string + data: UserContentMap = {} state = this.STATES.INITIAL @@ -40,8 +46,9 @@ export default class ProjectContentStore implements IProjectContentStore { constructor(rootStore: IRootStore, options: { projectRef: string }) { const { projectRef } = options + this.projectRef = projectRef this.rootStore = rootStore - this.baseUrl = `${API_URL}/projects/${projectRef}/content` + this.baseUrl = `` makeAutoObservable(this) } @@ -190,4 +197,11 @@ export default class ProjectContentStore implements IProjectContentStore { return { data: false, error } } } + + setProjectRef(ref?: string) { + if (ref) { + this.projectRef = ref + this.baseUrl = `${API_URL}/projects/${ref}/content` + } + } }