diff --git a/packages/nodes-base/nodes/Discord/descriptions/AuditLogDescription.ts b/packages/nodes-base/nodes/Discord/descriptions/AuditLogDescription.ts new file mode 100644 index 0000000000..5a5b1ffbfd --- /dev/null +++ b/packages/nodes-base/nodes/Discord/descriptions/AuditLogDescription.ts @@ -0,0 +1,99 @@ +import { + INodeProperties, +} from 'n8n-workflow'; + +import { + auditLogEvents, +} from './auditLogEvents'; + +import { + capitalCase +} from 'change-case'; + +export const auditLogOperations = [ + { + displayName: 'Operation', + name: 'operation', + type: 'options', + displayOptions: { + show: { + resource: [ + 'auditLog', + ], + }, + }, + options: [ + { + name: 'Get', + value: 'get', + }, + ], + default: 'get', + description: 'Operation to perform', + }, +] as INodeProperties[]; + +export const auditLogFields = [ + // ---------------------------------- + // auditLog: get + // ---------------------------------- + { + displayName: 'Guild ID', + name: 'guildId', + description: 'ID of the guild for which to retrieve the audit log.', + type: 'string', + required: true, + default: '', + displayOptions: { + show: { + resource: [ + 'auditLog', + ], + operation: [ + 'get', + ], + }, + }, + }, + { + displayName: 'Additional Fields', + name: 'additionalFields', + type: 'collection', + placeholder: 'Add Field', + default: {}, + displayOptions: { + show: { + resource: [ + 'auditLog', + ], + operation: [ + 'get', + ], + }, + }, + options: [ + { + displayName: 'Action Type', + name: 'actionType', + description: 'Action type to filter the audit log by.', + type: 'options', + default: 10, + options: auditLogEvents, + }, + { + displayName: 'Before', + name: 'before', + description: 'ID of the log entry to set as the last for the filter.', + type: 'string', + default: '', + }, + { + displayName: 'User ID', + name: 'userId', + description: 'ID of the user to filter the audit log by.', + type: 'string', + default: '', + }, + ], + }, +] as INodeProperties[]; diff --git a/packages/nodes-base/nodes/Discord/descriptions/auditLogEvents.ts b/packages/nodes-base/nodes/Discord/descriptions/auditLogEvents.ts new file mode 100644 index 0000000000..22311b096e --- /dev/null +++ b/packages/nodes-base/nodes/Discord/descriptions/auditLogEvents.ts @@ -0,0 +1,142 @@ +export const auditLogEvents = [ + { + name: 'Bot ADd', + value: 28, + }, + { + name: 'Emoji Create', + value: 60, + }, + { + name: 'Emoji Update', + value: 61, + }, + { + name: 'Emoji Delete', + value: 62, + }, + { + name: 'Channel Create', + value: 10, + }, + { + name: 'Channel Update', + value: 11, + }, + { + name: 'Channel Delete', + value: 12, + }, + { + name: 'Channel Overwrite Create', + value: 13, + }, + { + name: 'Channel Overwrite Update', + value: 14, + }, + { + name: 'Channel Overwrite Delete', + value: 15, + }, + { + name: 'Guild Update', + value: 1, + }, + { + name: 'Integration Create', + value: 80, + }, + { + name: 'Integration Update', + value: 81, + }, + { + name: 'Integration Delete', + value: 82, + }, + { + name: 'Invite Create', + value: 40, + }, + { + name: 'Invite Update', + value: 41, + }, + { + name: 'Invite Delete', + value: 42, + }, + { + name: 'Member Kick', + value: 20, + }, + { + name: 'Member Prune', + value: 21, + }, + { + name: 'Member Ban Add', + value: 22, + }, + { + name: 'Member Ban Remove', + value: 23, + }, + { + name: 'Member Move', + value: 26, + }, + { + name: 'Member Role Update', + value: 25, + }, + { + name: 'Member Update', + value: 24, + }, + { + name: 'Member Disconnect', + value: 27, + }, + { + name: 'Message Delete', + value: 72, + }, + { + name: 'Message Bulk Delete', + value: 73, + }, + { + name: 'Message Pin', + value: 74, + }, + { + name: 'Message Unpin', + value: 75, + }, + { + name: 'Role Create', + value: 30, + }, + { + name: 'Role update', + value: 31, + }, + { + name: 'Role Delete', + value: 32, + }, + { + name: 'Webhook Create', + value: 50, + }, + { + name: 'Webhook Update', + value: 51, + }, + { + name: 'Webhook Delete', + value: 52, + }, +];