From 65cc522648d0dbc94e3b89df8a01c613c0bc583f Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 30 Jan 2025 15:25:40 +0100 Subject: [PATCH] js: Pull in more changes from codegen --- javascript/src/api/application.ts | 4 +- javascript/src/api/authentication.ts | 16 ++++++-- javascript/src/api/endpoint.ts | 20 ++++++--- javascript/src/api/event_type.ts | 11 ++++- javascript/src/api/integration.ts | 8 +++- javascript/src/api/message.ts | 8 +++- javascript/src/api/message_attempt.ts | 4 +- .../src/api/operational_webhook_endpoint.ts | 41 ++++++++++++++++++- javascript/src/api/statistics.ts | 4 +- 9 files changed, 97 insertions(+), 19 deletions(-) diff --git a/javascript/src/api/application.ts b/javascript/src/api/application.ts index e6ebb89316..97a1142bf4 100644 --- a/javascript/src/api/application.ts +++ b/javascript/src/api/application.ts @@ -18,6 +18,8 @@ export interface ApplicationListOptions { order?: Ordering; } +export interface ApplicationCreateOptions extends PostOptions {} + export class Application { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -35,7 +37,7 @@ export class Application { /** Create a new application. */ public create( applicationIn: ApplicationIn, - options?: PostOptions + options?: ApplicationCreateOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/app"); diff --git a/javascript/src/api/authentication.ts b/javascript/src/api/authentication.ts index 4d85c04cdf..da7384abff 100644 --- a/javascript/src/api/authentication.ts +++ b/javascript/src/api/authentication.ts @@ -8,6 +8,14 @@ import { import { HttpMethod, SvixRequest, SvixRequestContext } from "../request"; import { PostOptions } from "../util"; +export interface AuthenticationAppPortalAccessOptions extends PostOptions {} + +export interface AuthenticationExpireAllOptions extends PostOptions {} + +export interface AuthenticationDashboardAccessOptions extends PostOptions {} + +export interface AuthenticationLogoutOptions extends PostOptions {} + export class Authentication { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -15,7 +23,7 @@ export class Authentication { public appPortalAccess( appId: string, appPortalAccessIn: AppPortalAccessIn, - options?: PostOptions + options?: AuthenticationAppPortalAccessOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -33,7 +41,7 @@ export class Authentication { public expireAll( appId: string, applicationTokenExpireIn: ApplicationTokenExpireIn, - options?: PostOptions + options?: AuthenticationExpireAllOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -56,7 +64,7 @@ export class Authentication { */ public dashboardAccess( appId: string, - options?: PostOptions + options?: AuthenticationDashboardAccessOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -74,7 +82,7 @@ export class Authentication { * * Trying to log out other tokens will fail. */ - public logout(options?: PostOptions): Promise { + public logout(options?: AuthenticationLogoutOptions): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/auth/logout"); request.setHeaderParam("idempotency-key", options?.idempotencyKey); diff --git a/javascript/src/api/endpoint.ts b/javascript/src/api/endpoint.ts index 2bbf731e79..f918517dc1 100644 --- a/javascript/src/api/endpoint.ts +++ b/javascript/src/api/endpoint.ts @@ -34,6 +34,16 @@ export interface EndpointListOptions { order?: Ordering; } +export interface EndpointCreateOptions extends PostOptions {} + +export interface EndpointRecoverOptions extends PostOptions {} + +export interface EndpointReplayMissingOptions extends PostOptions {} + +export interface EndpointRotateSecretOptions extends PostOptions {} + +export interface EndpointSendExampleOptions extends PostOptions {} + export interface EndpointGetStatsOptions { /** Filter the range to data starting from this date. */ since?: Date | null; @@ -67,7 +77,7 @@ export class Endpoint { public create( appId: string, endpointIn: EndpointIn, - options?: PostOptions + options?: EndpointCreateOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/endpoint"); @@ -214,7 +224,7 @@ export class Endpoint { appId: string, endpointId: string, recoverIn: RecoverIn, - options?: PostOptions + options?: EndpointRecoverOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -239,7 +249,7 @@ export class Endpoint { appId: string, endpointId: string, replayIn: ReplayIn, - options?: PostOptions + options?: EndpointReplayMissingOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -281,7 +291,7 @@ export class Endpoint { appId: string, endpointId: string, endpointSecretRotateIn: EndpointSecretRotateIn, - options?: PostOptions + options?: EndpointRotateSecretOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -301,7 +311,7 @@ export class Endpoint { appId: string, endpointId: string, eventExampleIn: EventExampleIn, - options?: PostOptions + options?: EndpointSendExampleOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, diff --git a/javascript/src/api/event_type.ts b/javascript/src/api/event_type.ts index ca5a13dae9..ad9ea1a0d9 100644 --- a/javascript/src/api/event_type.ts +++ b/javascript/src/api/event_type.ts @@ -25,6 +25,10 @@ export interface EventTypeListOptions { withContent?: boolean; } +export interface EventTypeCreateOptions extends PostOptions {} + +export interface EventTypeImportOpenapiOptions extends PostOptions {} + export interface EventTypeDeleteOptions { /** By default event types are archived when "deleted". Passing this to `true` deletes them entirely. */ expunge?: boolean; @@ -53,7 +57,10 @@ export class EventType { * Endpoints filtering on the event type before archival will continue to filter on it. * This operation does not preserve the description and schemas. */ - public create(eventTypeIn: EventTypeIn, options?: PostOptions): Promise { + public create( + eventTypeIn: EventTypeIn, + options?: EventTypeCreateOptions + ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/event-type"); request.setHeaderParam("idempotency-key", options?.idempotencyKey); @@ -71,7 +78,7 @@ export class EventType { */ public importOpenapi( eventTypeImportOpenApiIn: EventTypeImportOpenApiIn, - options?: PostOptions + options?: EventTypeImportOpenapiOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/event-type/import/openapi"); diff --git a/javascript/src/api/integration.ts b/javascript/src/api/integration.ts index 02caaa7b04..e8c766f3fb 100644 --- a/javascript/src/api/integration.ts +++ b/javascript/src/api/integration.ts @@ -19,6 +19,10 @@ export interface IntegrationListOptions { order?: Ordering; } +export interface IntegrationCreateOptions extends PostOptions {} + +export interface IntegrationRotateKeyOptions extends PostOptions {} + export class Integration { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -41,7 +45,7 @@ export class Integration { public create( appId: string, integrationIn: IntegrationIn, - options?: PostOptions + options?: IntegrationCreateOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/integration"); @@ -117,7 +121,7 @@ export class Integration { public rotateKey( appId: string, integId: string, - options?: PostOptions + options?: IntegrationRotateKeyOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, diff --git a/javascript/src/api/message.ts b/javascript/src/api/message.ts index 7e38ea9324..47d685f68c 100644 --- a/javascript/src/api/message.ts +++ b/javascript/src/api/message.ts @@ -22,6 +22,11 @@ export interface MessageListOptions { eventTypes?: string[]; } +export interface MessageCreateOptions extends PostOptions { + /** When `true`, message payloads are included in the response. */ + withContent?: boolean; +} + export interface MessageGetOptions { /** When `true` message payloads are included in the response. */ withContent?: boolean; @@ -74,11 +79,12 @@ export class Message { public create( appId: string, messageIn: MessageIn, - options?: PostOptions + options?: MessageCreateOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/msg"); request.setPathParam("app_id", appId); + request.setQueryParam("with_content", options?.withContent); request.setHeaderParam("idempotency-key", options?.idempotencyKey); request.setBody(messageIn, "MessageIn"); diff --git a/javascript/src/api/message_attempt.ts b/javascript/src/api/message_attempt.ts index a1a1626523..f47603c723 100644 --- a/javascript/src/api/message_attempt.ts +++ b/javascript/src/api/message_attempt.ts @@ -100,6 +100,8 @@ export interface MessageAttemptListAttemptedDestinationsOptions { iterator?: string | null; } +export interface MessageAttemptResendOptions extends PostOptions {} + export class MessageAttempt { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -285,7 +287,7 @@ export class MessageAttempt { appId: string, msgId: string, endpointId: string, - options?: PostOptions + options?: MessageAttemptResendOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, diff --git a/javascript/src/api/operational_webhook_endpoint.ts b/javascript/src/api/operational_webhook_endpoint.ts index a77758e761..2d7ac3440b 100644 --- a/javascript/src/api/operational_webhook_endpoint.ts +++ b/javascript/src/api/operational_webhook_endpoint.ts @@ -1,6 +1,8 @@ // this file is @generated import { ListResponseOperationalWebhookEndpointOut, + OperationalWebhookEndpointHeadersIn, + OperationalWebhookEndpointHeadersOut, OperationalWebhookEndpointIn, OperationalWebhookEndpointOut, OperationalWebhookEndpointSecretIn, @@ -20,6 +22,10 @@ export interface OperationalWebhookEndpointListOptions { order?: Ordering; } +export interface OperationalWebhookEndpointCreateOptions extends PostOptions {} + +export interface OperationalWebhookEndpointRotateSecretOptions extends PostOptions {} + export class OperationalWebhookEndpoint { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -42,7 +48,7 @@ export class OperationalWebhookEndpoint { /** Create an operational webhook endpoint. */ public create( operationalWebhookEndpointIn: OperationalWebhookEndpointIn, - options?: PostOptions + options?: OperationalWebhookEndpointCreateOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, @@ -95,6 +101,37 @@ export class OperationalWebhookEndpoint { return request.sendNoResponseBody(this.requestCtx); } + /** Get the additional headers to be sent with the operational webhook. */ + public getHeaders(endpointId: string): Promise { + const request = new SvixRequest( + HttpMethod.GET, + "/api/v1/operational-webhook/endpoint/{endpoint_id}/headers" + ); + + request.setPathParam("endpoint_id", endpointId); + + return request.send(this.requestCtx, "OperationalWebhookEndpointHeadersOut"); + } + + /** Set the additional headers to be sent with the operational webhook. */ + public updateHeaders( + endpointId: string, + operationalWebhookEndpointHeadersIn: OperationalWebhookEndpointHeadersIn + ): Promise { + const request = new SvixRequest( + HttpMethod.PUT, + "/api/v1/operational-webhook/endpoint/{endpoint_id}/headers" + ); + + request.setPathParam("endpoint_id", endpointId); + request.setBody( + operationalWebhookEndpointHeadersIn, + "OperationalWebhookEndpointHeadersIn" + ); + + return request.sendNoResponseBody(this.requestCtx); + } + /** * Get an operational webhook endpoint's signing secret. * @@ -120,7 +157,7 @@ export class OperationalWebhookEndpoint { public rotateSecret( endpointId: string, operationalWebhookEndpointSecretIn: OperationalWebhookEndpointSecretIn, - options?: PostOptions + options?: OperationalWebhookEndpointRotateSecretOptions ): Promise { const request = new SvixRequest( HttpMethod.POST, diff --git a/javascript/src/api/statistics.ts b/javascript/src/api/statistics.ts index 657f1a29b5..dc94c2c7da 100644 --- a/javascript/src/api/statistics.ts +++ b/javascript/src/api/statistics.ts @@ -3,6 +3,8 @@ import { AggregateEventTypesOut, AppUsageStatsIn, AppUsageStatsOut } from "../op import { HttpMethod, SvixRequest, SvixRequestContext } from "../request"; import { PostOptions } from "../util"; +export interface StatisticsAggregateAppStatsOptions extends PostOptions {} + export class Statistics { public constructor(private readonly requestCtx: SvixRequestContext) {} @@ -14,7 +16,7 @@ export class Statistics { */ public aggregateAppStats( appUsageStatsIn: AppUsageStatsIn, - options?: PostOptions + options?: StatisticsAggregateAppStatsOptions ): Promise { const request = new SvixRequest(HttpMethod.POST, "/api/v1/stats/usage/app");