export type Version = {Major?: number | undefined, Minor?: number | undefined, Build?: number | undefined, Revision?: number | undefined, MajorRevision?: number | undefined, MinorRevision?: number | undefined}; export type ImageSavingConvention = 'Legacy' | 'Compatible'; export type MetadataOptions = {ItemType?: (string | null) | undefined, DisabledMetadataSavers?: (Array | null) | undefined, LocalMetadataReaderOrder?: (Array | null) | undefined, DisabledMetadataFetchers?: (Array | null) | undefined, MetadataFetcherOrder?: (Array | null) | undefined, DisabledImageFetchers?: (Array | null) | undefined, ImageFetcherOrder?: (Array | null) | undefined}; export type NameValuePair = {Name?: (string | null) | undefined, Value?: (string | null) | undefined}; export type RepositoryInfo = {Name?: (string | null) | undefined, Url?: (string | null) | undefined, Enabled?: boolean | undefined}; export type PathSubstitution = {From?: (string | null) | undefined, To?: (string | null) | undefined}; export type ServerConfiguration = {LogFileRetentionDays?: number | undefined, IsStartupWizardCompleted?: boolean | undefined, CachePath?: (string | null) | undefined, PreviousVersion?: Version | undefined, PreviousVersionStr?: (string | null) | undefined, EnableUPnP?: boolean | undefined, EnableMetrics?: boolean | undefined, PublicPort?: number | undefined, UPnPCreateHttpPortMap?: boolean | undefined, UDPPortRange?: (string | null) | undefined, EnableIPV6?: boolean | undefined, EnableIPV4?: boolean | undefined, EnableSSDPTracing?: boolean | undefined, SSDPTracingFilter?: (string | null) | undefined, UDPSendCount?: number | undefined, UDPSendDelay?: number | undefined, IgnoreVirtualInterfaces?: boolean | undefined, VirtualInterfaceNames?: (string | null) | undefined, GatewayMonitorPeriod?: number | undefined, EnableMultiSocketBinding?: boolean | undefined, TrustAllIP6Interfaces?: boolean | undefined, HDHomerunPortRange?: (string | null) | undefined, PublishedServerUriBySubnet?: (Array | null) | undefined, AutoDiscoveryTracing?: boolean | undefined, AutoDiscovery?: boolean | undefined, PublicHttpsPort?: number | undefined, HttpServerPortNumber?: number | undefined, HttpsPortNumber?: number | undefined, EnableHttps?: boolean | undefined, EnableNormalizedItemByNameIds?: boolean | undefined, CertificatePath?: (string | null) | undefined, CertificatePassword?: (string | null) | undefined, IsPortAuthorized?: boolean | undefined, QuickConnectAvailable?: boolean | undefined, EnableRemoteAccess?: boolean | undefined, EnableCaseSensitiveItemIds?: boolean | undefined, DisableLiveTvChannelUserDataName?: boolean | undefined, MetadataPath?: (string | null) | undefined, MetadataNetworkPath?: (string | null) | undefined, PreferredMetadataLanguage?: (string | null) | undefined, MetadataCountryCode?: (string | null) | undefined, SortReplaceCharacters?: (Array | null) | undefined, SortRemoveCharacters?: (Array | null) | undefined, SortRemoveWords?: (Array | null) | undefined, MinResumePct?: number | undefined, MaxResumePct?: number | undefined, MinResumeDurationSeconds?: number | undefined, MinAudiobookResume?: number | undefined, MaxAudiobookResume?: number | undefined, LibraryMonitorDelay?: number | undefined, EnableDashboardResponseCaching?: boolean | undefined, ImageSavingConvention?: ImageSavingConvention | undefined, MetadataOptions?: (Array | null) | undefined, SkipDeserializationForBasicTypes?: boolean | undefined, ServerName?: (string | null) | undefined, BaseUrl?: (string | null) | undefined, UICulture?: (string | null) | undefined, SaveMetadataHidden?: boolean | undefined, ContentTypes?: (Array | null) | undefined, RemoteClientBitrateLimit?: number | undefined, EnableFolderView?: boolean | undefined, EnableGroupingIntoCollections?: boolean | undefined, DisplaySpecialsWithinSeasons?: boolean | undefined, LocalNetworkSubnets?: (Array | null) | undefined, LocalNetworkAddresses?: (Array | null) | undefined, CodecsUsed?: (Array | null) | undefined, PluginRepositories?: (Array | null) | undefined, EnableExternalContentInSuggestions?: boolean | undefined, RequireHttps?: boolean | undefined, EnableNewOmdbSupport?: boolean | undefined, RemoteIPFilter?: (Array | null) | undefined, IsRemoteIPFilterBlacklist?: boolean | undefined, ImageExtractionTimeoutMs?: number | undefined, PathSubstitutions?: (Array | null) | undefined, EnableSimpleArtistDetection?: boolean | undefined, UninstalledPlugins?: (Array | null) | undefined, EnableSlowResponseWarning?: boolean | undefined, SlowResponseThresholdMs?: number | undefined, CorsHosts?: (Array | null) | undefined, KnownProxies?: (Array | null) | undefined, ActivityLogRetentionDays?: (number | null) | undefined, LibraryScanFanoutConcurrency?: number | undefined, LibraryMetadataRefreshConcurrency?: number | undefined, RemoveOldPlugins?: boolean | undefined, DisablePluginImages?: boolean | undefined}; export type CreateApiSystemConfigurationArgs = {body: ServerConfiguration}; export type CreateApiSystemConfigurationOptions = {baseUrl?: string | undefined, CustomAuthentication?: string | undefined, fetch?: typeof fetch | undefined}; /** * Updates application configuration. * * POST /System/Configuration */ export const createApiSystemConfiguration = async (args: CreateApiSystemConfigurationArgs, options?: CreateApiSystemConfigurationOptions) => { const {baseUrl = "http://localhost", fetch: fetchFn = fetch, CustomAuthentication} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (CustomAuthentication !== undefined) headers.set("X-Emby-Authorization", CustomAuthentication) const url = `${baseUrl.replace(/\/+$/, '')}/System/Configuration${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };