mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 10:55:06 +03:00
* Move listEncryptedColumns method to a function. * Remove encryptColumn method since it's unused. * Add CRUD RQ queries/mutations for vault secrets. * Use the new queries/mutations. * Add RQ for secret/decrypted values of secrets. * Add RQ queries/mutations for pg-sodium keys. * Use the new hook for decrypted value. * Use the new hooks for pg sodium keys. * Remove unneeded code from the vault store. * Delete VaultStore and all usages of it. * Small style fix * Fix invalidation for create, update, delete secrets * Small UI fixes to EditSecretModal * Fix invalidation for pg-sodium-keys rq * Add default error handler for pg sodium keys rq * Undo * Add default error handler for vault secrets RQ * Remove observer on vault pages * Fix database wrappers with vault * Add loading state for vault keys * fix pg sodium keys invalidation * Opt for immutable const declaration in SecretsManagement * remove keyId and keyName context from ColumnEditor, no longer supports TLE * Address PR comments --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
51 lines
1.3 KiB
TypeScript
51 lines
1.3 KiB
TypeScript
import { configure } from 'mobx'
|
|
|
|
import { Project } from 'data/projects/project-detail-query'
|
|
import UiStore, { IUiStore } from './UiStore'
|
|
import MetaStore, { IMetaStore } from './pgmeta/MetaStore'
|
|
|
|
// Temporary disable mobx warnings
|
|
// TODO: need to remove this after refactoring old stores.
|
|
configure({
|
|
enforceActions: 'never',
|
|
})
|
|
|
|
export interface IRootStore {
|
|
ui: IUiStore
|
|
meta: IMetaStore
|
|
|
|
selectedProjectRef?: string
|
|
|
|
setProject: (project: Project) => void
|
|
}
|
|
export class RootStore implements IRootStore {
|
|
ui: IUiStore
|
|
meta: IMetaStore
|
|
|
|
selectedProjectRef: string | undefined
|
|
|
|
constructor() {
|
|
this.ui = new UiStore(this)
|
|
this.meta = new MetaStore(this, { projectRef: '', connectionString: '' })
|
|
}
|
|
|
|
/**
|
|
* Set selected project reference
|
|
*
|
|
* This method will also trigger project detail loading when it's not available
|
|
*/
|
|
setProject(project: Project) {
|
|
if (this.selectedProjectRef === project.ref) return
|
|
|
|
// reset ui projectRef in case of switching projects
|
|
// this will show the loading screen instead of showing the previous project
|
|
this.ui.setProjectRef(undefined)
|
|
|
|
this.meta.setProjectDetails(project)
|
|
// ui set must come last
|
|
this.ui.setProjectRef(project.ref)
|
|
|
|
this.selectedProjectRef = project.ref
|
|
}
|
|
}
|