chore(web): strong typing (#2339)

This commit is contained in:
Rhon Joe 2024-02-01 18:07:26 +08:00 committed by GitHub
parent a84e15b8cc
commit b521aafd26
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 19 additions and 19 deletions

View File

@ -52,7 +52,7 @@ const SettingBuiltInTool: FC<Props> = ({
(async () => {
setIsLoading(true)
try {
const list = await fetchBuiltInToolList(collection.name) as Tool[]
const list = await fetchBuiltInToolList(collection.name)
setTools(list)
const currTool = list.find(tool => tool.name === toolName)
if (currTool) {

View File

@ -381,7 +381,7 @@ const Configuration: FC = () => {
useEffect(() => {
(async () => {
const collectionList = await fetchCollectionList() as Collection[]
const collectionList = await fetchCollectionList()
setCollectionList(collectionList)
fetchAppDetail({ url: '/apps', id: appId }).then(async (res: any) => {
setMode(res.mode)

View File

@ -83,7 +83,7 @@ const EditCustomCollectionModal: FC<Props> = ({
(async () => {
const customCollection = getCustomCollection()
try {
const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema) as any
const { parameters_schema, schema_type } = await parseParamsSchema(debouncedSchema)
const newCollection = produce(customCollection, (draft) => {
draft.schema_type = schema_type
})

View File

@ -43,7 +43,7 @@ const Tools: FC<Props> = ({
const [isDetailLoading, setIsDetailLoading] = useState(false)
const fetchCollectionList = async () => {
const list = await doFetchCollectionList() as Collection[]
const list = await doFetchCollectionList()
setCollectionList(list)
if (list.length > 0 && currCollectionIndex === null) {
let index = 0
@ -103,11 +103,11 @@ const Tools: FC<Props> = ({
setIsDetailLoading(true)
try {
if (currCollection.type === CollectionType.builtIn) {
const list = await fetchBuiltInToolList(currCollection.name) as Tool[]
const list = await fetchBuiltInToolList(currCollection.name)
setCurrentTools(list)
}
else {
const list = await fetchCustomToolList(currCollection.name) as Tool[]
const list = await fetchCustomToolList(currCollection.name)
setCurrentTools(list)
}
}

View File

@ -29,7 +29,7 @@ const ConfigCredential: FC<Props> = ({
const { team_credentials: credentialValue, name: collectionName } = collection
useEffect(() => {
fetchBuiltInToolCredentialSchema(collectionName).then((res) => {
setCredentialSchema(toolCredentialToFormSchemas(res as any))
setCredentialSchema(toolCredentialToFormSchemas(res))
})
}, [])
const [tempCredential, setTempCredential] = React.useState<any>(credentialValue)

View File

@ -52,11 +52,11 @@ const ToolList: FC<Props> = ({
return
(async () => {
if (collection.type === CollectionType.custom) {
const res = await fetchCustomCollection(collection.name) as any
const res = await fetchCustomCollection(collection.name)
setCustomCollection({
...res,
provider: collection.name,
} as CustomCollectionBackend)
})
}
})()
}, [collection])

View File

@ -2,13 +2,13 @@ import { get } from './base'
import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type'
export const fetchCurrentPlanInfo = () => {
return get<Promise<CurrentPlanInfoBackend>>('/features')
return get<CurrentPlanInfoBackend>('/features')
}
export const fetchSubscriptionUrls = (plan: string, interval: string) => {
return get<Promise<SubscriptionUrlsBackend>>(`/billing/subscription?plan=${plan}&interval=${interval}`)
return get<SubscriptionUrlsBackend>(`/billing/subscription?plan=${plan}&interval=${interval}`)
}
export const fetchBillingUrl = () => {
return get<Promise<{ url: string }>>('/billing/invoices')
return get<{ url: string }>('/billing/invoices')
}

View File

@ -1,19 +1,19 @@
import { get, post } from './base'
import type { CustomCollectionBackend } from '@/app/components/tools/types'
import type { Collection, CustomCollectionBackend, CustomParamSchema, Tool, ToolCredential } from '@/app/components/tools/types'
export const fetchCollectionList = () => {
return get('/workspaces/current/tool-providers')
return get<Collection[]>('/workspaces/current/tool-providers')
}
export const fetchBuiltInToolList = (collectionName: string) => {
return get(`/workspaces/current/tool-provider/builtin/${collectionName}/tools`)
return get<Tool[]>(`/workspaces/current/tool-provider/builtin/${collectionName}/tools`)
}
export const fetchCustomToolList = (collectionName: string) => {
return get(`/workspaces/current/tool-provider/api/tools?provider=${collectionName}`)
return get<Tool[]>(`/workspaces/current/tool-provider/api/tools?provider=${collectionName}`)
}
export const fetchBuiltInToolCredentialSchema = (collectionName: string) => {
return get(`/workspaces/current/tool-provider/builtin/${collectionName}/credentials_schema`)
return get<ToolCredential[]>(`/workspaces/current/tool-provider/builtin/${collectionName}/credentials_schema`)
}
export const updateBuiltInToolCredential = (collectionName: string, credential: Record<string, any>) => {
@ -31,7 +31,7 @@ export const removeBuiltInToolCredential = (collectionName: string) => {
}
export const parseParamsSchema = (schema: string) => {
return post('/workspaces/current/tool-provider/api/schema', {
return post<{ parameters_schema: CustomParamSchema[]; schema_type: string }>('/workspaces/current/tool-provider/api/schema', {
body: {
schema,
},
@ -39,7 +39,7 @@ export const parseParamsSchema = (schema: string) => {
}
export const fetchCustomCollection = (collectionName: string) => {
return get(`/workspaces/current/tool-provider/api/get?provider=${collectionName}`)
return get<CustomCollectionBackend>(`/workspaces/current/tool-provider/api/get?provider=${collectionName}`)
}
export const createCustomCollection = (collection: CustomCollectionBackend) => {