n8n-nodes-hypebridge-actors 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/credentials/ApifyApi.credentials.js +1 -1
- package/dist/credentials/ApifyOAuth2Api.credentials.js +1 -1
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.d.ts +13 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.js +88 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.js.map +1 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.json +23 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.properties.d.ts +4 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.properties.js +256 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.properties.js.map +1 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/executeActor.d.ts +5 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/executeActor.js +68 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/executeActor.js.map +1 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/genericFunctions.d.ts +10 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/genericFunctions.js +90 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/helpers/genericFunctions.js.map +1 -0
- package/dist/nodes/ApifyEventenyVendorMarketDirectory/logo.svg +4 -0
- package/dist/nodes/ApifyFindEvents/ApifyFindEvents.node.js +2 -2
- package/dist/nodes/ApifyFindEvents/ApifyFindEvents.node.js.map +1 -1
- package/dist/nodes/ApifyFindEvents/ApifyFindEvents.properties.js +33 -38
- package/dist/nodes/ApifyFindEvents/ApifyFindEvents.properties.js.map +1 -1
- package/dist/nodes/ApifyFindEvents/logo.svg +3 -0
- package/dist/nodes/ApifyInfluencerDiscoveryAgentInstagramTiktok/ApifyInfluencerDiscoveryAgentInstagramTiktok.properties.js +3 -2
- package/dist/nodes/ApifyInfluencerDiscoveryAgentInstagramTiktok/ApifyInfluencerDiscoveryAgentInstagramTiktok.properties.js.map +1 -1
- package/dist/nodes/ApifyPartifulEventsScraper/ApifyPartifulEventsScraper.node.js +1 -1
- package/dist/nodes/ApifyPartifulEventsScraper/logo.svg +3 -0
- package/dist/nodes/ApifyShowpassEventScraper/ApifyShowpassEventScraper.node.js +1 -1
- package/dist/nodes/ApifyShowpassEventScraper/ApifyShowpassEventScraper.node.js.map +1 -1
- package/dist/package.json +4 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -2
- package/dist/nodes/ApifyFindEvents/logo.png +0 -0
- package/dist/nodes/ApifyPartifulEventsScraper/logo.png +0 -0
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ Then restart n8n.
|
|
|
36
36
|
|
|
37
37
|
| Node | Description | Apify Actor |
|
|
38
38
|
|------|-------------|-------------|
|
|
39
|
+
| **Find Events** | Find and normalize local events across all applicable sources | [hypebridge/find-events](https://apify.com/hypebridge/find-events) |
|
|
39
40
|
| **Eventbrite Search** | Scrape Eventbrite search, discovery, and event detail pages | [hypebridge/eventbrite-search](https://apify.com/hypebridge/eventbrite-search) |
|
|
40
41
|
| **Dice.fm** | Scrape concerts, festivals, DJ events, and live shows | [hypebridge/dice-fm](https://apify.com/hypebridge/dice-fm) |
|
|
41
42
|
| **Shotgun Live** | Scrape electronic music, nightlife, and party events worldwide | [hypebridge/shotgun-live](https://apify.com/hypebridge/shotgun-live) |
|
|
@@ -6,7 +6,7 @@ class ApifyApi {
|
|
|
6
6
|
this.name = 'apifyApi';
|
|
7
7
|
this.displayName = 'Apify API';
|
|
8
8
|
this.documentationUrl = 'https://docs.apify.com/platform/integrations/api#api-token';
|
|
9
|
-
this.icon = "file:../nodes/ApifyEventbriteSearch/logo.
|
|
9
|
+
this.icon = "file:../nodes/ApifyEventbriteSearch/logo.svg";
|
|
10
10
|
this.properties = [
|
|
11
11
|
{
|
|
12
12
|
displayName: 'API Key',
|
|
@@ -7,7 +7,7 @@ class ApifyOAuth2Api {
|
|
|
7
7
|
this.name = 'apifyOAuth2Api';
|
|
8
8
|
this.extends = ['oAuth2Api'];
|
|
9
9
|
this.displayName = 'Apify OAuth2 API';
|
|
10
|
-
this.icon = "file:../nodes/ApifyEventbriteSearch/logo.
|
|
10
|
+
this.icon = "file:../nodes/ApifyEventbriteSearch/logo.svg";
|
|
11
11
|
this.documentationUrl = 'https://docs.apify.com/api/v2';
|
|
12
12
|
this.properties = [
|
|
13
13
|
{
|
package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from 'n8n-workflow';
|
|
2
|
+
export declare const ACTOR_ID: string;
|
|
3
|
+
export declare const PACKAGE_NAME: string;
|
|
4
|
+
export declare const CLASS_NAME: string;
|
|
5
|
+
export declare const ClassNameCamel: string;
|
|
6
|
+
export declare const X_PLATFORM_HEADER_ID: string;
|
|
7
|
+
export declare const X_PLATFORM_APP_HEADER_ID: string;
|
|
8
|
+
export declare const DISPLAY_NAME: string;
|
|
9
|
+
export declare const DESCRIPTION: string;
|
|
10
|
+
export declare class ApifyEventenyVendorMarketDirectory implements INodeType {
|
|
11
|
+
description: INodeTypeDescription;
|
|
12
|
+
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
13
|
+
}
|
package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ApifyEventenyVendorMarketDirectory = exports.DESCRIPTION = exports.DISPLAY_NAME = exports.X_PLATFORM_APP_HEADER_ID = exports.X_PLATFORM_HEADER_ID = exports.ClassNameCamel = exports.CLASS_NAME = exports.PACKAGE_NAME = exports.ACTOR_ID = void 0;
|
|
4
|
+
const ApifyEventenyVendorMarketDirectory_properties_1 = require("./ApifyEventenyVendorMarketDirectory.properties");
|
|
5
|
+
const executeActor_1 = require("./helpers/executeActor");
|
|
6
|
+
exports.ACTOR_ID = 'r2s0hWJVbB7M0JPxj';
|
|
7
|
+
exports.PACKAGE_NAME = 'n8n-nodes-hypebridge-actors';
|
|
8
|
+
exports.CLASS_NAME = 'ApifyEventenyVendorMarketDirectory';
|
|
9
|
+
exports.ClassNameCamel = 'apifyEventenyVendorMarketDirectory';
|
|
10
|
+
exports.X_PLATFORM_HEADER_ID = 'n8n';
|
|
11
|
+
exports.X_PLATFORM_APP_HEADER_ID = 'r2s0hWJVbB7M0JPxj';
|
|
12
|
+
exports.DISPLAY_NAME = 'Eventeny Vendor & Market Directory Scraper';
|
|
13
|
+
exports.DESCRIPTION = 'Extracts public Eventeny events, vendor and exhibitor applications with booth fees and deadlines, ticket tiers, and organizer profiles';
|
|
14
|
+
class ApifyEventenyVendorMarketDirectory {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.description = {
|
|
17
|
+
displayName: exports.DISPLAY_NAME,
|
|
18
|
+
name: exports.ClassNameCamel,
|
|
19
|
+
icon: 'file:logo.svg',
|
|
20
|
+
group: ['transform'],
|
|
21
|
+
version: [1],
|
|
22
|
+
defaultVersion: 1,
|
|
23
|
+
subtitle: 'Run Actor',
|
|
24
|
+
description: exports.DESCRIPTION,
|
|
25
|
+
defaults: {
|
|
26
|
+
name: exports.DISPLAY_NAME,
|
|
27
|
+
},
|
|
28
|
+
inputs: ["main"],
|
|
29
|
+
outputs: ["main"],
|
|
30
|
+
usableAsTool: true,
|
|
31
|
+
credentials: [
|
|
32
|
+
{
|
|
33
|
+
displayName: 'Apify API key connection',
|
|
34
|
+
name: 'apifyApi',
|
|
35
|
+
required: false,
|
|
36
|
+
displayOptions: {
|
|
37
|
+
show: {
|
|
38
|
+
authentication: ['apifyApi'],
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
displayName: 'Apify OAuth2 connection',
|
|
44
|
+
name: 'apifyOAuth2Api',
|
|
45
|
+
required: false,
|
|
46
|
+
displayOptions: {
|
|
47
|
+
show: {
|
|
48
|
+
authentication: ['apifyOAuth2Api'],
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
],
|
|
53
|
+
properties: ApifyEventenyVendorMarketDirectory_properties_1.properties,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
async execute() {
|
|
57
|
+
const items = this.getInputData();
|
|
58
|
+
const returnData = [];
|
|
59
|
+
for (let i = 0; i < items.length; i++) {
|
|
60
|
+
try {
|
|
61
|
+
const data = await executeActor_1.runActor.call(this, i);
|
|
62
|
+
const addPairedItem = (item) => ({
|
|
63
|
+
...item,
|
|
64
|
+
pairedItem: { item: i },
|
|
65
|
+
});
|
|
66
|
+
if (Array.isArray(data)) {
|
|
67
|
+
returnData.push(...data.map(addPairedItem));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
returnData.push(addPairedItem(data));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
if (this.continueOnFail()) {
|
|
75
|
+
returnData.push({
|
|
76
|
+
json: { error: error.message },
|
|
77
|
+
pairedItem: { item: i },
|
|
78
|
+
});
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return [returnData];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.ApifyEventenyVendorMarketDirectory = ApifyEventenyVendorMarketDirectory;
|
|
88
|
+
//# sourceMappingURL=ApifyEventenyVendorMarketDirectory.node.js.map
|
package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApifyEventenyVendorMarketDirectory.node.js","sourceRoot":"","sources":["../../../nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.ts"],"names":[],"mappings":";;;AAOA,mHAA6E;AAC7E,yDAAkD;AAGrC,QAAA,QAAQ,GAAG,mBAA6B,CAAC;AAEzC,QAAA,YAAY,GAAG,6BAAuC,CAAC;AACvD,QAAA,UAAU,GAAG,oCAA8C,CAAC;AAC5D,QAAA,cAAc,GAAG,oCAA8C,CAAC;AAEhE,QAAA,oBAAoB,GAAG,KAAe,CAAC;AACvC,QAAA,wBAAwB,GAAG,mBAA6B,CAAC;AAEzD,QAAA,YAAY,GAAG,4CAAsD,CAAC;AACtE,QAAA,WAAW,GAAG,wIAAkJ,CAAC;AAE9K,MAAa,kCAAkC;IAA/C;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,oBAAY;YACzB,IAAI,EAAE,sBAAc;YAGpB,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,CAAC;YACZ,cAAc,EAAE,CAAC;YAGjB,QAAQ,EAAE,WAAW;YAGrB,WAAW,EAAE,mBAAW;YACxB,QAAQ,EAAE;gBACT,IAAI,EAAE,oBAAY;aAClB;YACD,MAAM,EAAE,QAAyB;YACjC,OAAO,EAAE,QAAyB;YAClC,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE;gBACZ;oBACC,WAAW,EAAE,0BAA0B;oBACvC,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,KAAK;oBACf,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,CAAC,UAAU,CAAC;yBAC5B;qBACD;iBACD;gBACD;oBACC,WAAW,EAAE,yBAAyB;oBACtC,IAAI,EAAE,gBAAgB;oBACtB,QAAQ,EAAE,KAAK;oBACf,cAAc,EAAE;wBACf,IAAI,EAAE;4BACL,cAAc,EAAE,CAAC,gBAAgB,CAAC;yBAClC;qBACD;iBACD;aACD;YAED,UAAU,EAAV,0DAAU;SACV,CAAC;IAkCH,CAAC;IAhCA,KAAK,CAAC,OAAO;QACZ,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,MAAM,UAAU,GAAyB,EAAE,CAAC;QAE5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,uBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE1C,MAAM,aAAa,GAAG,CAAC,IAAwB,EAAE,EAAE,CAAC,CAAC;oBACpD,GAAG,IAAI;oBACP,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;iBACvB,CAAC,CAAC;gBAEH,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACP,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtC,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE;wBAC9B,UAAU,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;qBACvB,CAAC,CAAC;oBACH,SAAS;gBACV,CAAC;gBACD,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AAhFD,gFAgFC"}
|
package/dist/nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.node.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"node": "n8n-nodes-base.apifyEventenyVendorMarketDirectory",
|
|
3
|
+
"nodeVersion": "1.0",
|
|
4
|
+
"codexVersion": "1.0",
|
|
5
|
+
"categories": [
|
|
6
|
+
"Data & Storage",
|
|
7
|
+
"Marketing & Content"
|
|
8
|
+
],
|
|
9
|
+
"resources": {
|
|
10
|
+
"primaryDocumentation": [
|
|
11
|
+
{
|
|
12
|
+
"url": "https://apify.com/hypebridge/eventeny-vendor-market-directory"
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"alias": [
|
|
17
|
+
"eventeny vendor market directory",
|
|
18
|
+
"apify",
|
|
19
|
+
"scraper",
|
|
20
|
+
"automation",
|
|
21
|
+
"hypebridge"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeProperties } from 'n8n-workflow';
|
|
2
|
+
export declare function buildActorInput(context: IExecuteFunctions, itemIndex: number, defaultInput: Record<string, any>): Record<string, any>;
|
|
3
|
+
export declare const actorProperties: INodeProperties[];
|
|
4
|
+
export declare const properties: INodeProperties[];
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.properties = exports.actorProperties = void 0;
|
|
4
|
+
exports.buildActorInput = buildActorInput;
|
|
5
|
+
function getFixedCollectionParam(context, paramName, itemIndex, optionName, transformType) {
|
|
6
|
+
var _a;
|
|
7
|
+
const param = context.getNodeParameter(paramName, itemIndex, {});
|
|
8
|
+
if (!((_a = param === null || param === void 0 ? void 0 : param[optionName]) === null || _a === void 0 ? void 0 : _a.length))
|
|
9
|
+
return {};
|
|
10
|
+
let result = param[optionName];
|
|
11
|
+
if (transformType === 'mapValues') {
|
|
12
|
+
result = result.map((item) => item.value);
|
|
13
|
+
}
|
|
14
|
+
return { [paramName]: result };
|
|
15
|
+
}
|
|
16
|
+
function getOptionalParam(context, paramName, itemIndex) {
|
|
17
|
+
const value = context.getNodeParameter(paramName, itemIndex);
|
|
18
|
+
return value !== undefined && value !== null && value !== '' ? { [paramName]: value } : {};
|
|
19
|
+
}
|
|
20
|
+
function buildActorInput(context, itemIndex, defaultInput) {
|
|
21
|
+
return {
|
|
22
|
+
...defaultInput,
|
|
23
|
+
...getFixedCollectionParam(context, 'startUrls', itemIndex, 'items', 'passthrough'),
|
|
24
|
+
maxItems: context.getNodeParameter('maxItems', itemIndex),
|
|
25
|
+
getDetails: context.getNodeParameter('getDetails', itemIndex),
|
|
26
|
+
...getOptionalParam(context, 'searchQuery', itemIndex),
|
|
27
|
+
applicationType: context.getNodeParameter('applicationType', itemIndex),
|
|
28
|
+
category: context.getNodeParameter('category', itemIndex),
|
|
29
|
+
...getOptionalParam(context, 'month', itemIndex),
|
|
30
|
+
...getOptionalParam(context, 'locationFilter', itemIndex),
|
|
31
|
+
includeTicketTiers: context.getNodeParameter('includeTicketTiers', itemIndex),
|
|
32
|
+
scrapeOrganizers: context.getNodeParameter('scrapeOrganizers', itemIndex),
|
|
33
|
+
maxConcurrency: context.getNodeParameter('maxConcurrency', itemIndex),
|
|
34
|
+
debugMode: context.getNodeParameter('debugMode', itemIndex),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const authenticationProperties = [
|
|
38
|
+
{
|
|
39
|
+
displayName: 'Authentication',
|
|
40
|
+
name: 'authentication',
|
|
41
|
+
type: 'options',
|
|
42
|
+
options: [
|
|
43
|
+
{
|
|
44
|
+
name: 'API Key',
|
|
45
|
+
value: 'apifyApi',
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'OAuth2',
|
|
49
|
+
value: 'apifyOAuth2Api',
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
default: 'apifyApi',
|
|
53
|
+
description: 'Choose which authentication method to use',
|
|
54
|
+
},
|
|
55
|
+
];
|
|
56
|
+
exports.actorProperties = [
|
|
57
|
+
{
|
|
58
|
+
"displayName": "Start URLs",
|
|
59
|
+
"name": "startUrls",
|
|
60
|
+
"description": "Eventeny URLs to scrape. Supported: the events directory, a state or city directory, the application hub, an event, a vendor or volunteer application, a ticket page, or an organizer profile. Add ?search=your+keywords to a directory URL to filter by keyword.",
|
|
61
|
+
"required": true,
|
|
62
|
+
"default": {},
|
|
63
|
+
"type": "fixedCollection",
|
|
64
|
+
"typeOptions": {
|
|
65
|
+
"multipleValues": true
|
|
66
|
+
},
|
|
67
|
+
"options": [
|
|
68
|
+
{
|
|
69
|
+
"name": "items",
|
|
70
|
+
"displayName": "items",
|
|
71
|
+
"values": [
|
|
72
|
+
{
|
|
73
|
+
"displayName": "item",
|
|
74
|
+
"name": "url",
|
|
75
|
+
"type": "string",
|
|
76
|
+
"default": ""
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"displayName": "Maximum items",
|
|
84
|
+
"name": "maxItems",
|
|
85
|
+
"description": "Stop after this many event, application, and organizer records. Keep a cap in place unless you intend a full crawl.",
|
|
86
|
+
"required": false,
|
|
87
|
+
"default": 200,
|
|
88
|
+
"type": "number",
|
|
89
|
+
"typeOptions": {
|
|
90
|
+
"minValue": 1,
|
|
91
|
+
"maxValue": 100000
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"displayName": "Scrape detail pages",
|
|
96
|
+
"name": "getDetails",
|
|
97
|
+
"description": "Open discovered events and applications for booth fee tables, deadlines, terms, files, questions, venue details, and organizer data. Direct detail URLs are always fully scraped.",
|
|
98
|
+
"required": false,
|
|
99
|
+
"default": false,
|
|
100
|
+
"type": "boolean"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"displayName": "Search keywords",
|
|
104
|
+
"name": "searchQuery",
|
|
105
|
+
"description": "Keyword filter for directory start URLs without their own ?search= or ?q= value.",
|
|
106
|
+
"required": false,
|
|
107
|
+
"default": "craft fair",
|
|
108
|
+
"type": "string"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"displayName": "Application type",
|
|
112
|
+
"name": "applicationType",
|
|
113
|
+
"description": "Application feed to read from the Eventeny application hub.",
|
|
114
|
+
"required": false,
|
|
115
|
+
"default": "vendor",
|
|
116
|
+
"type": "options",
|
|
117
|
+
"options": [
|
|
118
|
+
{
|
|
119
|
+
"name": "Artists, exhibitors & vendors",
|
|
120
|
+
"value": "vendor"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "Volunteers",
|
|
124
|
+
"value": "volunteer"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "Ticketed events",
|
|
128
|
+
"value": "ticket"
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"displayName": "Event category",
|
|
134
|
+
"name": "category",
|
|
135
|
+
"description": "Category filter for event directory URLs. Leave empty for every category.",
|
|
136
|
+
"required": false,
|
|
137
|
+
"default": "",
|
|
138
|
+
"type": "options",
|
|
139
|
+
"options": [
|
|
140
|
+
{
|
|
141
|
+
"name": "All categories",
|
|
142
|
+
"value": ""
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "Top",
|
|
146
|
+
"value": "top"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "Happening now",
|
|
150
|
+
"value": "now"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"name": "Trending",
|
|
154
|
+
"value": "trending"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"name": "New",
|
|
158
|
+
"value": "new"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"name": "Festivals",
|
|
162
|
+
"value": "festival"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "Art",
|
|
166
|
+
"value": "art"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "Education",
|
|
170
|
+
"value": "education"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "Pop culture",
|
|
174
|
+
"value": "pop"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "Food",
|
|
178
|
+
"value": "food"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "Conventions",
|
|
182
|
+
"value": "convention"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "Community",
|
|
186
|
+
"value": "community"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "Holiday",
|
|
190
|
+
"value": "holiday"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"name": "Markets",
|
|
194
|
+
"value": "markets"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "Fairs",
|
|
198
|
+
"value": "fair"
|
|
199
|
+
}
|
|
200
|
+
]
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"displayName": "Month",
|
|
204
|
+
"name": "month",
|
|
205
|
+
"description": "Restrict directory results to one month in YYYY-MM format, for example 2026-10.",
|
|
206
|
+
"required": false,
|
|
207
|
+
"default": "2026-10",
|
|
208
|
+
"type": "string"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"displayName": "Location filter",
|
|
212
|
+
"name": "locationFilter",
|
|
213
|
+
"description": "Application-hub location using Eventeny's keys, such as United States-Georgia, United States-California, or Canada.",
|
|
214
|
+
"required": false,
|
|
215
|
+
"default": "United States-Georgia",
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"displayName": "Include ticket tiers",
|
|
220
|
+
"name": "includeTicketTiers",
|
|
221
|
+
"description": "For detailed events that sell tickets, attach every published tier with base price, tax, processing fee, refund policy, and sale status.",
|
|
222
|
+
"required": false,
|
|
223
|
+
"default": false,
|
|
224
|
+
"type": "boolean"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"displayName": "Include organizer profiles",
|
|
228
|
+
"name": "scrapeOrganizers",
|
|
229
|
+
"description": "Push a separate organizer record for each distinct event host, with public profile details and hosted events.",
|
|
230
|
+
"required": false,
|
|
231
|
+
"default": false,
|
|
232
|
+
"type": "boolean"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"displayName": "Maximum concurrency",
|
|
236
|
+
"name": "maxConcurrency",
|
|
237
|
+
"description": "Parallel requests. Detail pages can be large, so the default 10 is recommended on a 2 GB run.",
|
|
238
|
+
"required": false,
|
|
239
|
+
"default": 10,
|
|
240
|
+
"type": "number",
|
|
241
|
+
"typeOptions": {
|
|
242
|
+
"minValue": 1,
|
|
243
|
+
"maxValue": 30
|
|
244
|
+
}
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"displayName": "Debug mode",
|
|
248
|
+
"name": "debugMode",
|
|
249
|
+
"description": "Save bounded HTML and JSON diagnostics for failed requests in the default key-value store.",
|
|
250
|
+
"required": false,
|
|
251
|
+
"default": false,
|
|
252
|
+
"type": "boolean"
|
|
253
|
+
}
|
|
254
|
+
];
|
|
255
|
+
exports.properties = [...exports.actorProperties, ...authenticationProperties];
|
|
256
|
+
//# sourceMappingURL=ApifyEventenyVendorMarketDirectory.properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApifyEventenyVendorMarketDirectory.properties.js","sourceRoot":"","sources":["../../../nodes/ApifyEventenyVendorMarketDirectory/ApifyEventenyVendorMarketDirectory.properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IExecuteFunctions, INodeExecutionData } from 'n8n-workflow';
|
|
2
|
+
export declare function getDefaultBuild(this: IExecuteFunctions, actorId: string): Promise<any>;
|
|
3
|
+
export declare function getDefaultInputsFromBuild(build: any): Record<string, any>;
|
|
4
|
+
export declare function runActorApi(this: IExecuteFunctions, actorId: string, mergedInput: Record<string, any>, qs: Record<string, any>): Promise<any>;
|
|
5
|
+
export declare function runActor(this: IExecuteFunctions, i: number): Promise<INodeExecutionData>;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDefaultBuild = getDefaultBuild;
|
|
4
|
+
exports.getDefaultInputsFromBuild = getDefaultInputsFromBuild;
|
|
5
|
+
exports.runActorApi = runActorApi;
|
|
6
|
+
exports.runActor = runActor;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const genericFunctions_1 = require("./genericFunctions");
|
|
9
|
+
const ApifyEventenyVendorMarketDirectory_node_1 = require("../ApifyEventenyVendorMarketDirectory.node");
|
|
10
|
+
const ApifyEventenyVendorMarketDirectory_properties_1 = require("../ApifyEventenyVendorMarketDirectory.properties");
|
|
11
|
+
async function getDefaultBuild(actorId) {
|
|
12
|
+
const defaultBuildResp = await genericFunctions_1.apiRequest.call(this, {
|
|
13
|
+
method: 'GET',
|
|
14
|
+
uri: `/v2/acts/${actorId}/builds/default`,
|
|
15
|
+
});
|
|
16
|
+
if (!(defaultBuildResp === null || defaultBuildResp === void 0 ? void 0 : defaultBuildResp.data)) {
|
|
17
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
18
|
+
message: `Could not fetch default build for Actor ${actorId}`,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return defaultBuildResp.data;
|
|
22
|
+
}
|
|
23
|
+
function getDefaultInputsFromBuild(build) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
const buildInputProperties = (_b = (_a = build === null || build === void 0 ? void 0 : build.actorDefinition) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.properties;
|
|
26
|
+
const defaultInput = {};
|
|
27
|
+
if (buildInputProperties && typeof buildInputProperties === 'object') {
|
|
28
|
+
for (const [key, property] of Object.entries(buildInputProperties)) {
|
|
29
|
+
if (property &&
|
|
30
|
+
typeof property === 'object' &&
|
|
31
|
+
'prefill' in property &&
|
|
32
|
+
property.prefill !== undefined &&
|
|
33
|
+
property.prefill !== null) {
|
|
34
|
+
defaultInput[key] = property.prefill;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return defaultInput;
|
|
39
|
+
}
|
|
40
|
+
async function runActorApi(actorId, mergedInput, qs) {
|
|
41
|
+
return await genericFunctions_1.apiRequest.call(this, {
|
|
42
|
+
method: 'POST',
|
|
43
|
+
uri: `/v2/acts/${actorId}/runs`,
|
|
44
|
+
body: mergedInput,
|
|
45
|
+
qs,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async function runActor(i) {
|
|
49
|
+
var _a;
|
|
50
|
+
const build = await getDefaultBuild.call(this, ApifyEventenyVendorMarketDirectory_node_1.ACTOR_ID);
|
|
51
|
+
const defaultInput = getDefaultInputsFromBuild(build);
|
|
52
|
+
const mergedInput = (0, ApifyEventenyVendorMarketDirectory_properties_1.buildActorInput)(this, i, defaultInput);
|
|
53
|
+
const run = await runActorApi.call(this, ApifyEventenyVendorMarketDirectory_node_1.ACTOR_ID, mergedInput, { waitForFinish: 0 });
|
|
54
|
+
if (!((_a = run === null || run === void 0 ? void 0 : run.data) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
55
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
56
|
+
message: `Run ID not found after running the Actor`,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const runId = run.data.id;
|
|
60
|
+
const datasetId = run.data.defaultDatasetId;
|
|
61
|
+
const lastRunData = await genericFunctions_1.pollRunStatus.call(this, runId);
|
|
62
|
+
const resultData = await genericFunctions_1.getResults.call(this, datasetId);
|
|
63
|
+
if ((0, genericFunctions_1.isUsedAsAiTool)(this.getNode().type)) {
|
|
64
|
+
return { json: { ...resultData } };
|
|
65
|
+
}
|
|
66
|
+
return { json: { ...lastRunData, ...resultData } };
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=executeActor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executeActor.js","sourceRoot":"","sources":["../../../../nodes/ApifyEventenyVendorMarketDirectory/helpers/executeActor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type IExecuteFunctions, type IHookFunctions, type ILoadOptionsFunctions, type IHttpRequestOptions } from 'n8n-workflow';
|
|
2
|
+
type IApiRequestOptions = Omit<IHttpRequestOptions, 'url'> & {
|
|
3
|
+
uri?: string;
|
|
4
|
+
url?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare function apiRequest(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, requestOptions: IApiRequestOptions): Promise<any>;
|
|
7
|
+
export declare function isUsedAsAiTool(nodeType: string): boolean;
|
|
8
|
+
export declare function pollRunStatus(this: IHookFunctions | IExecuteFunctions | ILoadOptionsFunctions, runId: string): Promise<any>;
|
|
9
|
+
export declare function getResults(this: IExecuteFunctions, datasetId: string): Promise<any>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.apiRequest = apiRequest;
|
|
4
|
+
exports.isUsedAsAiTool = isUsedAsAiTool;
|
|
5
|
+
exports.pollRunStatus = pollRunStatus;
|
|
6
|
+
exports.getResults = getResults;
|
|
7
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
8
|
+
const ApifyEventenyVendorMarketDirectory_node_1 = require("../ApifyEventenyVendorMarketDirectory.node");
|
|
9
|
+
async function apiRequest(requestOptions) {
|
|
10
|
+
var _a;
|
|
11
|
+
const { method = 'GET', qs, uri, ...rest } = requestOptions;
|
|
12
|
+
const query = qs || {};
|
|
13
|
+
const endpoint = `https://api.apify.com${uri !== null && uri !== void 0 ? uri : ''}`;
|
|
14
|
+
const headers = {
|
|
15
|
+
'x-apify-integration-platform': ApifyEventenyVendorMarketDirectory_node_1.X_PLATFORM_HEADER_ID,
|
|
16
|
+
...(ApifyEventenyVendorMarketDirectory_node_1.X_PLATFORM_APP_HEADER_ID && { 'x-apify-integration-app-id': ApifyEventenyVendorMarketDirectory_node_1.X_PLATFORM_APP_HEADER_ID }),
|
|
17
|
+
};
|
|
18
|
+
if (isUsedAsAiTool(this.getNode().type)) {
|
|
19
|
+
headers['x-apify-integration-ai-tool'] = 'true';
|
|
20
|
+
}
|
|
21
|
+
const options = {
|
|
22
|
+
...rest,
|
|
23
|
+
method,
|
|
24
|
+
qs: query,
|
|
25
|
+
url: endpoint,
|
|
26
|
+
headers,
|
|
27
|
+
json: true,
|
|
28
|
+
};
|
|
29
|
+
if (method === 'GET' && 'body' in options) {
|
|
30
|
+
delete options.body;
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const authenticationMethod = this.getNodeParameter('authentication', 0);
|
|
34
|
+
try {
|
|
35
|
+
await this.getCredentials(authenticationMethod);
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), `No valid credentials found for ${authenticationMethod}. Please configure them first.`);
|
|
39
|
+
}
|
|
40
|
+
return await this.helpers.httpRequestWithAuthentication.call(this, authenticationMethod, options);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof n8n_workflow_1.NodeApiError)
|
|
44
|
+
throw error;
|
|
45
|
+
if ((_a = error.response) === null || _a === void 0 ? void 0 : _a.body) {
|
|
46
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), error, {
|
|
47
|
+
message: error.response.body,
|
|
48
|
+
description: error.message,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function isUsedAsAiTool(nodeType) {
|
|
55
|
+
const parts = nodeType.split('.');
|
|
56
|
+
return parts[parts.length - 1] === `${ApifyEventenyVendorMarketDirectory_node_1.ClassNameCamel}Tool`;
|
|
57
|
+
}
|
|
58
|
+
async function pollRunStatus(runId) {
|
|
59
|
+
var _a;
|
|
60
|
+
let lastRunData;
|
|
61
|
+
while (true) {
|
|
62
|
+
try {
|
|
63
|
+
const pollResult = await apiRequest.call(this, {
|
|
64
|
+
method: 'GET',
|
|
65
|
+
uri: `/v2/actor-runs/${runId}`,
|
|
66
|
+
});
|
|
67
|
+
const status = (_a = pollResult === null || pollResult === void 0 ? void 0 : pollResult.data) === null || _a === void 0 ? void 0 : _a.status;
|
|
68
|
+
lastRunData = pollResult === null || pollResult === void 0 ? void 0 : pollResult.data;
|
|
69
|
+
if (['SUCCEEDED', 'FAILED', 'TIMED-OUT', 'ABORTED'].includes(status))
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
74
|
+
message: `Error polling run status: ${err}`,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
await (0, n8n_workflow_1.sleep)(1000);
|
|
78
|
+
}
|
|
79
|
+
return lastRunData;
|
|
80
|
+
}
|
|
81
|
+
async function getResults(datasetId) {
|
|
82
|
+
const results = await apiRequest.call(this, {
|
|
83
|
+
method: 'GET',
|
|
84
|
+
uri: `/v2/datasets/${datasetId}/items`,
|
|
85
|
+
});
|
|
86
|
+
if (isUsedAsAiTool(this.getNode().type)) {
|
|
87
|
+
}
|
|
88
|
+
return this.helpers.returnJsonArray(results);
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=genericFunctions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genericFunctions.js","sourceRoot":"","sources":["../../../../nodes/ApifyEventenyVendorMarketDirectory/helpers/genericFunctions.ts"],"names":[],"mappings":";;AAgBA,gCA4DC;AAED,wCAGC;AAED,sCAuBC;AAED,gCAYC;AAxHD,+CAQsB;AACtB,wGAA4H;AAOrH,KAAK,UAAU,UAAU,CAE/B,cAAkC;;IAElC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC;IAE5D,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC;IACvB,MAAM,QAAQ,GAAG,wBAAwB,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,EAAE,EAAE,CAAC;IAErD,MAAM,OAAO,GAA2B;QACvC,8BAA8B,EAAE,8DAAoB;QACpD,GAAG,CAAC,kEAAwB,IAAI,EAAE,4BAA4B,EAAE,kEAAwB,EAAE,CAAC;KAC3F,CAAC;IAEF,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC;IACjD,CAAC;IAED,MAAM,OAAO,GAAwB;QACpC,GAAG,IAAI;QACP,MAAM;QACN,EAAE,EAAE,KAAK;QACT,GAAG,EAAE,QAAQ;QACb,OAAO;QACP,IAAI,EAAE,IAAI;KACV,CAAC;IAEF,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,CAAW,CAAC;QAElF,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,IAAI,iCAAkB,CAC3B,IAAI,CAAC,OAAO,EAAE,EACd,kCAAkC,oBAAoB,gCAAgC,CACtF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAC3D,IAAI,EACJ,oBAAoB,EACpB,OAAO,CACP,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,2BAAY;YAAE,MAAM,KAAK,CAAC;QAE/C,IAAI,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,EAAE,CAAC;YAC1B,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE;gBAC7C,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;gBAC5B,WAAW,EAAE,KAAK,CAAC,OAAO;aAC1B,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;AACF,CAAC;AAED,SAAgB,cAAc,CAAC,QAAgB;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,wDAAc,MAAM,CAAC;AAC5D,CAAC;AAEM,KAAK,UAAU,aAAa,CAElC,KAAa;;IAEb,IAAI,WAAgB,CAAC;IACrB,OAAO,IAAI,EAAE,CAAC;QACb,IAAI,CAAC;YACJ,MAAM,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC9C,MAAM,EAAE,KAAK;gBACb,GAAG,EAAE,kBAAkB,KAAK,EAAE;aAC9B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,0CAAE,MAAM,CAAC;YACxC,WAAW,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,MAAM;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;gBACtC,OAAO,EAAE,6BAA6B,GAAG,EAAE;aAC3C,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,UAAU,CAA0B,SAAiB;IAC1E,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;QAC3C,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,gBAAgB,SAAS,QAAQ;KACtC,CAAC,CAAC;IAGH,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;IAE1C,CAAC;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" width="60" height="60">
|
|
2
|
+
<rect width="60" height="60" rx="8" fill="#00AAFF"/>
|
|
3
|
+
<text x="30" y="38" font-family="Arial, sans-serif" font-size="24" font-weight="bold" fill="white" text-anchor="middle">A</text>
|
|
4
|
+
</svg>
|
|
@@ -10,13 +10,13 @@ exports.ClassNameCamel = exports.CLASS_NAME.charAt(0).toLowerCase() + exports.CL
|
|
|
10
10
|
exports.X_PLATFORM_HEADER_ID = 'n8n';
|
|
11
11
|
exports.X_PLATFORM_APP_HEADER_ID = 'find-events-app';
|
|
12
12
|
exports.DISPLAY_NAME = 'Apify Find Events';
|
|
13
|
-
exports.DESCRIPTION = '
|
|
13
|
+
exports.DESCRIPTION = 'Finds and normalizes local events across global and regional event platforms, automatically prioritizing sources with proven local affinity.';
|
|
14
14
|
class ApifyFindEvents {
|
|
15
15
|
constructor() {
|
|
16
16
|
this.description = {
|
|
17
17
|
displayName: exports.DISPLAY_NAME,
|
|
18
18
|
name: exports.ClassNameCamel,
|
|
19
|
-
icon: 'file:logo.
|
|
19
|
+
icon: 'file:logo.svg',
|
|
20
20
|
group: ['transform'],
|
|
21
21
|
version: [1],
|
|
22
22
|
defaultVersion: 1,
|