Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7416faa

Browse files
author
FalkWolsky
committed
Adding SerpAPI Google Search
1 parentca5d1e2 commit7416faa

File tree

5 files changed

+460
-269
lines changed

5 files changed

+460
-269
lines changed

‎server/node-service/src/plugins/index.ts‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import supabaseApiPlugin from "./supabaseApi";
4141
importfirebirdsqlPluginfrom"./firebirdsql";
4242
importapiTemplatePluginfrom"./apiTemplate";
4343
importuiPathPluginfrom"./uiPath";
44+
importserpApiPluginfrom"./serpApi"
4445
// import boomiPlugin from "./boomi";
4546

4647
letplugins:(DataSourcePlugin|DataSourcePluginFactory)[]=[
@@ -109,6 +110,9 @@ let plugins: (DataSourcePlugin | DataSourcePluginFactory)[] = [
109110
stripePlugin,
110111
shopifyPlugin,
111112
wooCommercePlugin,
113+
114+
// Webscrapers
115+
serpApiPlugin
112116
];
113117

114118
try{
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import_from"lodash";
2+
import{OpenAPIV3,OpenAPI}from"openapi-types";
3+
import{ConfigToType,DataSourcePlugin}from"lowcoder-sdk/dataSource";
4+
import{runOpenApi}from"../openApi";
5+
import{parseOpenApi,ParseOpenApiOptions}from"../openApi/parse";
6+
7+
importspecfrom'./serpApi.search.spec.json';
8+
9+
constdataSourceConfig={
10+
type:"dataSource",
11+
params:[
12+
{
13+
"type":"groupTitle",
14+
"key":"apikey-query-api_key",
15+
"label":"Api Key Auth"
16+
},
17+
{
18+
"type":"password",
19+
"key":"apikey-query-api_key.value",
20+
"label":"api_key"
21+
}
22+
]
23+
}asconst;
24+
25+
constparseOptions:ParseOpenApiOptions={
26+
actionLabel:(method:string,path:string,operation:OpenAPI.Operation)=>{
27+
return_.upperFirst(operation.operationId||"");
28+
},
29+
};
30+
31+
typeDataSourceConfigType=ConfigToType<typeofdataSourceConfig>;
32+
33+
constserpApiPlugin:DataSourcePlugin<any,DataSourceConfigType>={
34+
id:"serpApi",
35+
name:"serpApi",
36+
icon:"serpApi.svg",
37+
category:"Webscrapers",
38+
dataSourceConfig,
39+
queryConfig:async()=>{
40+
const{ actions, categories}=awaitparseOpenApi(specasOpenAPI.Document,parseOptions);
41+
return{
42+
type:"query",
43+
label:"Action",
44+
categories:{
45+
label:"Resources",
46+
items:categories,
47+
},
48+
actions,
49+
};
50+
},
51+
run:function(actionData,dataSourceConfig):Promise<any>{
52+
construnApiDsConfig={
53+
url:"",
54+
serverURL:"https://serpapi.com",
55+
dynamicParamsConfig:dataSourceConfig,
56+
};
57+
returnrunOpenApi(actionData,runApiDsConfig,specasOpenAPIV3.Document);
58+
},
59+
};
60+
61+
exportdefaultserpApiPlugin;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp