11import { Property , Validators } from '@openops/blocks-framework' ;
2- import {
3- getTablesServerContext ,
4- resolveTokenProvider ,
5- TablesServerContext ,
6- } from './context-helpers' ;
2+ import { resolveTokenProvider , TablesServerContext } from './context-helpers' ;
73import {
84 DateOpenOpsField ,
95 DurationOpenOpsField ,
@@ -21,71 +17,17 @@ export function openopsTablesDropdownProperty(): any {
2117 refreshers : [ ] ,
2218 required : true ,
2319 options : async ( _ , { server } ) => {
24- try {
25- if ( ! server ) {
26- return {
27- disabled : true ,
28- options : [ ] ,
29- placeholder : 'Server context is not available' ,
30- } ;
31- }
32-
33- const tablesServerContext = getTablesServerContext ( server ) ;
34-
35- if (
36- tablesServerContext . tablesDatabaseId === undefined ||
37- tablesServerContext . tablesDatabaseId === null
38- ) {
39- return {
40- disabled : true ,
41- options : [ ] ,
42- placeholder : 'Tables database ID is missing' ,
43- } ;
44- }
20+ const tables = await getTableNames ( server ) ;
4521
46- if (
47- tablesServerContext . tablesDatabaseToken === undefined ||
48- tablesServerContext . tablesDatabaseToken === null
49- ) {
22+ return {
23+ disabled : false ,
24+ options : tables . map ( ( t ) => {
5025 return {
51- disabled : true ,
52- options : [ ] ,
53- placeholder : 'Tables database token is missing' ,
26+ label : t ,
27+ value : t ,
5428 } ;
55- }
56-
57- const tables = await getTableNames ( tablesServerContext ) ;
58-
59- return {
60- disabled : false ,
61- options : tables . map ( ( t ) => {
62- return {
63- label : t ,
64- value : t ,
65- } ;
66- } ) ,
67- } ;
68- } catch ( error ) {
69- const errorMessage =
70- error instanceof Error ? error . message : 'Unknown error' ;
71-
72- // Provide a more specific error message for encryption key issues
73- const isEncryptionError =
74- errorMessage . includes ( 'secret' ) ||
75- errorMessage . includes ( 'null' ) ||
76- errorMessage . includes ( 'undefined' ) ;
77-
78- const placeholder = isEncryptionError
79- ? 'Encryption key not configured. Please check OPS_ENCRYPTION_KEY environment variable.'
80- : 'Failed to fetch tables' ;
81-
82- return {
83- disabled : true ,
84- options : [ ] ,
85- placeholder,
86- error : errorMessage ,
87- } ;
88- }
29+ } ) ,
30+ } ;
8931 } ,
9032 } ) ;
9133}
0 commit comments