mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-17 18:12:04 +00:00
feat(Splunk Node): Overhaul (#9813)
This commit is contained in:
2
packages/nodes-base/nodes/Splunk/v2/methods/index.ts
Normal file
2
packages/nodes-base/nodes/Splunk/v2/methods/index.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export * as loadOptions from './loadOptions';
|
||||
export * as listSearch from './listSearch';
|
||||
74
packages/nodes-base/nodes/Splunk/v2/methods/listSearch.ts
Normal file
74
packages/nodes-base/nodes/Splunk/v2/methods/listSearch.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import type { IDataObject, ILoadOptionsFunctions, INodeListSearchResult } from 'n8n-workflow';
|
||||
import { splunkApiJsonRequest } from '../transport';
|
||||
|
||||
export async function searchReports(
|
||||
this: ILoadOptionsFunctions,
|
||||
filter?: string,
|
||||
): Promise<INodeListSearchResult> {
|
||||
const qs: IDataObject = {};
|
||||
|
||||
if (filter) {
|
||||
qs.search = filter;
|
||||
}
|
||||
|
||||
const endpoint = '/services/saved/searches';
|
||||
const response = await splunkApiJsonRequest.call(this, 'GET', endpoint, undefined, qs);
|
||||
|
||||
return {
|
||||
results: (response as IDataObject[]).map((entry: IDataObject) => {
|
||||
return {
|
||||
name: entry.name as string,
|
||||
value: entry.id as string,
|
||||
url: entry.entryUrl as string,
|
||||
};
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
export async function searchJobs(
|
||||
this: ILoadOptionsFunctions,
|
||||
filter?: string,
|
||||
): Promise<INodeListSearchResult> {
|
||||
const qs: IDataObject = {};
|
||||
|
||||
if (filter) {
|
||||
qs.search = filter;
|
||||
}
|
||||
|
||||
const endpoint = '/services/search/jobs';
|
||||
const response = await splunkApiJsonRequest.call(this, 'GET', endpoint, undefined, qs);
|
||||
|
||||
return {
|
||||
results: (response as IDataObject[]).map((entry: IDataObject) => {
|
||||
return {
|
||||
name: (entry.name as string).replace(/^\|\s*/, ''),
|
||||
value: entry.id as string,
|
||||
url: entry.entryUrl as string,
|
||||
};
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
export async function searchUsers(
|
||||
this: ILoadOptionsFunctions,
|
||||
filter?: string,
|
||||
): Promise<INodeListSearchResult> {
|
||||
const qs: IDataObject = {};
|
||||
|
||||
if (filter) {
|
||||
qs.search = filter;
|
||||
}
|
||||
|
||||
const endpoint = '/services/authentication/users';
|
||||
const response = await splunkApiJsonRequest.call(this, 'GET', endpoint, undefined, qs);
|
||||
|
||||
return {
|
||||
results: (response as IDataObject[]).map((entry: IDataObject) => {
|
||||
return {
|
||||
name: entry.name as string,
|
||||
value: entry.id as string,
|
||||
url: entry.entryUrl as string,
|
||||
};
|
||||
}),
|
||||
};
|
||||
}
|
||||
13
packages/nodes-base/nodes/Splunk/v2/methods/loadOptions.ts
Normal file
13
packages/nodes-base/nodes/Splunk/v2/methods/loadOptions.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import type { ILoadOptionsFunctions, INodePropertyOptions } from 'n8n-workflow';
|
||||
|
||||
import { splunkApiJsonRequest } from '../transport';
|
||||
|
||||
export async function getRoles(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||
const endpoint = '/services/authorization/roles';
|
||||
const responseData = await splunkApiJsonRequest.call(this, 'GET', endpoint);
|
||||
|
||||
return (responseData as Array<{ id: string }>).map((entry) => ({
|
||||
name: entry.id,
|
||||
value: entry.id,
|
||||
}));
|
||||
}
|
||||
Reference in New Issue
Block a user