feat(Splunk Node): Overhaul (#9813)

This commit is contained in:
Michael Kret
2024-07-04 16:07:17 +03:00
committed by GitHub
parent fbe4bca634
commit e5c324753f
49 changed files with 3484 additions and 634 deletions

View File

@@ -0,0 +1,2 @@
export * as loadOptions from './loadOptions';
export * as listSearch from './listSearch';

View 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,
};
}),
};
}

View 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,
}));
}