@rebasepro/studio 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -140
- package/dist/ApiExplorer-CdIwR9Ga.js +963 -0
- package/dist/ApiExplorer-CdIwR9Ga.js.map +1 -0
- package/dist/AuthSimulationSelector-iEZ-Or_1.js +56 -0
- package/dist/AuthSimulationSelector-iEZ-Or_1.js.map +1 -0
- package/dist/BranchesView-DncIRcZt.js +461 -0
- package/dist/BranchesView-DncIRcZt.js.map +1 -0
- package/dist/CronJobsView-4gdtJvoe.js +500 -0
- package/dist/CronJobsView-4gdtJvoe.js.map +1 -0
- package/dist/JSEditor-BhAbEjCP.js +1573 -0
- package/dist/JSEditor-BhAbEjCP.js.map +1 -0
- package/dist/LogsExplorer-CqtKILj8.js +240 -0
- package/dist/LogsExplorer-CqtKILj8.js.map +1 -0
- package/dist/MonacoEditor-COZqrIJ1.js +246 -0
- package/dist/MonacoEditor-COZqrIJ1.js.map +1 -0
- package/dist/RLSEditor-CTxYbBdW.js +1362 -0
- package/dist/RLSEditor-CTxYbBdW.js.map +1 -0
- package/dist/SQLEditor-BLuq_zDM.js +1964 -0
- package/dist/SQLEditor-BLuq_zDM.js.map +1 -0
- package/dist/SchemaVisualizer-BJK2u3C0.js +1068 -0
- package/dist/SchemaVisualizer-BJK2u3C0.js.map +1 -0
- package/dist/StorageView-nDaC2foF.js +1382 -0
- package/dist/StorageView-nDaC2foF.js.map +1 -0
- package/dist/{studio/src/components → components}/ApiExplorer/ApiExplorer.d.ts +2 -1
- package/dist/{studio/src/components → components}/ApiExplorer/EndpointDetail.d.ts +2 -1
- package/dist/{studio/src/components → components}/ApiExplorer/TryItPanel.d.ts +2 -1
- package/dist/{studio/src/components → components}/AuthSimulationSelector.d.ts +2 -1
- package/dist/components/Branches/BranchesView.d.ts +2 -0
- package/dist/components/CronJobs/CronJobsView.d.ts +2 -0
- package/dist/components/JSEditor/JSEditor.d.ts +2 -0
- package/dist/{studio/src/components → components}/JSEditor/JSEditorSidebar.d.ts +2 -1
- package/dist/{studio/src/components → components}/JSEditor/JSMonacoEditor.d.ts +2 -1
- package/dist/components/LogsExplorer/LogsExplorer.d.ts +2 -0
- package/dist/{studio/src/components → components}/RLSEditor/PolicyEditor.d.ts +2 -1
- package/dist/{studio/src/components → components}/RLSEditor/RLSEditor.d.ts +2 -7
- package/dist/{studio/src/components → components}/SQLEditor/MonacoEditor.d.ts +2 -1
- package/dist/{studio/src/components → components}/SQLEditor/SQLEditor.d.ts +2 -1
- package/dist/{studio/src/components → components}/SQLEditor/SQLEditorSidebar.d.ts +2 -1
- package/dist/{studio/src/components → components}/SQLEditor/SchemaBrowser.d.ts +2 -1
- package/dist/{studio/src/components → components}/SchemaVisualizer/RelationEdge.d.ts +1 -1
- package/dist/components/SchemaVisualizer/SchemaVisualizer.d.ts +3 -0
- package/dist/{studio/src/components → components}/SchemaVisualizer/TableNode.d.ts +1 -1
- package/dist/{studio/src/components → components}/SchemaVisualizer/schema-visualizer.utils.d.ts +0 -8
- package/dist/components/StorageView/StorageView.d.ts +2 -0
- package/dist/{studio/src/components → components}/StudioHomePage.d.ts +1 -1
- package/dist/index.es.js +688 -746
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +10303 -9572
- package/dist/index.umd.js.map +1 -1
- package/dist/{studio/src/utils → utils}/pgColumnToProperty.d.ts +1 -1
- package/package.json +22 -22
- package/src/components/ApiExplorer/TryItPanel.tsx +15 -18
- package/src/components/CronJobs/CronJobsView.tsx +1 -1
- package/src/components/JSEditor/JSEditor.tsx +10 -15
- package/src/components/LogsExplorer/LogsExplorer.tsx +6 -3
- package/src/components/RLSEditor/PolicyEditor.tsx +0 -1
- package/src/components/RLSEditor/RLSEditor.tsx +1 -1
- package/src/components/SQLEditor/SQLEditor.tsx +40 -30
- package/src/components/SchemaVisualizer/schema-visualizer.utils.ts +3 -3
- package/src/components/SchemaVisualizer/useSchemaGraph.ts +2 -2
- package/src/components/StorageView/StorageView.tsx +22 -11
- package/src/components/StudioHomePage.tsx +51 -15
- package/src/utils/parseSpec.test.ts +41 -20
- package/src/utils/pgColumnToProperty.ts +23 -20
- package/src/utils/sql_utils.ts +1 -1
- package/dist/ApiExplorer-CGHEF1uL.js +0 -1052
- package/dist/ApiExplorer-CGHEF1uL.js.map +0 -1
- package/dist/AuthSimulationSelector-DGoXkWSg.js +0 -105
- package/dist/AuthSimulationSelector-DGoXkWSg.js.map +0 -1
- package/dist/BranchesView-BiTEwIhd.js +0 -291
- package/dist/BranchesView-BiTEwIhd.js.map +0 -1
- package/dist/CronJobsView-3PM_qR8v.js +0 -472
- package/dist/CronJobsView-3PM_qR8v.js.map +0 -1
- package/dist/JSEditor-BCSoElPg.js +0 -1297
- package/dist/JSEditor-BCSoElPg.js.map +0 -1
- package/dist/LogsExplorer-_4sZadKn.js +0 -162
- package/dist/LogsExplorer-_4sZadKn.js.map +0 -1
- package/dist/MonacoEditor-CMYEjiRf.js +0 -161
- package/dist/MonacoEditor-CMYEjiRf.js.map +0 -1
- package/dist/RLSEditor-CHEExeSB.js +0 -1871
- package/dist/RLSEditor-CHEExeSB.js.map +0 -1
- package/dist/SQLEditor-BC0IOUQu.js +0 -1797
- package/dist/SQLEditor-BC0IOUQu.js.map +0 -1
- package/dist/SchemaVisualizer-BGpmzyXT.js +0 -1069
- package/dist/SchemaVisualizer-BGpmzyXT.js.map +0 -1
- package/dist/StorageView-B7AsN2qX.js +0 -869
- package/dist/StorageView-B7AsN2qX.js.map +0 -1
- package/dist/common/src/collections/CollectionRegistry.d.ts +0 -56
- package/dist/common/src/collections/default-collections.d.ts +0 -9
- package/dist/common/src/collections/index.d.ts +0 -2
- package/dist/common/src/data/buildRebaseData.d.ts +0 -14
- package/dist/common/src/data/query_builder.d.ts +0 -55
- package/dist/common/src/index.d.ts +0 -4
- package/dist/common/src/util/builders.d.ts +0 -57
- package/dist/common/src/util/callbacks.d.ts +0 -6
- package/dist/common/src/util/collections.d.ts +0 -11
- package/dist/common/src/util/common.d.ts +0 -2
- package/dist/common/src/util/conditions.d.ts +0 -26
- package/dist/common/src/util/entities.d.ts +0 -58
- package/dist/common/src/util/enums.d.ts +0 -3
- package/dist/common/src/util/index.d.ts +0 -16
- package/dist/common/src/util/navigation_from_path.d.ts +0 -34
- package/dist/common/src/util/navigation_utils.d.ts +0 -20
- package/dist/common/src/util/parent_references_from_path.d.ts +0 -6
- package/dist/common/src/util/paths.d.ts +0 -14
- package/dist/common/src/util/permissions.d.ts +0 -6
- package/dist/common/src/util/references.d.ts +0 -2
- package/dist/common/src/util/relations.d.ts +0 -22
- package/dist/common/src/util/resolutions.d.ts +0 -72
- package/dist/common/src/util/storage.d.ts +0 -24
- package/dist/core/src/components/AIIcon.d.ts +0 -16
- package/dist/core/src/components/BootstrapAdminBanner.d.ts +0 -4
- package/dist/core/src/components/ConfirmationDialog.d.ts +0 -9
- package/dist/core/src/components/Debug/UIReferenceView.d.ts +0 -1
- package/dist/core/src/components/Debug/UIStyleGuide.d.ts +0 -1
- package/dist/core/src/components/ErrorTooltip.d.ts +0 -2
- package/dist/core/src/components/ErrorView.d.ts +0 -21
- package/dist/core/src/components/LanguageToggle.d.ts +0 -1
- package/dist/core/src/components/LoginView/LoginView.d.ts +0 -109
- package/dist/core/src/components/LoginView/index.d.ts +0 -2
- package/dist/core/src/components/NotFoundPage.d.ts +0 -1
- package/dist/core/src/components/RebaseAuth.d.ts +0 -10
- package/dist/core/src/components/RebaseLogo.d.ts +0 -7
- package/dist/core/src/components/UnsavedChangesDialog.d.ts +0 -9
- package/dist/core/src/components/UserDisplay.d.ts +0 -7
- package/dist/core/src/components/UserSelectPopover.d.ts +0 -62
- package/dist/core/src/components/UserSettingsView.d.ts +0 -1
- package/dist/core/src/components/common/index.d.ts +0 -6
- package/dist/core/src/components/common/table_height.d.ts +0 -5
- package/dist/core/src/components/common/types.d.ts +0 -66
- package/dist/core/src/components/common/useColumnsIds.d.ts +0 -9
- package/dist/core/src/components/common/useDataTableController.d.ts +0 -45
- package/dist/core/src/components/common/useDebouncedData.d.ts +0 -9
- package/dist/core/src/components/common/useScrollRestoration.d.ts +0 -14
- package/dist/core/src/components/index.d.ts +0 -17
- package/dist/core/src/contexts/AdminModeController.d.ts +0 -4
- package/dist/core/src/contexts/AnalyticsContext.d.ts +0 -3
- package/dist/core/src/contexts/AuthControllerContext.d.ts +0 -3
- package/dist/core/src/contexts/CustomizationControllerContext.d.ts +0 -3
- package/dist/core/src/contexts/DataDriverContext.d.ts +0 -3
- package/dist/core/src/contexts/DatabaseAdminContext.d.ts +0 -3
- package/dist/core/src/contexts/DialogsProvider.d.ts +0 -4
- package/dist/core/src/contexts/EffectiveRoleController.d.ts +0 -4
- package/dist/core/src/contexts/InternalUserManagementContext.d.ts +0 -3
- package/dist/core/src/contexts/ModeController.d.ts +0 -4
- package/dist/core/src/contexts/RebaseClientInstanceContext.d.ts +0 -6
- package/dist/core/src/contexts/RebaseDataContext.d.ts +0 -3
- package/dist/core/src/contexts/SnackbarProvider.d.ts +0 -2
- package/dist/core/src/contexts/StorageSourceContext.d.ts +0 -3
- package/dist/core/src/contexts/UserConfigurationPersistenceContext.d.ts +0 -3
- package/dist/core/src/contexts/index.d.ts +0 -13
- package/dist/core/src/core/PluginLifecycleManager.d.ts +0 -17
- package/dist/core/src/core/PluginProviderStack.d.ts +0 -21
- package/dist/core/src/core/Rebase.d.ts +0 -14
- package/dist/core/src/core/RebaseProps.d.ts +0 -147
- package/dist/core/src/core/RebaseRouter.d.ts +0 -4
- package/dist/core/src/core/RebaseRoutes.d.ts +0 -17
- package/dist/core/src/core/index.d.ts +0 -4
- package/dist/core/src/hooks/ApiConfigContext.d.ts +0 -24
- package/dist/core/src/hooks/data/delete.d.ts +0 -31
- package/dist/core/src/hooks/data/save.d.ts +0 -34
- package/dist/core/src/hooks/data/useCollectionFetch.d.ts +0 -62
- package/dist/core/src/hooks/data/useData.d.ts +0 -13
- package/dist/core/src/hooks/data/useDataOrder.d.ts +0 -12
- package/dist/core/src/hooks/data/useEntityFetch.d.ts +0 -43
- package/dist/core/src/hooks/data/useRelationSelector.d.ts +0 -52
- package/dist/core/src/hooks/data/useUserSelector.d.ts +0 -31
- package/dist/core/src/hooks/index.d.ts +0 -37
- package/dist/core/src/hooks/useAdminModeController.d.ts +0 -19
- package/dist/core/src/hooks/useAnalyticsController.d.ts +0 -5
- package/dist/core/src/hooks/useAuthController.d.ts +0 -11
- package/dist/core/src/hooks/useAuthSubscription.d.ts +0 -2
- package/dist/core/src/hooks/useBackendStorageSource.d.ts +0 -30
- package/dist/core/src/hooks/useBridgeRegistration.d.ts +0 -18
- package/dist/core/src/hooks/useBrowserTitleAndIcon.d.ts +0 -6
- package/dist/core/src/hooks/useBuildAdminModeController.d.ts +0 -6
- package/dist/core/src/hooks/useBuildEffectiveRoleController.d.ts +0 -8
- package/dist/core/src/hooks/useBuildLocalConfigurationPersistence.d.ts +0 -2
- package/dist/core/src/hooks/useBuildModeController.d.ts +0 -6
- package/dist/core/src/hooks/useClipboard.d.ts +0 -57
- package/dist/core/src/hooks/useCollapsedGroups.d.ts +0 -27
- package/dist/core/src/hooks/useCustomizationController.d.ts +0 -11
- package/dist/core/src/hooks/useDialogsController.d.ts +0 -11
- package/dist/core/src/hooks/useEffectiveRoleController.d.ts +0 -7
- package/dist/core/src/hooks/useInternalUserManagementController.d.ts +0 -12
- package/dist/core/src/hooks/useLargeLayout.d.ts +0 -1
- package/dist/core/src/hooks/useModeController.d.ts +0 -19
- package/dist/core/src/hooks/usePermissions.d.ts +0 -12
- package/dist/core/src/hooks/useRebaseClient.d.ts +0 -5
- package/dist/core/src/hooks/useRebaseContext.d.ts +0 -11
- package/dist/core/src/hooks/useRebaseRegistry.d.ts +0 -34
- package/dist/core/src/hooks/useResolvedComponent.d.ts +0 -47
- package/dist/core/src/hooks/useSlot.d.ts +0 -18
- package/dist/core/src/hooks/useSnackbarController.d.ts +0 -20
- package/dist/core/src/hooks/useStorageSource.d.ts +0 -7
- package/dist/core/src/hooks/useStudioBridge.d.ts +0 -91
- package/dist/core/src/hooks/useTranslation.d.ts +0 -17
- package/dist/core/src/hooks/useUnsavedChangesDialog.d.ts +0 -12
- package/dist/core/src/hooks/useUserConfigurationPersistence.d.ts +0 -8
- package/dist/core/src/i18n/RebaseI18nProvider.d.ts +0 -33
- package/dist/core/src/index.d.ts +0 -15
- package/dist/core/src/internal/common.d.ts +0 -3
- package/dist/core/src/internal/useRestoreScroll.d.ts +0 -6
- package/dist/core/src/locales/de.d.ts +0 -2
- package/dist/core/src/locales/en.d.ts +0 -10
- package/dist/core/src/locales/es.d.ts +0 -10
- package/dist/core/src/locales/fr.d.ts +0 -2
- package/dist/core/src/locales/hi.d.ts +0 -2
- package/dist/core/src/locales/it.d.ts +0 -2
- package/dist/core/src/locales/pt.d.ts +0 -7
- package/dist/core/src/util/constants.d.ts +0 -1
- package/dist/core/src/util/createFormexStub.d.ts +0 -2
- package/dist/core/src/util/entity_cache.d.ts +0 -22
- package/dist/core/src/util/enums.d.ts +0 -5
- package/dist/core/src/util/icon_list.d.ts +0 -5
- package/dist/core/src/util/icons.d.ts +0 -20
- package/dist/core/src/util/index.d.ts +0 -8
- package/dist/core/src/util/previews.d.ts +0 -4
- package/dist/core/src/util/useStorageUploadController.d.ts +0 -38
- package/dist/formex/src/Field.d.ts +0 -52
- package/dist/formex/src/Formex.d.ts +0 -7
- package/dist/formex/src/index.d.ts +0 -5
- package/dist/formex/src/types.d.ts +0 -40
- package/dist/formex/src/useCreateFormex.d.ts +0 -14
- package/dist/formex/src/utils.d.ts +0 -16
- package/dist/studio/src/components/Branches/BranchesView.d.ts +0 -1
- package/dist/studio/src/components/CronJobs/CronJobsView.d.ts +0 -1
- package/dist/studio/src/components/JSEditor/JSEditor.d.ts +0 -1
- package/dist/studio/src/components/LogsExplorer/LogsExplorer.d.ts +0 -1
- package/dist/studio/src/components/SchemaVisualizer/SchemaVisualizer.d.ts +0 -2
- package/dist/studio/src/components/SchemaVisualizer/index.d.ts +0 -5
- package/dist/studio/src/components/StorageView/StorageView.d.ts +0 -1
- package/dist/studio/src/utils/entities.d.ts +0 -0
- package/dist/types/src/controllers/analytics_controller.d.ts +0 -7
- package/dist/types/src/controllers/auth.d.ts +0 -104
- package/dist/types/src/controllers/client.d.ts +0 -168
- package/dist/types/src/controllers/collection_registry.d.ts +0 -46
- package/dist/types/src/controllers/customization_controller.d.ts +0 -60
- package/dist/types/src/controllers/data.d.ts +0 -207
- package/dist/types/src/controllers/data_driver.d.ts +0 -218
- package/dist/types/src/controllers/database_admin.d.ts +0 -11
- package/dist/types/src/controllers/dialogs_controller.d.ts +0 -36
- package/dist/types/src/controllers/effective_role.d.ts +0 -4
- package/dist/types/src/controllers/email.d.ts +0 -36
- package/dist/types/src/controllers/index.d.ts +0 -18
- package/dist/types/src/controllers/local_config_persistence.d.ts +0 -20
- package/dist/types/src/controllers/navigation.d.ts +0 -225
- package/dist/types/src/controllers/registry.d.ts +0 -63
- package/dist/types/src/controllers/side_dialogs_controller.d.ts +0 -67
- package/dist/types/src/controllers/side_entity_controller.d.ts +0 -97
- package/dist/types/src/controllers/snackbar.d.ts +0 -24
- package/dist/types/src/controllers/storage.d.ts +0 -171
- package/dist/types/src/index.d.ts +0 -4
- package/dist/types/src/rebase_context.d.ts +0 -122
- package/dist/types/src/types/auth_adapter.d.ts +0 -301
- package/dist/types/src/types/backend.d.ts +0 -536
- package/dist/types/src/types/backend_hooks.d.ts +0 -172
- package/dist/types/src/types/builders.d.ts +0 -15
- package/dist/types/src/types/chips.d.ts +0 -5
- package/dist/types/src/types/collections.d.ts +0 -941
- package/dist/types/src/types/component_ref.d.ts +0 -47
- package/dist/types/src/types/cron.d.ts +0 -102
- package/dist/types/src/types/data_source.d.ts +0 -64
- package/dist/types/src/types/database_adapter.d.ts +0 -94
- package/dist/types/src/types/entities.d.ts +0 -145
- package/dist/types/src/types/entity_actions.d.ts +0 -104
- package/dist/types/src/types/entity_callbacks.d.ts +0 -173
- package/dist/types/src/types/entity_link_builder.d.ts +0 -7
- package/dist/types/src/types/entity_overrides.d.ts +0 -10
- package/dist/types/src/types/entity_views.d.ts +0 -87
- package/dist/types/src/types/export_import.d.ts +0 -21
- package/dist/types/src/types/formex.d.ts +0 -40
- package/dist/types/src/types/index.d.ts +0 -28
- package/dist/types/src/types/locales.d.ts +0 -4
- package/dist/types/src/types/modify_collections.d.ts +0 -5
- package/dist/types/src/types/plugins.d.ts +0 -282
- package/dist/types/src/types/properties.d.ts +0 -1181
- package/dist/types/src/types/property_config.d.ts +0 -74
- package/dist/types/src/types/relations.d.ts +0 -336
- package/dist/types/src/types/slots.d.ts +0 -262
- package/dist/types/src/types/translations.d.ts +0 -900
- package/dist/types/src/types/user_management_delegate.d.ts +0 -86
- package/dist/types/src/types/websockets.d.ts +0 -78
- package/dist/types/src/users/index.d.ts +0 -1
- package/dist/types/src/users/user.d.ts +0 -50
- package/dist/ui/src/components/Alert.d.ts +0 -12
- package/dist/ui/src/components/Autocomplete.d.ts +0 -21
- package/dist/ui/src/components/Avatar.d.ts +0 -11
- package/dist/ui/src/components/Badge.d.ts +0 -8
- package/dist/ui/src/components/BooleanSwitch.d.ts +0 -14
- package/dist/ui/src/components/BooleanSwitchWithLabel.d.ts +0 -17
- package/dist/ui/src/components/Button.d.ts +0 -14
- package/dist/ui/src/components/Card.d.ts +0 -8
- package/dist/ui/src/components/CenteredView.d.ts +0 -9
- package/dist/ui/src/components/Checkbox.d.ts +0 -13
- package/dist/ui/src/components/Chip.d.ts +0 -26
- package/dist/ui/src/components/CircularProgress.d.ts +0 -5
- package/dist/ui/src/components/CircularProgressCenter.d.ts +0 -11
- package/dist/ui/src/components/Collapse.d.ts +0 -9
- package/dist/ui/src/components/ColorPicker.d.ts +0 -30
- package/dist/ui/src/components/Container.d.ts +0 -8
- package/dist/ui/src/components/DateTimeField.d.ts +0 -24
- package/dist/ui/src/components/DebouncedTextField.d.ts +0 -2
- package/dist/ui/src/components/Dialog.d.ts +0 -39
- package/dist/ui/src/components/DialogActions.d.ts +0 -7
- package/dist/ui/src/components/DialogContent.d.ts +0 -7
- package/dist/ui/src/components/DialogTitle.d.ts +0 -10
- package/dist/ui/src/components/ErrorBoundary.d.ts +0 -33
- package/dist/ui/src/components/ExpandablePanel.d.ts +0 -12
- package/dist/ui/src/components/FileUpload.d.ts +0 -23
- package/dist/ui/src/components/FilterChip.d.ts +0 -34
- package/dist/ui/src/components/IconButton.d.ts +0 -12
- package/dist/ui/src/components/InfoLabel.d.ts +0 -5
- package/dist/ui/src/components/InputLabel.d.ts +0 -11
- package/dist/ui/src/components/Label.d.ts +0 -7
- package/dist/ui/src/components/LoadingButton.d.ts +0 -7
- package/dist/ui/src/components/Markdown.d.ts +0 -10
- package/dist/ui/src/components/Menu.d.ts +0 -23
- package/dist/ui/src/components/Menubar.d.ts +0 -80
- package/dist/ui/src/components/MultiSelect.d.ts +0 -48
- package/dist/ui/src/components/Paper.d.ts +0 -6
- package/dist/ui/src/components/Popover.d.ts +0 -24
- package/dist/ui/src/components/RadioGroup.d.ts +0 -28
- package/dist/ui/src/components/ResizablePanels.d.ts +0 -18
- package/dist/ui/src/components/SearchBar.d.ts +0 -26
- package/dist/ui/src/components/Select.d.ts +0 -43
- package/dist/ui/src/components/Separator.d.ts +0 -5
- package/dist/ui/src/components/Sheet.d.ts +0 -22
- package/dist/ui/src/components/Skeleton.d.ts +0 -6
- package/dist/ui/src/components/Slider.d.ts +0 -21
- package/dist/ui/src/components/Table.d.ts +0 -34
- package/dist/ui/src/components/Tabs.d.ts +0 -19
- package/dist/ui/src/components/TextField.d.ts +0 -58
- package/dist/ui/src/components/TextareaAutosize.d.ts +0 -43
- package/dist/ui/src/components/ToggleButtonGroup.d.ts +0 -30
- package/dist/ui/src/components/Tooltip.d.ts +0 -19
- package/dist/ui/src/components/Typography.d.ts +0 -36
- package/dist/ui/src/components/VirtualTable/VirtualTable.d.ts +0 -11
- package/dist/ui/src/components/VirtualTable/VirtualTableCell.d.ts +0 -21
- package/dist/ui/src/components/VirtualTable/VirtualTableHeader.d.ts +0 -29
- package/dist/ui/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +0 -2
- package/dist/ui/src/components/VirtualTable/VirtualTableProps.d.ts +0 -249
- package/dist/ui/src/components/VirtualTable/VirtualTableRow.d.ts +0 -3
- package/dist/ui/src/components/VirtualTable/index.d.ts +0 -3
- package/dist/ui/src/components/VirtualTable/types.d.ts +0 -38
- package/dist/ui/src/components/common/SelectInputLabel.d.ts +0 -5
- package/dist/ui/src/components/index.d.ts +0 -58
- package/dist/ui/src/hooks/PortalContainerContext.d.ts +0 -31
- package/dist/ui/src/hooks/index.d.ts +0 -6
- package/dist/ui/src/hooks/useDebounceCallback.d.ts +0 -1
- package/dist/ui/src/hooks/useDebounceValue.d.ts +0 -1
- package/dist/ui/src/hooks/useDebouncedCallback.d.ts +0 -1
- package/dist/ui/src/hooks/useInjectStyles.d.ts +0 -7
- package/dist/ui/src/hooks/useOutsideAlerter.d.ts +0 -5
- package/dist/ui/src/icons/GitHubIcon.d.ts +0 -2
- package/dist/ui/src/icons/HandleIcon.d.ts +0 -1
- package/dist/ui/src/icons/Icon.d.ts +0 -20
- package/dist/ui/src/icons/cool_icon_keys.d.ts +0 -1
- package/dist/ui/src/icons/icon_keys.d.ts +0 -1
- package/dist/ui/src/icons/index.d.ts +0 -8
- package/dist/ui/src/index.d.ts +0 -5
- package/dist/ui/src/styles.d.ts +0 -12
- package/dist/ui/src/util/chip_colors.d.ts +0 -4
- package/dist/ui/src/util/cls.d.ts +0 -2
- package/dist/ui/src/util/debounce.d.ts +0 -10
- package/dist/ui/src/util/hash.d.ts +0 -1
- package/dist/ui/src/util/index.d.ts +0 -4
- package/dist/ui/src/util/key_to_icon_component.d.ts +0 -1
- package/src/components/SchemaVisualizer/index.ts +0 -5
- package/src/utils/entities.ts +0 -2
- /package/dist/{studio/src/components → components}/ApiExplorer/parseSpec.d.ts +0 -0
- /package/dist/{studio/src/components → components}/ApiExplorer/types.d.ts +0 -0
- /package/dist/{studio/src/components → components}/RLSEditor/index.d.ts +0 -0
- /package/dist/{studio/src/components → components}/RebaseStudio.d.ts +0 -0
- /package/dist/{studio/src/components → components}/SQLEditor/ExplainVisualizer.d.ts +0 -0
- /package/dist/{studio/src/components → components}/SchemaVisualizer/useSchemaGraph.d.ts +0 -0
- /package/dist/{studio/src/index.d.ts → index.d.ts} +0 -0
- /package/dist/{studio/src/utils → utils}/sql_utils.d.ts +0 -0
|
@@ -4,7 +4,7 @@ import { Card, cls, Container, Typography } from "@rebasepro/ui";
|
|
|
4
4
|
import { ArrowRightIcon, iconSize } from "@rebasepro/ui";
|
|
5
5
|
import { IconForView, useRebaseContext, useRestoreScroll, useSlot } from "@rebasepro/core";
|
|
6
6
|
import { useNavigate } from "react-router-dom";
|
|
7
|
-
import { useStudioBreadcrumbs,
|
|
7
|
+
import { useStudioBreadcrumbs, SchemaDriftBanner } from "@rebasepro/core";
|
|
8
8
|
|
|
9
9
|
/* ═══════════════════════════════════════════════════════════════
|
|
10
10
|
Static studio tool definitions
|
|
@@ -30,12 +30,30 @@ const SECTIONS: StudioSection[] = [
|
|
|
30
30
|
dotColor: "bg-emerald-400",
|
|
31
31
|
iconColor: "text-emerald-400",
|
|
32
32
|
tools: [
|
|
33
|
-
{ path: "/schema",
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{ path: "/
|
|
38
|
-
|
|
33
|
+
{ path: "/schema",
|
|
34
|
+
name: "Collections",
|
|
35
|
+
description: "Define and manage your data model and collection schemas",
|
|
36
|
+
icon: "LayoutList" },
|
|
37
|
+
{ path: "/schema-visualizer",
|
|
38
|
+
name: "Schema Visualizer",
|
|
39
|
+
description: "Interactive ERD showing tables, columns, and relationships",
|
|
40
|
+
icon: "Network" },
|
|
41
|
+
{ path: "/sql",
|
|
42
|
+
name: "SQL Console",
|
|
43
|
+
description: "Execute raw SQL queries directly against your database",
|
|
44
|
+
icon: "terminal" },
|
|
45
|
+
{ path: "/branches",
|
|
46
|
+
name: "Branches",
|
|
47
|
+
description: "Create and manage isolated database copies for development",
|
|
48
|
+
icon: "GitBranch" },
|
|
49
|
+
{ path: "/rls",
|
|
50
|
+
name: "RLS Policies",
|
|
51
|
+
description: "Configure Row Level Security for fine-grained data access",
|
|
52
|
+
icon: "ShieldCheck" },
|
|
53
|
+
{ path: "/logs",
|
|
54
|
+
name: "Logs Explorer",
|
|
55
|
+
description: "Real-time system, query, and authentication logs",
|
|
56
|
+
icon: "Activity" }
|
|
39
57
|
]
|
|
40
58
|
},
|
|
41
59
|
{
|
|
@@ -43,8 +61,14 @@ const SECTIONS: StudioSection[] = [
|
|
|
43
61
|
dotColor: "bg-blue-400",
|
|
44
62
|
iconColor: "text-blue-400",
|
|
45
63
|
tools: [
|
|
46
|
-
{ path: "/js",
|
|
47
|
-
|
|
64
|
+
{ path: "/js",
|
|
65
|
+
name: "JS Console",
|
|
66
|
+
description: "Run JavaScript with the Rebase SDK in a live sandbox",
|
|
67
|
+
icon: "code" },
|
|
68
|
+
{ path: "/cron",
|
|
69
|
+
name: "Cron Jobs",
|
|
70
|
+
description: "Monitor and manage scheduled background tasks",
|
|
71
|
+
icon: "Clock" }
|
|
48
72
|
]
|
|
49
73
|
},
|
|
50
74
|
{
|
|
@@ -52,7 +76,10 @@ const SECTIONS: StudioSection[] = [
|
|
|
52
76
|
dotColor: "bg-violet-400",
|
|
53
77
|
iconColor: "text-violet-400",
|
|
54
78
|
tools: [
|
|
55
|
-
{ path: "/api",
|
|
79
|
+
{ path: "/api",
|
|
80
|
+
name: "API Explorer",
|
|
81
|
+
description: "Interactive API documentation with live request testing",
|
|
82
|
+
icon: "BookOpen" }
|
|
56
83
|
]
|
|
57
84
|
},
|
|
58
85
|
{
|
|
@@ -60,7 +87,10 @@ const SECTIONS: StudioSection[] = [
|
|
|
60
87
|
dotColor: "bg-amber-400",
|
|
61
88
|
iconColor: "text-amber-400",
|
|
62
89
|
tools: [
|
|
63
|
-
{ path: "/storage",
|
|
90
|
+
{ path: "/storage",
|
|
91
|
+
name: "Storage",
|
|
92
|
+
description: "Browse, upload, and manage files in your storage bucket",
|
|
93
|
+
icon: "HardDrive" }
|
|
64
94
|
]
|
|
65
95
|
},
|
|
66
96
|
{
|
|
@@ -68,8 +98,14 @@ const SECTIONS: StudioSection[] = [
|
|
|
68
98
|
dotColor: "bg-rose-400",
|
|
69
99
|
iconColor: "text-rose-400",
|
|
70
100
|
tools: [
|
|
71
|
-
{ path: "/users",
|
|
72
|
-
|
|
101
|
+
{ path: "/users",
|
|
102
|
+
name: "Users",
|
|
103
|
+
description: "Manage developers and assign roles in your workspace",
|
|
104
|
+
icon: "group" },
|
|
105
|
+
{ path: "/roles",
|
|
106
|
+
name: "Roles",
|
|
107
|
+
description: "Create and configure fine-grained access permissions",
|
|
108
|
+
icon: "ShieldEllipsis" }
|
|
73
109
|
]
|
|
74
110
|
}
|
|
75
111
|
];
|
|
@@ -106,8 +142,8 @@ export function StudioHomePage({
|
|
|
106
142
|
return (
|
|
107
143
|
<div ref={containerRef} className="py-2 overflow-auto h-full w-full">
|
|
108
144
|
<Container maxWidth="6xl">
|
|
109
|
-
<div className="mb-4">
|
|
110
|
-
<
|
|
145
|
+
<div className="mb-4 flex flex-col gap-2">
|
|
146
|
+
<SchemaDriftBanner />
|
|
111
147
|
</div>
|
|
112
148
|
|
|
113
149
|
{(additionalActions || pluginActions) && (
|
|
@@ -38,10 +38,12 @@ describe("parseOpenApiSpec", () => {
|
|
|
38
38
|
const spec = makeSpec({
|
|
39
39
|
paths: {
|
|
40
40
|
"/api/data/users": {
|
|
41
|
-
get: { tags: ["Users"],
|
|
41
|
+
get: { tags: ["Users"],
|
|
42
|
+
summary: "List users" }
|
|
42
43
|
},
|
|
43
44
|
"/api/data/posts": {
|
|
44
|
-
get: { tags: ["Posts"],
|
|
45
|
+
get: { tags: ["Posts"],
|
|
46
|
+
summary: "List posts" }
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
});
|
|
@@ -67,7 +69,8 @@ describe("parseOpenApiSpec", () => {
|
|
|
67
69
|
const spec = makeSpec({
|
|
68
70
|
paths: {
|
|
69
71
|
"/api/data/users": {
|
|
70
|
-
get: { tags: ["Users"],
|
|
72
|
+
get: { tags: ["Users"],
|
|
73
|
+
summary: "List" }
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
});
|
|
@@ -79,7 +82,8 @@ describe("parseOpenApiSpec", () => {
|
|
|
79
82
|
const spec = makeSpec({
|
|
80
83
|
paths: {
|
|
81
84
|
"/api/data": {
|
|
82
|
-
get: { tags: ["Root"],
|
|
85
|
+
get: { tags: ["Root"],
|
|
86
|
+
summary: "Root" }
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
});
|
|
@@ -91,12 +95,16 @@ describe("parseOpenApiSpec", () => {
|
|
|
91
95
|
const spec = makeSpec({
|
|
92
96
|
paths: {
|
|
93
97
|
"/api/data/users": {
|
|
94
|
-
delete: { tags: ["Users"],
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
delete: { tags: ["Users"],
|
|
99
|
+
summary: "Delete" },
|
|
100
|
+
get: { tags: ["Users"],
|
|
101
|
+
summary: "List" },
|
|
102
|
+
post: { tags: ["Users"],
|
|
103
|
+
summary: "Create" }
|
|
97
104
|
},
|
|
98
105
|
"/api/data/users/{id}": {
|
|
99
|
-
get: { tags: ["Users"],
|
|
106
|
+
get: { tags: ["Users"],
|
|
107
|
+
summary: "Get one" }
|
|
100
108
|
}
|
|
101
109
|
}
|
|
102
110
|
});
|
|
@@ -111,15 +119,19 @@ describe("parseOpenApiSpec", () => {
|
|
|
111
119
|
it("respects tag order from spec.tags", () => {
|
|
112
120
|
const spec = makeSpec({
|
|
113
121
|
tags: [
|
|
114
|
-
{ name: "Posts",
|
|
115
|
-
|
|
122
|
+
{ name: "Posts",
|
|
123
|
+
description: "Blog posts" },
|
|
124
|
+
{ name: "Users",
|
|
125
|
+
description: "User management" }
|
|
116
126
|
],
|
|
117
127
|
paths: {
|
|
118
128
|
"/api/data/users": {
|
|
119
|
-
get: { tags: ["Users"],
|
|
129
|
+
get: { tags: ["Users"],
|
|
130
|
+
summary: "List users" }
|
|
120
131
|
},
|
|
121
132
|
"/api/data/posts": {
|
|
122
|
-
get: { tags: ["Posts"],
|
|
133
|
+
get: { tags: ["Posts"],
|
|
134
|
+
summary: "List posts" }
|
|
123
135
|
}
|
|
124
136
|
}
|
|
125
137
|
});
|
|
@@ -131,11 +143,13 @@ describe("parseOpenApiSpec", () => {
|
|
|
131
143
|
it("includes tag descriptions from spec.tags", () => {
|
|
132
144
|
const spec = makeSpec({
|
|
133
145
|
tags: [
|
|
134
|
-
{ name: "Users",
|
|
146
|
+
{ name: "Users",
|
|
147
|
+
description: "User management endpoints" }
|
|
135
148
|
],
|
|
136
149
|
paths: {
|
|
137
150
|
"/api/data/users": {
|
|
138
|
-
get: { tags: ["Users"],
|
|
151
|
+
get: { tags: ["Users"],
|
|
152
|
+
summary: "List" }
|
|
139
153
|
}
|
|
140
154
|
}
|
|
141
155
|
});
|
|
@@ -144,7 +158,9 @@ describe("parseOpenApiSpec", () => {
|
|
|
144
158
|
});
|
|
145
159
|
|
|
146
160
|
it("extracts parameters and requestBody", () => {
|
|
147
|
-
const params = [{ name: "id",
|
|
161
|
+
const params = [{ name: "id",
|
|
162
|
+
in: "path",
|
|
163
|
+
required: true }];
|
|
148
164
|
const requestBody = { content: { "application/json": { schema: {} } } };
|
|
149
165
|
const spec = makeSpec({
|
|
150
166
|
paths: {
|
|
@@ -166,8 +182,10 @@ describe("parseOpenApiSpec", () => {
|
|
|
166
182
|
const spec = makeSpec({
|
|
167
183
|
paths: {
|
|
168
184
|
"/api/data/users": {
|
|
169
|
-
get: { tags: ["Users"],
|
|
170
|
-
|
|
185
|
+
get: { tags: ["Users"],
|
|
186
|
+
summary: "List" },
|
|
187
|
+
post: { tags: ["Users"],
|
|
188
|
+
summary: "Create" }
|
|
171
189
|
}
|
|
172
190
|
}
|
|
173
191
|
});
|
|
@@ -181,8 +199,10 @@ describe("parseOpenApiSpec", () => {
|
|
|
181
199
|
const spec = makeSpec({
|
|
182
200
|
paths: {
|
|
183
201
|
"/api/data/users": {
|
|
184
|
-
get: { tags: ["Users"],
|
|
185
|
-
|
|
202
|
+
get: { tags: ["Users"],
|
|
203
|
+
summary: "List" },
|
|
204
|
+
options: { tags: ["Users"],
|
|
205
|
+
summary: "Options" },
|
|
186
206
|
parameters: [{ name: "test" }] as unknown as Record<string, unknown>
|
|
187
207
|
} as unknown as Record<string, never>
|
|
188
208
|
}
|
|
@@ -245,7 +265,8 @@ describe("resolveRef", () => {
|
|
|
245
265
|
const spec = makeSpec({
|
|
246
266
|
components: {
|
|
247
267
|
schemas: {
|
|
248
|
-
Author: { type: "object",
|
|
268
|
+
Author: { type: "object",
|
|
269
|
+
properties: { name: { type: "string" } } }
|
|
249
270
|
}
|
|
250
271
|
}
|
|
251
272
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityCollection, Property, StringProperty, NumberProperty, ArrayProperty, TableColumnInfo, TableMetadata } from "@rebasepro/types";
|
|
1
|
+
import type { EntityCollection, Property, StringProperty, NumberProperty, ArrayProperty, TableColumnInfo, TableMetadata, SecurityOperation, SecurityRule } from "@rebasepro/types";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Maps a PostgreSQL column data type to a Rebase property type.
|
|
@@ -212,13 +212,7 @@ export function buildCollectionFromTableMetadata(
|
|
|
212
212
|
localKey?: string;
|
|
213
213
|
through?: { table: string; sourceColumn: string; targetColumn: string };
|
|
214
214
|
}> = [];
|
|
215
|
-
const securityRules:
|
|
216
|
-
name: string;
|
|
217
|
-
operations: string[];
|
|
218
|
-
roles: string[];
|
|
219
|
-
qual: string | null | undefined;
|
|
220
|
-
with_check: string | null | undefined;
|
|
221
|
-
}> = [];
|
|
215
|
+
const securityRules: SecurityRule[] = [];
|
|
222
216
|
|
|
223
217
|
// Parse columns
|
|
224
218
|
for (const column of metadata.columns) {
|
|
@@ -271,22 +265,31 @@ export function buildCollectionFromTableMetadata(
|
|
|
271
265
|
for (const policy of metadata.policies) {
|
|
272
266
|
// Attempt to map typical cmds to operations.
|
|
273
267
|
// Postgres cmd: SELECT, INSERT, UPDATE, DELETE, ALL
|
|
274
|
-
let operations:
|
|
268
|
+
let operations: SecurityOperation[] = [];
|
|
275
269
|
switch (policy.cmd) {
|
|
276
|
-
case "ALL": operations = ["
|
|
277
|
-
case "SELECT": operations = ["
|
|
278
|
-
case "INSERT": operations = ["
|
|
270
|
+
case "ALL": operations = ["all"]; break;
|
|
271
|
+
case "SELECT": operations = ["select"]; break;
|
|
272
|
+
case "INSERT": operations = ["insert"]; break;
|
|
279
273
|
case "UPDATE": operations = ["update"]; break;
|
|
280
274
|
case "DELETE": operations = ["delete"]; break;
|
|
281
275
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
276
|
+
const qual = policy.qual ?? undefined;
|
|
277
|
+
const withCheck = policy.with_check ?? undefined;
|
|
278
|
+
if (qual) {
|
|
279
|
+
securityRules.push({
|
|
280
|
+
name: policy.policy_name,
|
|
281
|
+
operations,
|
|
282
|
+
roles: policy.roles ?? [],
|
|
283
|
+
using: qual,
|
|
284
|
+
...(withCheck ? { withCheck } : {})
|
|
285
|
+
});
|
|
286
|
+
} else {
|
|
287
|
+
securityRules.push({
|
|
288
|
+
name: policy.policy_name,
|
|
289
|
+
operations,
|
|
290
|
+
roles: policy.roles ?? []
|
|
291
|
+
});
|
|
292
|
+
}
|
|
290
293
|
}
|
|
291
294
|
}
|
|
292
295
|
|
package/src/utils/sql_utils.ts
CHANGED
|
@@ -105,7 +105,7 @@ export function resolveQueryCollections(
|
|
|
105
105
|
for (const table of tables) {
|
|
106
106
|
// Match table name against collection table or slug->snake_case
|
|
107
107
|
const matched = collections.find(c => {
|
|
108
|
-
const tableName = (
|
|
108
|
+
const tableName = ("table" in c ? c.table : undefined) || toSnakeCase(c.slug);
|
|
109
109
|
return tableName === table.name;
|
|
110
110
|
});
|
|
111
111
|
|