import {z} from 'zod' export type GetApiApiAbpApplicationConfigurationArgs = {IncludeLocalizationResources?: boolean | undefined}; export type GetApiApiAbpApplicationConfigurationOptions = {baseUrl: string, oauth2?: string | undefined, fetch?: typeof fetch | undefined}; export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationLocalizationResourceDto = z.object({texts: z.record(z.string(), z.string()).nullable().optional(), baseResources: z.array(z.string()).nullable().optional()}); export const voloAbpLocalizationLanguageInfo = z.object({cultureName: z.string().nullable().optional(), uiCultureName: z.string().nullable().optional(), displayName: z.string().nullable().optional(), twoLetterISOLanguageName: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsDateTimeFormatDto = z.object({calendarAlgorithmType: z.string().nullable().optional(), dateTimeFormatLong: z.string().nullable().optional(), shortDatePattern: z.string().nullable().optional(), fullDateTimePattern: z.string().nullable().optional(), dateSeparator: z.string().nullable().optional(), shortTimePattern: z.string().nullable().optional(), longTimePattern: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsCurrentCultureDto = z.object({displayName: z.string().nullable().optional(), englishName: z.string().nullable().optional(), threeLetterIsoLanguageName: z.string().nullable().optional(), twoLetterIsoLanguageName: z.string().nullable().optional(), isRightToLeft: z.boolean().optional(), cultureName: z.string().nullable().optional(), name: z.string().nullable().optional(), nativeName: z.string().nullable().optional(), dateTimeFormat: voloAbpAspNetCoreMvcApplicationConfigurationsDateTimeFormatDto.optional()}); export const voloAbpNameValue = z.object({name: z.string().nullable().optional(), value: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationLocalizationConfigurationDto = z.object({values: z.record(z.string(), z.record(z.string(), z.string())).nullable().optional(), resources: z.record(z.string(), voloAbpAspNetCoreMvcApplicationConfigurationsApplicationLocalizationResourceDto).nullable().optional(), languages: z.array(voloAbpLocalizationLanguageInfo).nullable().optional(), currentCulture: voloAbpAspNetCoreMvcApplicationConfigurationsCurrentCultureDto.optional(), defaultResourceName: z.string().nullable().optional(), languagesMap: z.record(z.string(), z.array(voloAbpNameValue)).nullable().optional(), languageFilesMap: z.record(z.string(), z.array(voloAbpNameValue)).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationAuthConfigurationDto = z.object({grantedPolicies: z.record(z.string(), z.boolean()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationSettingConfigurationDto = z.object({values: z.record(z.string(), z.string().nullable()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsCurrentUserDto = z.object({isAuthenticated: z.boolean().optional(), id: z.string().nullable().optional(), tenantId: z.string().nullable().optional(), impersonatorUserId: z.string().nullable().optional(), impersonatorTenantId: z.string().nullable().optional(), impersonatorUserName: z.string().nullable().optional(), impersonatorTenantName: z.string().nullable().optional(), userName: z.string().nullable().optional(), name: z.string().nullable().optional(), surName: z.string().nullable().optional(), email: z.string().nullable().optional(), emailVerified: z.boolean().optional(), phoneNumber: z.string().nullable().optional(), phoneNumberVerified: z.boolean().optional(), roles: z.array(z.string()).nullable().optional(), sessionId: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationFeatureConfigurationDto = z.object({values: z.record(z.string(), z.string().nullable()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationGlobalFeatureConfigurationDto = z.object({enabledFeatures: z.array(z.string()).nullable().optional()}); export const voloAbpAspNetCoreMvcMultiTenancyMultiTenancyInfoDto = z.object({isEnabled: z.boolean().optional()}); export const voloAbpAspNetCoreMvcMultiTenancyCurrentTenantDto = z.object({id: z.string().nullable().optional(), name: z.string().nullable().optional(), isAvailable: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsIanaTimeZone = z.object({timeZoneName: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsWindowsTimeZone = z.object({timeZoneId: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsTimeZone = z.object({iana: voloAbpAspNetCoreMvcApplicationConfigurationsIanaTimeZone.optional(), windows: voloAbpAspNetCoreMvcApplicationConfigurationsWindowsTimeZone.optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsTimingDto = z.object({timeZone: voloAbpAspNetCoreMvcApplicationConfigurationsTimeZone.optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsClockDto = z.object({kind: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingLocalizableStringDto = z.object({name: z.string().nullable().optional(), resource: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiGetDto = z.object({isAvailable: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiCreateDto = z.object({isAvailable: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiUpdateDto = z.object({isAvailable: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiDto = z.object({onGet: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiGetDto.optional(), onCreate: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiCreateDto.optional(), onUpdate: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiUpdateDto.optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiTableDto = z.object({isVisible: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiFormDto = z.object({isVisible: z.boolean().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiLookupDto = z.object({url: z.string().nullable().optional(), resultListPropertyName: z.string().nullable().optional(), displayPropertyName: z.string().nullable().optional(), valuePropertyName: z.string().nullable().optional(), filterParamName: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiDto = z.object({onTable: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiTableDto.optional(), onCreateForm: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiFormDto.optional(), onEditForm: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiFormDto.optional(), lookup: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiLookupDto.optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyAttributeDto = z.object({typeSimple: z.string().nullable().optional(), config: z.record(z.string(), z.unknown()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyDto = z.object({type: z.string().nullable().optional(), typeSimple: z.string().nullable().optional(), displayName: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingLocalizableStringDto.optional(), api: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyApiDto.optional(), ui: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyUiDto.optional(), attributes: z.array(voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyAttributeDto).nullable().optional(), configuration: z.record(z.string(), z.unknown()).nullable().optional(), defaultValue: z.unknown()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingEntityExtensionDto = z.object({properties: z.record(z.string(), voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionPropertyDto).nullable().optional(), configuration: z.record(z.string(), z.unknown()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingModuleExtensionDto = z.object({entities: z.record(z.string(), voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingEntityExtensionDto).nullable().optional(), configuration: z.record(z.string(), z.unknown()).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionEnumFieldDto = z.object({name: z.string().nullable().optional(), value: z.unknown()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionEnumDto = z.object({fields: z.array(voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionEnumFieldDto).nullable().optional(), localizationResource: z.string().nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingObjectExtensionsDto = z.object({modules: z.record(z.string(), voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingModuleExtensionDto).nullable().optional(), enums: z.record(z.string(), voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingExtensionEnumDto).nullable().optional()}); export const voloAbpAspNetCoreMvcApplicationConfigurationsApplicationConfigurationDto = z.object({localization: voloAbpAspNetCoreMvcApplicationConfigurationsApplicationLocalizationConfigurationDto.optional(), auth: voloAbpAspNetCoreMvcApplicationConfigurationsApplicationAuthConfigurationDto.optional(), setting: voloAbpAspNetCoreMvcApplicationConfigurationsApplicationSettingConfigurationDto.optional(), currentUser: voloAbpAspNetCoreMvcApplicationConfigurationsCurrentUserDto.optional(), features: voloAbpAspNetCoreMvcApplicationConfigurationsApplicationFeatureConfigurationDto.optional(), globalFeatures: voloAbpAspNetCoreMvcApplicationConfigurationsApplicationGlobalFeatureConfigurationDto.optional(), multiTenancy: voloAbpAspNetCoreMvcMultiTenancyMultiTenancyInfoDto.optional(), currentTenant: voloAbpAspNetCoreMvcMultiTenancyCurrentTenantDto.optional(), timing: voloAbpAspNetCoreMvcApplicationConfigurationsTimingDto.optional(), clock: voloAbpAspNetCoreMvcApplicationConfigurationsClockDto.optional(), objectExtensions: voloAbpAspNetCoreMvcApplicationConfigurationsObjectExtendingObjectExtensionsDto.optional(), extraProperties: z.record(z.string(), z.unknown()).nullable().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * GET /api/abp/application-configuration */ export const getApiApiAbpApplicationConfiguration = async (args: GetApiApiAbpApplicationConfigurationArgs, options: GetApiApiAbpApplicationConfigurationOptions) => { const {baseUrl, fetch: fetchFn = fetch, oauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.IncludeLocalizationResources != null) query.append("IncludeLocalizationResources", String(args.IncludeLocalizationResources)) if (oauth2 !== undefined) headers.set('authorization', `Bearer ${oauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/abp/application-configuration${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(voloAbpAspNetCoreMvcApplicationConfigurationsApplicationConfigurationDto, await res.json()) };