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 () => { (async () => {
setIsLoading(true) setIsLoading(true)
try { try {
const list = await fetchBuiltInToolList(collection.name) as Tool[] const list = await fetchBuiltInToolList(collection.name)
setTools(list) setTools(list)
const currTool = list.find(tool => tool.name === toolName) const currTool = list.find(tool => tool.name === toolName)
if (currTool) { if (currTool) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,13 +2,13 @@ import { get } from './base'
import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type' import type { CurrentPlanInfoBackend, SubscriptionUrlsBackend } from '@/app/components/billing/type'
export const fetchCurrentPlanInfo = () => { export const fetchCurrentPlanInfo = () => {
return get<Promise<CurrentPlanInfoBackend>>('/features') return get<CurrentPlanInfoBackend>('/features')
} }
export const fetchSubscriptionUrls = (plan: string, interval: string) => { 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 = () => { 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 { 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 = () => { export const fetchCollectionList = () => {
return get('/workspaces/current/tool-providers') return get<Collection[]>('/workspaces/current/tool-providers')
} }
export const fetchBuiltInToolList = (collectionName: string) => { 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) => { 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) => { 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>) => { export const updateBuiltInToolCredential = (collectionName: string, credential: Record<string, any>) => {
@ -31,7 +31,7 @@ export const removeBuiltInToolCredential = (collectionName: string) => {
} }
export const parseParamsSchema = (schema: 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: { body: {
schema, schema,
}, },
@ -39,7 +39,7 @@ export const parseParamsSchema = (schema: string) => {
} }
export const fetchCustomCollection = (collectionName: 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) => { export const createCustomCollection = (collection: CustomCollectionBackend) => {