From 22bf4513674b30572613af9f65b93f2ce6dd2728 Mon Sep 17 00:00:00 2001 From: Dmitry Borisov Date: Thu, 11 Sep 2025 14:23:41 +0300 Subject: [PATCH 1/4] copy new generated code --- src/common/open-api/models/EventHandler.ts | 16 +++-- src/common/open-api/models/Tag.ts | 72 ++++++++++++++++++++++ 2 files changed, 82 insertions(+), 6 deletions(-) create mode 100644 src/common/open-api/models/Tag.ts diff --git a/src/common/open-api/models/EventHandler.ts b/src/common/open-api/models/EventHandler.ts index f850af5c..7c7e995f 100644 --- a/src/common/open-api/models/EventHandler.ts +++ b/src/common/open-api/models/EventHandler.ts @@ -1,15 +1,19 @@ +/* generated using openapi-typescript-codegen -- do not edit */ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ - import type { Action } from './Action'; - +import type { Tag } from './Tag'; export type EventHandler = { - name: string; - event: string; - condition?: string; - actions: Array; + actions?: Array; active?: boolean; + condition?: string; + createdBy?: string; + description?: string; evaluatorType?: string; + event?: string; + name?: string; + orgId?: string; + tags?: Array; }; diff --git a/src/common/open-api/models/Tag.ts b/src/common/open-api/models/Tag.ts new file mode 100644 index 00000000..693f84cf --- /dev/null +++ b/src/common/open-api/models/Tag.ts @@ -0,0 +1,72 @@ +/* generated using openapi-typescript-codegen -- do not edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ +export type Tag = { + key?: string; + /** + * @deprecated + */ + type?: string; + value?: string; +}; + + /** + * Delete a tag for event handler + * @param name + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public deleteTagForEventHandler( + name: string, + requestBody: Array, +): CancelablePromise { + return this.httpRequest.request({ + method: 'DELETE', + url: '/api/event/{name}/tags', + path: { + 'name': name, + }, + body: requestBody, + mediaType: 'application/json', + }); +} +/** + * Get tags by event handler + * @param name + * @returns Tag OK + * @throws ApiError + */ +public getTagsForEventHandler( + name: string, +): CancelablePromise> { + return this.httpRequest.request({ + method: 'GET', + url: '/api/event/{name}/tags', + path: { + 'name': name, + }, + }); +} +/** + * Put a tag to event handler + * @param name + * @param requestBody + * @returns any OK + * @throws ApiError + */ +public putTagForEventHandler( + name: string, + requestBody: Array, +): CancelablePromise { + return this.httpRequest.request({ + method: 'PUT', + url: '/api/event/{name}/tags', + path: { + 'name': name, + }, + body: requestBody, + mediaType: 'application/json', + }); +} From 2d936d8f48d8d299bce811ac1d318bc875f15f3f Mon Sep 17 00:00:00 2001 From: Dmitry Borisov Date: Thu, 11 Sep 2025 14:40:12 +0300 Subject: [PATCH 2/4] add description and tags fields to event handlers --- src/common/open-api/models/Tag.ts | 60 ------------------ .../open-api/services/EventResourceService.ts | 62 +++++++++++++++++++ 2 files changed, 62 insertions(+), 60 deletions(-) diff --git a/src/common/open-api/models/Tag.ts b/src/common/open-api/models/Tag.ts index 693f84cf..bd2b65f4 100644 --- a/src/common/open-api/models/Tag.ts +++ b/src/common/open-api/models/Tag.ts @@ -10,63 +10,3 @@ export type Tag = { type?: string; value?: string; }; - - /** - * Delete a tag for event handler - * @param name - * @param requestBody - * @returns any OK - * @throws ApiError - */ - public deleteTagForEventHandler( - name: string, - requestBody: Array, -): CancelablePromise { - return this.httpRequest.request({ - method: 'DELETE', - url: '/api/event/{name}/tags', - path: { - 'name': name, - }, - body: requestBody, - mediaType: 'application/json', - }); -} -/** - * Get tags by event handler - * @param name - * @returns Tag OK - * @throws ApiError - */ -public getTagsForEventHandler( - name: string, -): CancelablePromise> { - return this.httpRequest.request({ - method: 'GET', - url: '/api/event/{name}/tags', - path: { - 'name': name, - }, - }); -} -/** - * Put a tag to event handler - * @param name - * @param requestBody - * @returns any OK - * @throws ApiError - */ -public putTagForEventHandler( - name: string, - requestBody: Array, -): CancelablePromise { - return this.httpRequest.request({ - method: 'PUT', - url: '/api/event/{name}/tags', - path: { - 'name': name, - }, - body: requestBody, - mediaType: 'application/json', - }); -} diff --git a/src/common/open-api/services/EventResourceService.ts b/src/common/open-api/services/EventResourceService.ts index e0edf49b..4ca07da3 100644 --- a/src/common/open-api/services/EventResourceService.ts +++ b/src/common/open-api/services/EventResourceService.ts @@ -5,6 +5,7 @@ import type { EventHandler } from '../models/EventHandler'; import type { CancelablePromise } from '../core/CancelablePromise'; import type { BaseHttpRequest } from '../core/BaseHttpRequest'; +import { Tag } from '../models/Tag'; export class EventResourceService { @@ -176,4 +177,65 @@ export class EventResourceService { }); } + /** + * Delete a tag for event handler + * @param name + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public deleteTagForEventHandler( + name: string, + requestBody: Array, + ): CancelablePromise { + return this.httpRequest.request({ + method: 'DELETE', + url: '/event/{name}/tags', + path: { + 'name': name, + }, + body: requestBody, + mediaType: 'application/json', + }); + } + + /** + * Get tags by event handler + * @param name + * @returns Tag OK + * @throws ApiError + */ + public getTagsForEventHandler( + name: string, + ): CancelablePromise> { + return this.httpRequest.request({ + method: 'GET', + url: '/event/{name}/tags', + path: { + 'name': name, + }, + }); + } + + /** + * Put a tag to event handler + * @param name + * @param requestBody + * @returns any OK + * @throws ApiError + */ + public putTagForEventHandler( + name: string, + requestBody: Array, + ): CancelablePromise { + return this.httpRequest.request({ + method: 'PUT', + url: '/event/{name}/tags', + path: { + 'name': name, + }, + body: requestBody, + mediaType: 'application/json', + }); + } } From 838b4eb37dc2d059e7ed7414c65c4b09b58fdc58 Mon Sep 17 00:00:00 2001 From: Dmitry Borisov Date: Thu, 11 Sep 2025 17:57:43 +0300 Subject: [PATCH 3/4] add test --- .../__test__/EventResourceService.test.ts | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/common/open-api/__test__/EventResourceService.test.ts diff --git a/src/common/open-api/__test__/EventResourceService.test.ts b/src/common/open-api/__test__/EventResourceService.test.ts new file mode 100644 index 00000000..383b4a34 --- /dev/null +++ b/src/common/open-api/__test__/EventResourceService.test.ts @@ -0,0 +1,35 @@ +import { expect, describe, test } from "@jest/globals"; +import { orkesConductorClient } from "../../../orkes"; + +describe("EventResourceService", () => { + test("Should create an event handler with description and tags and then delete it", async () => { + const orkesClient = await orkesConductorClient({ useEnvVars: true }); + const eventApi = orkesClient.eventResource; + + const eventName = "jsSdkTest:eventHandler:1"; + const eventHandler = { + name: eventName, + event: "jsSdkTest:eventHandler:1", + active: true, + actions: [], + description: "jsSdkTestdescription", + tags: [{ key: "jsSdkTestTagkey", value: "jsSdkTestTagvalue" }], + }; + + await eventApi.addEventHandler(eventHandler); + const eventHandlers = await eventApi.getEventHandlersForEvent(eventName); + + expect(eventHandlers.length).toEqual(1); + expect(eventHandlers[0].description).toEqual("jsSdkTestdescription"); + expect(eventHandlers[0].tags).toEqual([ + { key: "jsSdkTestTagkey", value: "jsSdkTestTagvalue" }, + ]); + + await eventApi.removeEventHandlerStatus(eventName); + const eventHandlersAfterRemove = await eventApi.getEventHandlersForEvent( + eventName + ); + + expect(eventHandlersAfterRemove.length).toEqual(0); + }); +}); From c0ccf6f5a92fa36e44404364a468b9a4759b3a22 Mon Sep 17 00:00:00 2001 From: Dmitry Borisov Date: Thu, 11 Sep 2025 18:06:10 +0300 Subject: [PATCH 4/4] refactor test --- .../__test__/EventResourceService.test.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/common/open-api/__test__/EventResourceService.test.ts b/src/common/open-api/__test__/EventResourceService.test.ts index 383b4a34..aee578f1 100644 --- a/src/common/open-api/__test__/EventResourceService.test.ts +++ b/src/common/open-api/__test__/EventResourceService.test.ts @@ -6,28 +6,35 @@ describe("EventResourceService", () => { const orkesClient = await orkesConductorClient({ useEnvVars: true }); const eventApi = orkesClient.eventResource; - const eventName = "jsSdkTest:eventHandler:1"; + const [eventName, event, eventDescription, eventTagKey, eventTagValue] = [ + "jsSdkTestEventName", + "jsSdkTest:eventHandler:1", + "jsSdkTestDescription", + "jsSdkTestTagKey", + "jsSdkTestTagValue", + ]; + const eventHandler = { name: eventName, - event: "jsSdkTest:eventHandler:1", + event: event, active: true, actions: [], - description: "jsSdkTestdescription", - tags: [{ key: "jsSdkTestTagkey", value: "jsSdkTestTagvalue" }], + description: eventDescription, + tags: [{ key: eventTagKey, value: eventTagValue }], }; await eventApi.addEventHandler(eventHandler); - const eventHandlers = await eventApi.getEventHandlersForEvent(eventName); + const eventHandlers = await eventApi.getEventHandlersForEvent(event); expect(eventHandlers.length).toEqual(1); - expect(eventHandlers[0].description).toEqual("jsSdkTestdescription"); + expect(eventHandlers[0].description).toEqual(eventDescription); expect(eventHandlers[0].tags).toEqual([ - { key: "jsSdkTestTagkey", value: "jsSdkTestTagvalue" }, + { key: eventTagKey, value: eventTagValue }, ]); await eventApi.removeEventHandlerStatus(eventName); const eventHandlersAfterRemove = await eventApi.getEventHandlersForEvent( - eventName + event ); expect(eventHandlersAfterRemove.length).toEqual(0);