File tree Expand file tree Collapse file tree
packages/openops/src/lib/openops-tables Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import { Property , Validators } from '@openops/blocks-framework' ;
2- import { resolveTokenProvider , TablesServerContext } from './context-helpers' ;
2+ import {
3+ getTablesServerContext ,
4+ resolveTokenProvider ,
5+ TablesServerContext ,
6+ } from './context-helpers' ;
37import {
48 DateOpenOpsField ,
59 DurationOpenOpsField ,
@@ -17,17 +21,47 @@ export function openopsTablesDropdownProperty(): any {
1721 refreshers : [ ] ,
1822 required : true ,
1923 options : async ( _ , { server } ) => {
20- const tables = await getTableNames ( server ) ;
24+ try {
25+ if ( ! server ) {
26+ return {
27+ disabled : true ,
28+ options : [ ] ,
29+ placeholder : 'Server context is not available' ,
30+ } ;
31+ }
2132
22- return {
23- disabled : false ,
24- options : tables . map ( ( t ) => {
33+ const tablesServerContext = getTablesServerContext ( server ) ;
34+
35+ if (
36+ ! tablesServerContext . tablesDatabaseId ||
37+ ! tablesServerContext . tablesDatabaseToken
38+ ) {
2539 return {
26- label : t ,
27- value : t ,
40+ disabled : true ,
41+ options : [ ] ,
42+ placeholder : 'Tables database configuration is missing' ,
2843 } ;
29- } ) ,
30- } ;
44+ }
45+
46+ const tables = await getTableNames ( tablesServerContext ) ;
47+
48+ return {
49+ disabled : false ,
50+ options : tables . map ( ( t ) => {
51+ return {
52+ label : t ,
53+ value : t ,
54+ } ;
55+ } ) ,
56+ } ;
57+ } catch ( error ) {
58+ return {
59+ disabled : true ,
60+ options : [ ] ,
61+ placeholder : 'Failed to fetch tables' ,
62+ error : error instanceof Error ? error . message : 'Unknown error' ,
63+ } ;
64+ }
3165 } ,
3266 } ) ;
3367}
You can’t perform that action at this time.
0 commit comments