Skip to content

Commit

Permalink
js: Pull in more changes from codegen
Browse files Browse the repository at this point in the history
  • Loading branch information
svix-jplatte committed Jan 30, 2025
1 parent 71fafa4 commit 65cc522
Show file tree
Hide file tree
Showing 9 changed files with 97 additions and 19 deletions.
4 changes: 3 additions & 1 deletion javascript/src/api/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ export interface ApplicationListOptions {
order?: Ordering;
}

export interface ApplicationCreateOptions extends PostOptions {}

export class Application {
public constructor(private readonly requestCtx: SvixRequestContext) {}

Expand All @@ -35,7 +37,7 @@ export class Application {
/** Create a new application. */
public create(
applicationIn: ApplicationIn,
options?: PostOptions
options?: ApplicationCreateOptions
): Promise<ApplicationOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/app");

Expand Down
16 changes: 12 additions & 4 deletions javascript/src/api/authentication.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,22 @@ 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) {}

/** Use this function to get magic links (and authentication codes) for connecting your users to the Consumer Application Portal. */
public appPortalAccess(
appId: string,
appPortalAccessIn: AppPortalAccessIn,
options?: PostOptions
options?: AuthenticationAppPortalAccessOptions
): Promise<AppPortalAccessOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand All @@ -33,7 +41,7 @@ export class Authentication {
public expireAll(
appId: string,
applicationTokenExpireIn: ApplicationTokenExpireIn,
options?: PostOptions
options?: AuthenticationExpireAllOptions
): Promise<void> {
const request = new SvixRequest(
HttpMethod.POST,
Expand All @@ -56,7 +64,7 @@ export class Authentication {
*/
public dashboardAccess(
appId: string,
options?: PostOptions
options?: AuthenticationDashboardAccessOptions
): Promise<DashboardAccessOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand All @@ -74,7 +82,7 @@ export class Authentication {
*
* Trying to log out other tokens will fail.
*/
public logout(options?: PostOptions): Promise<void> {
public logout(options?: AuthenticationLogoutOptions): Promise<void> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/auth/logout");

request.setHeaderParam("idempotency-key", options?.idempotencyKey);
Expand Down
20 changes: 15 additions & 5 deletions javascript/src/api/endpoint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -67,7 +77,7 @@ export class Endpoint {
public create(
appId: string,
endpointIn: EndpointIn,
options?: PostOptions
options?: EndpointCreateOptions
): Promise<EndpointOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/endpoint");

Expand Down Expand Up @@ -214,7 +224,7 @@ export class Endpoint {
appId: string,
endpointId: string,
recoverIn: RecoverIn,
options?: PostOptions
options?: EndpointRecoverOptions
): Promise<RecoverOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand All @@ -239,7 +249,7 @@ export class Endpoint {
appId: string,
endpointId: string,
replayIn: ReplayIn,
options?: PostOptions
options?: EndpointReplayMissingOptions
): Promise<ReplayOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down Expand Up @@ -281,7 +291,7 @@ export class Endpoint {
appId: string,
endpointId: string,
endpointSecretRotateIn: EndpointSecretRotateIn,
options?: PostOptions
options?: EndpointRotateSecretOptions
): Promise<void> {
const request = new SvixRequest(
HttpMethod.POST,
Expand All @@ -301,7 +311,7 @@ export class Endpoint {
appId: string,
endpointId: string,
eventExampleIn: EventExampleIn,
options?: PostOptions
options?: EndpointSendExampleOptions
): Promise<MessageOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down
11 changes: 9 additions & 2 deletions javascript/src/api/event_type.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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<EventTypeOut> {
public create(
eventTypeIn: EventTypeIn,
options?: EventTypeCreateOptions
): Promise<EventTypeOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/event-type");

request.setHeaderParam("idempotency-key", options?.idempotencyKey);
Expand All @@ -71,7 +78,7 @@ export class EventType {
*/
public importOpenapi(
eventTypeImportOpenApiIn: EventTypeImportOpenApiIn,
options?: PostOptions
options?: EventTypeImportOpenapiOptions
): Promise<EventTypeImportOpenApiOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/event-type/import/openapi");

Expand Down
8 changes: 6 additions & 2 deletions javascript/src/api/integration.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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) {}

Expand All @@ -41,7 +45,7 @@ export class Integration {
public create(
appId: string,
integrationIn: IntegrationIn,
options?: PostOptions
options?: IntegrationCreateOptions
): Promise<IntegrationOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/app/{app_id}/integration");

Expand Down Expand Up @@ -117,7 +121,7 @@ export class Integration {
public rotateKey(
appId: string,
integId: string,
options?: PostOptions
options?: IntegrationRotateKeyOptions
): Promise<IntegrationKeyOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down
8 changes: 7 additions & 1 deletion javascript/src/api/message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -74,11 +79,12 @@ export class Message {
public create(
appId: string,
messageIn: MessageIn,
options?: PostOptions
options?: MessageCreateOptions
): Promise<MessageOut> {
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");

Expand Down
4 changes: 3 additions & 1 deletion javascript/src/api/message_attempt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,8 @@ export interface MessageAttemptListAttemptedDestinationsOptions {
iterator?: string | null;
}

export interface MessageAttemptResendOptions extends PostOptions {}

export class MessageAttempt {
public constructor(private readonly requestCtx: SvixRequestContext) {}

Expand Down Expand Up @@ -285,7 +287,7 @@ export class MessageAttempt {
appId: string,
msgId: string,
endpointId: string,
options?: PostOptions
options?: MessageAttemptResendOptions
): Promise<void> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down
41 changes: 39 additions & 2 deletions javascript/src/api/operational_webhook_endpoint.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// this file is @generated
import {
ListResponseOperationalWebhookEndpointOut,
OperationalWebhookEndpointHeadersIn,
OperationalWebhookEndpointHeadersOut,
OperationalWebhookEndpointIn,
OperationalWebhookEndpointOut,
OperationalWebhookEndpointSecretIn,
Expand All @@ -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) {}

Expand All @@ -42,7 +48,7 @@ export class OperationalWebhookEndpoint {
/** Create an operational webhook endpoint. */
public create(
operationalWebhookEndpointIn: OperationalWebhookEndpointIn,
options?: PostOptions
options?: OperationalWebhookEndpointCreateOptions
): Promise<OperationalWebhookEndpointOut> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down Expand Up @@ -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<OperationalWebhookEndpointHeadersOut> {
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<void> {
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.
*
Expand All @@ -120,7 +157,7 @@ export class OperationalWebhookEndpoint {
public rotateSecret(
endpointId: string,
operationalWebhookEndpointSecretIn: OperationalWebhookEndpointSecretIn,
options?: PostOptions
options?: OperationalWebhookEndpointRotateSecretOptions
): Promise<void> {
const request = new SvixRequest(
HttpMethod.POST,
Expand Down
4 changes: 3 additions & 1 deletion javascript/src/api/statistics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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) {}

Expand All @@ -14,7 +16,7 @@ export class Statistics {
*/
public aggregateAppStats(
appUsageStatsIn: AppUsageStatsIn,
options?: PostOptions
options?: StatisticsAggregateAppStatsOptions
): Promise<AppUsageStatsOut> {
const request = new SvixRequest(HttpMethod.POST, "/api/v1/stats/usage/app");

Expand Down

0 comments on commit 65cc522

Please sign in to comment.