first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import type { IDataObject } from 'n8n-workflow';
|
||||
|
||||
import {
|
||||
CloseHandler,
|
||||
CreateHandler,
|
||||
DeleteHandler,
|
||||
GetAllHandler,
|
||||
GetHandler,
|
||||
MoveHandler,
|
||||
ReopenHandler,
|
||||
SyncHandler,
|
||||
UpdateHandler,
|
||||
} from './OperationHandler';
|
||||
import type { Context } from '../GenericFunctions';
|
||||
|
||||
export class TodoistService implements Service {
|
||||
async execute(
|
||||
ctx: Context,
|
||||
operation: OperationType,
|
||||
itemIndex: number,
|
||||
): Promise<TodoistResponse> {
|
||||
return await this.handlers[operation].handleOperation(ctx, itemIndex);
|
||||
}
|
||||
|
||||
private handlers = {
|
||||
create: new CreateHandler(),
|
||||
close: new CloseHandler(),
|
||||
delete: new DeleteHandler(),
|
||||
get: new GetHandler(),
|
||||
getAll: new GetAllHandler(),
|
||||
reopen: new ReopenHandler(),
|
||||
update: new UpdateHandler(),
|
||||
move: new MoveHandler(),
|
||||
sync: new SyncHandler(),
|
||||
};
|
||||
}
|
||||
|
||||
export type OperationType =
|
||||
| 'create'
|
||||
| 'close'
|
||||
| 'delete'
|
||||
| 'get'
|
||||
| 'getAll'
|
||||
| 'reopen'
|
||||
| 'update'
|
||||
| 'move'
|
||||
| 'sync';
|
||||
|
||||
export interface Section {
|
||||
name: string;
|
||||
id: string;
|
||||
}
|
||||
|
||||
export interface Service {
|
||||
execute(ctx: Context, operation: OperationType, itemIndex: number): Promise<TodoistResponse>;
|
||||
}
|
||||
|
||||
export interface TodoistResponse {
|
||||
success?: boolean;
|
||||
data?: IDataObject;
|
||||
}
|
||||
Reference in New Issue
Block a user