/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { ClosedEnum } from "../../types/enums.js"; import { SubType, SubType$outboundSchema } from "./subtype.js"; export const OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod = { ClientSecretBasic: "client_secret_basic", ClientSecretPost: "client_secret_post", None: "none", } as const; export type OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod = ClosedEnum< typeof OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod >; export const OAuth2ClientConfigurationUpdateGrantTypes = { AuthorizationCode: "authorization_code", RefreshToken: "refresh_token", } as const; export type OAuth2ClientConfigurationUpdateGrantTypes = ClosedEnum< typeof OAuth2ClientConfigurationUpdateGrantTypes >; export type OAuth2ClientConfigurationUpdate = { redirectUris: Array; tokenEndpointAuthMethod?: | OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod | undefined; grantTypes?: Array | undefined; responseTypes?: Array | undefined; scope?: string | undefined; clientName: string; clientUri?: string | null | undefined; logoUri?: string | null | undefined; tosUri?: string | null | undefined; policyUri?: string | null | undefined; defaultSubType?: SubType | undefined; clientId: string; }; /** @internal */ export const OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod$outboundSchema: z.ZodMiniEnum = z.enum(OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod); /** @internal */ export const OAuth2ClientConfigurationUpdateGrantTypes$outboundSchema: z.ZodMiniEnum = z.enum( OAuth2ClientConfigurationUpdateGrantTypes, ); /** @internal */ export type OAuth2ClientConfigurationUpdate$Outbound = { redirect_uris: Array; token_endpoint_auth_method: string; grant_types?: Array | undefined; response_types?: Array | undefined; scope: string; client_name: string; client_uri?: string | null | undefined; logo_uri?: string | null | undefined; tos_uri?: string | null | undefined; policy_uri?: string | null | undefined; default_sub_type?: string | undefined; client_id: string; }; /** @internal */ export const OAuth2ClientConfigurationUpdate$outboundSchema: z.ZodMiniType< OAuth2ClientConfigurationUpdate$Outbound, OAuth2ClientConfigurationUpdate > = z.pipe( z.object({ redirectUris: z.array(z.string()), tokenEndpointAuthMethod: z._default( OAuth2ClientConfigurationUpdateTokenEndpointAuthMethod$outboundSchema, "client_secret_post", ), grantTypes: z.optional( z.array(OAuth2ClientConfigurationUpdateGrantTypes$outboundSchema), ), responseTypes: z.optional(z.array(z.string())), scope: z._default( z.string(), "openid profile email user:read user:write organizations:read organizations:write custom_fields:read custom_fields:write discounts:read discounts:write checkout_links:read checkout_links:write checkouts:read checkouts:write transactions:read transactions:write payouts:read payouts:write products:read products:write benefits:read benefits:write events:read events:write meters:read meters:write files:read files:write subscriptions:read subscriptions:write customers:read customers:write members:read members:write wallets:read wallets:write disputes:read customer_meters:read customer_sessions:write member_sessions:write customer_seats:read customer_seats:write orders:read orders:write refunds:read refunds:write payments:read metrics:read metrics:write webhooks:read webhooks:write license_keys:read license_keys:write customer_portal:read customer_portal:write notifications:read notifications:write notification_recipients:read notification_recipients:write organization_access_tokens:read organization_access_tokens:write", ), clientName: z.string(), clientUri: z.optional(z.nullable(z.string())), logoUri: z.optional(z.nullable(z.string())), tosUri: z.optional(z.nullable(z.string())), policyUri: z.optional(z.nullable(z.string())), defaultSubType: z.optional(SubType$outboundSchema), clientId: z.string(), }), z.transform((v) => { return remap$(v, { redirectUris: "redirect_uris", tokenEndpointAuthMethod: "token_endpoint_auth_method", grantTypes: "grant_types", responseTypes: "response_types", clientName: "client_name", clientUri: "client_uri", logoUri: "logo_uri", tosUri: "tos_uri", policyUri: "policy_uri", defaultSubType: "default_sub_type", clientId: "client_id", }); }), ); export function oAuth2ClientConfigurationUpdateToJSON( oAuth2ClientConfigurationUpdate: OAuth2ClientConfigurationUpdate, ): string { return JSON.stringify( OAuth2ClientConfigurationUpdate$outboundSchema.parse( oAuth2ClientConfigurationUpdate, ), ); }