/* * 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 { safeParse } from "../../lib/schemas.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; export type OrganizationCapabilities = { /** * Whether the organization can accept new checkout payments. */ checkoutPayments: boolean; /** * Whether the organization can process subscription renewals. */ subscriptionRenewals: boolean; /** * Whether the organization can withdraw its balance. */ payouts: boolean; /** * Whether the organization can issue refunds. */ refunds: boolean; /** * Whether the organization can access the API. */ apiAccess: boolean; /** * Whether the organization can access the dashboard. */ dashboardAccess: boolean; }; /** @internal */ export const OrganizationCapabilities$inboundSchema: z.ZodMiniType< OrganizationCapabilities, unknown > = z.pipe( z.object({ checkout_payments: z.boolean(), subscription_renewals: z.boolean(), payouts: z.boolean(), refunds: z.boolean(), api_access: z.boolean(), dashboard_access: z.boolean(), }), z.transform((v) => { return remap$(v, { "checkout_payments": "checkoutPayments", "subscription_renewals": "subscriptionRenewals", "api_access": "apiAccess", "dashboard_access": "dashboardAccess", }); }), ); /** @internal */ export type OrganizationCapabilities$Outbound = { checkout_payments: boolean; subscription_renewals: boolean; payouts: boolean; refunds: boolean; api_access: boolean; dashboard_access: boolean; }; /** @internal */ export const OrganizationCapabilities$outboundSchema: z.ZodMiniType< OrganizationCapabilities$Outbound, OrganizationCapabilities > = z.pipe( z.object({ checkoutPayments: z.boolean(), subscriptionRenewals: z.boolean(), payouts: z.boolean(), refunds: z.boolean(), apiAccess: z.boolean(), dashboardAccess: z.boolean(), }), z.transform((v) => { return remap$(v, { checkoutPayments: "checkout_payments", subscriptionRenewals: "subscription_renewals", apiAccess: "api_access", dashboardAccess: "dashboard_access", }); }), ); export function organizationCapabilitiesToJSON( organizationCapabilities: OrganizationCapabilities, ): string { return JSON.stringify( OrganizationCapabilities$outboundSchema.parse(organizationCapabilities), ); } export function organizationCapabilitiesFromJSON( jsonString: string, ): SafeParseResult { return safeParse( jsonString, (x) => OrganizationCapabilities$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'OrganizationCapabilities' from JSON`, ); }