mirror of
https://github.com/n8n-io/n8n.git
synced 2025-01-11 21:07:28 -08:00
⚡ Fetch observable data types from TheHive (#1291)
This commit is contained in:
parent
cf73387214
commit
1d10cc6f25
|
@ -195,6 +195,50 @@ export class TheHive implements INodeType {
|
||||||
];
|
];
|
||||||
return options;
|
return options;
|
||||||
},
|
},
|
||||||
|
async loadObservableTypes(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||||
|
const version = this.getCredentials('theHiveApi')?.apiVersion;
|
||||||
|
const endpoint = version === 'v1' ? '/observable/type?range=all' : '/list/list_artifactDataType';
|
||||||
|
|
||||||
|
const dataTypes = await theHiveApiRequest.call(
|
||||||
|
this,
|
||||||
|
'GET',
|
||||||
|
endpoint as string,
|
||||||
|
);
|
||||||
|
|
||||||
|
let returnData: INodePropertyOptions[] = [];
|
||||||
|
|
||||||
|
if (version === 'v1') {
|
||||||
|
returnData = dataTypes.map((dataType: IDataObject) => {
|
||||||
|
return {
|
||||||
|
name: dataType.name as string,
|
||||||
|
value: dataType.name as string,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
returnData = Object.keys(dataTypes).map(key => {
|
||||||
|
const dataType = dataTypes[key] as string;
|
||||||
|
|
||||||
|
return {
|
||||||
|
name: dataType,
|
||||||
|
value: dataType,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort the array by option name
|
||||||
|
returnData.sort((a, b) => {
|
||||||
|
if (a.name < b.name) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (a.name > b.name) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
});
|
||||||
|
|
||||||
|
return returnData;
|
||||||
|
},
|
||||||
async loadTaskOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
async loadTaskOptions(this: ILoadOptionsFunctions): Promise<INodePropertyOptions[]> {
|
||||||
const version = this.getCredentials('theHiveApi')?.apiVersion;
|
const version = this.getCredentials('theHiveApi')?.apiVersion;
|
||||||
const options = [
|
const options = [
|
||||||
|
|
|
@ -387,21 +387,10 @@ export const alertFields = [
|
||||||
name: 'dataType',
|
name: 'dataType',
|
||||||
type: 'options',
|
type: 'options',
|
||||||
default: '',
|
default: '',
|
||||||
options: [
|
typeOptions: {
|
||||||
{
|
loadOptionsMethod: 'loadObservableTypes',
|
||||||
name: 'IP',
|
},
|
||||||
value: 'ip',
|
description: 'Type of the observable',
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Domain',
|
|
||||||
value: 'domain',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'File',
|
|
||||||
value: 'file',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
description: '',
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Data',
|
displayName: 'Data',
|
||||||
|
@ -545,20 +534,10 @@ export const alertFields = [
|
||||||
name: 'dataType',
|
name: 'dataType',
|
||||||
type: 'options',
|
type: 'options',
|
||||||
default: '',
|
default: '',
|
||||||
options: [
|
typeOptions: {
|
||||||
{
|
loadOptionsMethod: 'loadObservableTypes',
|
||||||
name: 'IP',
|
},
|
||||||
value: 'ip',
|
description: 'Type of the observable',
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'Domain',
|
|
||||||
value: 'domain',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'File',
|
|
||||||
value: 'file',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
displayName: 'Data',
|
displayName: 'Data',
|
||||||
|
|
|
@ -120,64 +120,9 @@ export const observableFields = [
|
||||||
type: 'options',
|
type: 'options',
|
||||||
required: true,
|
required: true,
|
||||||
default: '',
|
default: '',
|
||||||
options: [
|
typeOptions: {
|
||||||
{
|
loadOptionsMethod: 'loadObservableTypes',
|
||||||
name: 'domain',
|
},
|
||||||
value: 'domain',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'file',
|
|
||||||
value: 'file',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'filename',
|
|
||||||
value: 'filename',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'fqdn',
|
|
||||||
value: 'fqdn',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'hash',
|
|
||||||
value: 'hash',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ip',
|
|
||||||
value: 'ip',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'mail',
|
|
||||||
value: 'mail',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'mail_subject',
|
|
||||||
value: 'mail_subject',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'other',
|
|
||||||
value: 'other',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'regexp',
|
|
||||||
value: 'regexp',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'registry',
|
|
||||||
value: 'registry',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'uri_path',
|
|
||||||
value: 'uri_path',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'url',
|
|
||||||
value: 'url',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'user-agent',
|
|
||||||
value: 'user-agent',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
displayOptions: {
|
displayOptions: {
|
||||||
show: {
|
show: {
|
||||||
resource: [
|
resource: [
|
||||||
|
@ -604,64 +549,9 @@ export const observableFields = [
|
||||||
name: 'dataType',
|
name: 'dataType',
|
||||||
type: 'multiOptions',
|
type: 'multiOptions',
|
||||||
default: [],
|
default: [],
|
||||||
options: [
|
typeOptions: {
|
||||||
{
|
loadOptionsMethod: 'loadObservableTypes',
|
||||||
name: 'domain',
|
},
|
||||||
value: 'domain',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'file',
|
|
||||||
value: 'file',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'filename',
|
|
||||||
value: 'filename',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'fqdn',
|
|
||||||
value: 'fqdn',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'hash',
|
|
||||||
value: 'hash',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'ip',
|
|
||||||
value: 'ip',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'mail',
|
|
||||||
value: 'mail',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'mail_subject',
|
|
||||||
value: 'mail_subject',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'other',
|
|
||||||
value: 'other',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'regexp',
|
|
||||||
value: 'regexp',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'registry',
|
|
||||||
value: 'registry',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'uri_path',
|
|
||||||
value: 'uri_path',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'url',
|
|
||||||
value: 'url',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'user-agent',
|
|
||||||
value: 'user-agent',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
description: 'Type of the observable',
|
description: 'Type of the observable',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue