Skip to content

Commit 39900f3

Browse files
committed
Using live list of connectors to build message doc types
1 parent 6510de4 commit 39900f3

5 files changed

Lines changed: 32 additions & 9 deletions

File tree

src/components/MessageDocsJsonSchemaSearchNav.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import { reactive, ref, onBeforeMount, inject, watch } from 'vue'
3030
import { Search } from '@element-plus/icons-vue'
3131
import { useRoute } from 'vue-router'
3232
import { SEARCH_LINKS_COLOR as searchLinksColorSetting } from '../obp/style-setting'
33-
import { connectors } from '../obp/message-docs'
3433
import { obpGroupedMessageDocsJsonSchemaKey } from '@/obp/keys'
3534
36-
let connector = connectors[0]
3735
const route = useRoute()
3836
const groupedMessageDocsJsonSchema = ref(inject(obpGroupedMessageDocsJsonSchemaKey) || {})
37+
const connectors = Object.keys(groupedMessageDocsJsonSchema.value)
38+
let connector = connectors[0]
3939
const docs = ref({})
4040
const groups = ref({})
4141
const sortedKeys = ref([])

src/components/MessageDocsSearchNav.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ import { reactive, ref, onBeforeMount, inject, watch } from 'vue'
3030
import { Search } from '@element-plus/icons-vue'
3131
import { useRoute } from 'vue-router'
3232
import { SEARCH_LINKS_COLOR as searchLinksColorSetting } from '../obp/style-setting'
33-
import { connectors } from '../obp/message-docs'
3433
import { obpGroupedMessageDocsKey } from '@/obp/keys'
3534
36-
let connector = connectors[0]
3735
const route = useRoute()
3836
const groupedMessageDocs = ref(inject(obpGroupedMessageDocsKey) || {})
37+
const connectors = Object.keys(groupedMessageDocs.value)
38+
let connector = connectors[0]
3939
const docs = ref({})
4040
const groups = ref({})
4141
const sortedKeys = ref([])

src/obp/message-docs.ts

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,34 @@
2828
import { OBP_API_VERSION, get, isServerUp } from '../obp'
2929
import { updateLoadingInfoMessage } from './common-functions'
3030

31-
export const connectors = [
31+
// Connectors to exclude from message docs display
32+
const excludedConnectors = ['mapped', 'star', 'proxy', 'internal', 'cardano', 'ethereum']
33+
34+
// Fallback list in case the API endpoint is unavailable
35+
const fallbackConnectors = [
3236
'akka_vDec2018',
3337
'rest_vMar2019',
3438
'stored_procedure_vDec2019',
3539
'rabbitmq_vOct2024'
3640
]
3741

42+
// Fetch available connectors dynamically from the API
43+
export async function getConnectors(): Promise<string[]> {
44+
try {
45+
const data = await get('obp/v6.0.0/system/connectors')
46+
if (data && data.connectors && Array.isArray(data.connectors)) {
47+
const connectorNames = data.connectors
48+
.map((c: any) => c.connector_name)
49+
.filter((name: string) => !excludedConnectors.some(exc => name === exc || name.startsWith(exc + '_')))
50+
console.log('Fetched connectors from API:', connectorNames)
51+
return connectorNames
52+
}
53+
} catch (error) {
54+
console.warn('Failed to fetch connectors from API, using fallback list:', error)
55+
}
56+
return fallbackConnectors
57+
}
58+
3859
// Get Message Docs
3960
export async function getOBPMessageDocs(item: string): Promise<any> {
4061
const logMessage = `Loading message docs { connector: ${item} }`
@@ -131,6 +152,7 @@ export function getGroupedMessageDocsJsonSchema(docs: any): any {
131152
}
132153

133154
export async function cacheDoc(cacheStorageOfMessageDocs: any): Promise<any> {
155+
const connectors = await getConnectors()
134156
const messageDocs = await connectors.reduce(async (agroup: any, connector: any) => {
135157
const logMessage = `Caching message docs { connector: ${connector} }`
136158
console.log(logMessage)
@@ -151,6 +173,7 @@ async function getCacheDoc(cacheStorageOfMessageDocs: any): Promise<any> {
151173
}
152174

153175
export async function cacheDocJsonSchema(cacheStorageOfMessageDocsJsonSchema: any): Promise<any> {
176+
const connectors = await getConnectors()
154177
const messageDocsJsonSchema = await connectors.reduce(async (agroup: any, connector: any) => {
155178
const logMessage = `Caching message docs JSON schema { connector: ${connector} }`
156179
console.log(logMessage)

src/views/MessageDocsJsonSchemaView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
import { ref, onBeforeMount, inject, watch, onMounted, nextTick } from 'vue'
3030
import { useRoute } from 'vue-router'
3131
import SearchNav from '../components/MessageDocsJsonSchemaSearchNav.vue'
32-
import { connectors } from '../obp/message-docs'
3332
import { obpGroupedMessageDocsJsonSchemaKey } from '@/obp/keys'
3433
import JsonSchemaViewer from '../components/JsonSchemaViewer.vue'
3534
36-
let connector = connectors[0]
3735
const route = useRoute()
3836
const groupedMessageDocsJsonSchema = ref(inject(obpGroupedMessageDocsJsonSchemaKey) || {})
37+
const connectors = Object.keys(groupedMessageDocsJsonSchema.value)
38+
let connector = connectors[0]
3939
const messageDocsJsonSchema = ref(null as any)
4040
const definitions = ref(null as any)
4141
const definitionsPanelScrollbar = ref(null as any)

src/views/MessageDocsView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
import { reactive, ref, onBeforeMount, onMounted, inject, watch } from 'vue'
3030
import { useRoute } from 'vue-router'
3131
import SearchNav from '../components/MessageDocsSearchNav.vue'
32-
import { connectors } from '../obp/message-docs'
3332
import { obpGroupedMessageDocsKey } from '@/obp/keys';
3433
import MessageDocsSearchNav from '../components/MessageDocsSearchNav.vue';
3534
import CodeBlock from '../components/CodeBlock.vue';
3635
37-
let connector = connectors[0]
3836
const route = useRoute()
3937
const groupedMessageDocs = ref(inject(obpGroupedMessageDocsKey) || {})
38+
const connectors = Object.keys(groupedMessageDocs.value)
39+
let connector = connectors[0]
4040
const messageDocs = ref(null as any)
4141
4242
const activeNames = ref(['1', '2', '3', '4', '5', '6'])

0 commit comments

Comments
 (0)