Add Event resource and update branding

- Add Event resource with get and getAll operations
- Implement event tracking for Strike API events
- Update node icon from strike.svg to strike.png
- Add comprehensive README.md with disclaimer about AI-assisted development
- Update CLAUDE.MD documentation with Event resource details
- Build dist files with new Event operations

Changes include:
- New EventDescription.ts with event operations
- Updated Strike.node.ts to handle event resource
- Icon changed to PNG format for better compatibility
- Production-ready README with usage examples and warnings

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-12-10 11:23:37 +01:00
parent 5605b9b49a
commit 7e99c8fee7
11 changed files with 521 additions and 2 deletions

View File

@ -27,13 +27,15 @@ import {
accountFields,
paymentMethodOperations,
paymentMethodFields,
eventOperations,
eventFields,
} from './descriptions';
export class Strike implements INodeType {
description: INodeTypeDescription = {
displayName: 'Strike',
name: 'strike',
icon: 'file:strike.svg',
icon: 'file:strike.png',
group: ['transform'],
version: 1,
subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}',
@ -72,6 +74,10 @@ export class Strike implements INodeType {
name: 'Deposit',
value: 'deposit',
},
{
name: 'Event',
value: 'event',
},
{
name: 'Invoice',
value: 'invoice',
@ -104,6 +110,8 @@ export class Strike implements INodeType {
...currencyExchangeFields,
...depositOperations,
...depositFields,
...eventOperations,
...eventFields,
...invoiceOperations,
...invoiceFields,
...paymentOperations,
@ -180,6 +188,36 @@ export class Strike implements INodeType {
}
}
// ----------------------------------------
// event
// ----------------------------------------
if (resource === 'event') {
if (operation === 'get') {
const eventId = this.getNodeParameter('eventId', i) as string;
responseData = await strikeApiRequest.call(this, 'GET', `/events/${eventId}`);
} else if (operation === 'getAll') {
const returnAll = this.getNodeParameter('returnAll', i) as boolean;
const filters = this.getNodeParameter('filters', i) as IDataObject;
const query: IDataObject = {};
if (filters.filter) {
query.$filter = filters.filter;
}
if (filters.orderBy) {
query.$orderby = filters.orderBy;
}
if (returnAll) {
responseData = await strikeApiRequestAllItems.call(this, 'GET', '/events', {}, query);
} else {
const limit = this.getNodeParameter('limit', i) as number;
query.$top = limit;
responseData = await strikeApiRequest.call(this, 'GET', '/events', {}, query);
responseData = responseData.items || responseData;
}
}
}
// ----------------------------------------
// deposit
// ----------------------------------------