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..aee578f1 --- /dev/null +++ b/src/common/open-api/__test__/EventResourceService.test.ts @@ -0,0 +1,42 @@ +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, event, eventDescription, eventTagKey, eventTagValue] = [ + "jsSdkTestEventName", + "jsSdkTest:eventHandler:1", + "jsSdkTestDescription", + "jsSdkTestTagKey", + "jsSdkTestTagValue", + ]; + + const eventHandler = { + name: eventName, + event: event, + active: true, + actions: [], + description: eventDescription, + tags: [{ key: eventTagKey, value: eventTagValue }], + }; + + await eventApi.addEventHandler(eventHandler); + const eventHandlers = await eventApi.getEventHandlersForEvent(event); + + expect(eventHandlers.length).toEqual(1); + expect(eventHandlers[0].description).toEqual(eventDescription); + expect(eventHandlers[0].tags).toEqual([ + { key: eventTagKey, value: eventTagValue }, + ]); + + await eventApi.removeEventHandlerStatus(eventName); + const eventHandlersAfterRemove = await eventApi.getEventHandlersForEvent( + event + ); + + expect(eventHandlersAfterRemove.length).toEqual(0); + }); +}); 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..bd2b65f4 --- /dev/null +++ b/src/common/open-api/models/Tag.ts @@ -0,0 +1,12 @@ +/* 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; +}; 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', + }); + } }