From 7edbc73e4f2d65ef3a5d9e19126fc2dfc26f8d85 Mon Sep 17 00:00:00 2001 From: Marko Ognjenovic Date: Thu, 31 Jul 2025 15:27:20 +0200 Subject: [PATCH 1/4] Implement templates SDK --- src/endpoints/Templates/Client.ts | 52 +++++++++++++++++++++++++++++++ src/endpoints/Templates/index.ts | 2 ++ src/endpoints/Templates/types.ts | 9 ++++++ src/endpoints/index.ts | 1 + src/routing.ts | 1 + src/types/Template.ts | 12 +++++++ src/types/index.ts | 1 + 7 files changed, 78 insertions(+) create mode 100644 src/endpoints/Templates/Client.ts create mode 100644 src/endpoints/Templates/index.ts create mode 100644 src/endpoints/Templates/types.ts create mode 100644 src/types/Template.ts diff --git a/src/endpoints/Templates/Client.ts b/src/endpoints/Templates/Client.ts new file mode 100644 index 00000000..b613e572 --- /dev/null +++ b/src/endpoints/Templates/Client.ts @@ -0,0 +1,52 @@ +import type { DeferredJobsApiClient } from '../../api'; +import { routing } from '../../routing'; +import type { Template } from '../../types'; + +import type { CreateRequest, UpdateRequest } from './types'; + +type TemplateId = Template['id']; + +export type Client = ReturnType; + +export function createClient(api: DeferredJobsApiClient) { + async function list(): Promise { + const url = routing.templatesUrl; + const { templates } = await api.get<{ templates: Template[] }>(url); + return templates; + } + + async function get(templateId: TemplateId): Promise