import {z} from 'zod' export type CreateApiEnterpriseConnectionsDistributorStoreIdDeliveryRemoveArgs = {distributorStoreId: number}; export type CreateApiEnterpriseConnectionsDistributorStoreIdDeliveryRemoveOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const mediaFile = z.object({fileId: z.string().optional(), isTemp: z.boolean().optional(), filename: z.string().optional(), externalUrl: z.string().optional(), lastUpdateDate: z.string().optional()}); export const genericDeliveryDistributorManager = z.object({distributionFtpCertificateFileId: z.string().optional(), distributionFtpCertificateFile: mediaFile.optional(), distributionFtpHost: z.string().optional(), distributionFtpUsername: z.string().optional(), distributionFtpPassword: z.string().optional(), distributionDdexId: z.string().optional(), distributionPartyName: z.string().optional(), distributionAwsExternalBucketPath: z.string().optional(), distributionAwsAccessKey: z.string().optional(), distributionAwsSecret: z.string().optional(), distributionAwsRegion: z.string().optional(), isConnected: z.boolean().optional(), lastTrendSync: z.string().optional(), lastSaleSync: z.string().optional(), distributorStore: z.enum(["na", "Nuuday", "_7Digital", "_8tracks", "ADA", "AdvancedTechnologiesGroup", "Aim4Music", "Akazoo", "Alibaba", "Amazon", "AMIEntertainment", "Amoeba", "Ampsuite", "Ampya", "Anghami", "Archambault", "ArchambaultDigital", "ATTMobility", "AudibleMagic", "Audius", "Avex", "Awa", "BEAT", "Beatno", "BeATTV", "Beatport", "BeatsMusic", "Believe", "BIWorldwide", "Bleep", "Blinkbox", "Bloomfm", "Boinc", "Boomkat", "BoostMobile", "BroadbandTV", "BTVision", "Bugs", "CanalDigital", "CDBaby", "CDON", "Cedech", "CellcastMedia", "ChartsNow", "ChinaMobile", "ChinaTelecom", "ChooseDigital", "ChristianBooks", "CJEM", "ClearChannel", "Clipfish", "Coke", "Cricket", "CrowdTunes", "Cylo", "DadaMobile", "Dailymotion", "DanalEntertainment", "Datanet", "DDEX32", "DDEX35", "DDEX382", "Deezer", "DigitalBreakage", "Digiteka", "DixeroMedia", "DJShopDanceAllDay", "DMD", "DreamOnKorea", "DuomiMusic", "Dwango", "DX3", "ElectricFetus", "EMI", "eMusic", "Emuzyka", "ENTEL", "ETSquare", "ExLibris", "Facebook", "FacebookFingerprinting", "FaithMusicRadio", "FletchersOneStop", "Fnac", "FranceTelecom", "Freshplanet", "GooglePlay", "GreatIndieMusic", "Groove", "GrooveMobile", "Guvera", "HangzhouMusic", "HDTracks", "HelloJuneNet", "Highresaudio", "HipDigitalMedia", "HKBroadband", "HMV", "HongKongCSL", "Hoopla", "Hutchinson3G", "IBS", "Iddiper", "iHeartMedia", "iHeartRadio", "IMesh", "IMIMobile", "iMusica", "IMVU", "InfostradaMusic", "Ingrooves", "InMusic", "Inprodicon", "InstantMediaNetwork", "IntegraInteractive", "InternetBookshop", "Ioda", "iTunesAppleMusic", "JPay", "JBHiFi", "JestaDigital", "Juno", "JustMusicTV", "JVLMusic", "K2Media", "KelloggCompany", "KKBOX", "Kleek", "KTMusic", "Kuwo", "LabelMobile", "Labelgate", "Lala", "LastFM", "LineMusic", "Lickd", "Listencom", "LivewireMobile", "LOENEntertainment", "MalaysianMobile", "Masilor", "MasterCard", "MCM", "Mediamarkt", "MediaNet", "Mediapark", "MelOnIndonesia", "Merlin", "MFlow", "MinistryofSound", "MirrorImage", "MixBurn", "MixRadio", "MLJ", "MMOMP3", "MobileStreams", "Mobilkom", "MobiTV", "MOG", "MondiaMedia", "Movistar", "MTI", "MTNMobileTelephoneNetworks", "MTVN", "MusicBox", "MusicLoad", "Musicjet", "MusicMe", "Musicnet", "MuveMusic", "Muzu", "MyMusic", "MySpaceMusic", "MyVideo", "NetEase", "NeuroticMedia", "Nikitin", "NMusic", "Nokia", "Now", "NSMMusic", "Ntelco", "NTTCommunications", "O2", "OD2", "OiTNL", "Omnifone", "Omusic", "Onet", "OnMobile", "Orange", "Oricon", "Pandora", "Parlophone", "Personal", "Phonofile", "PIAS", "Playcom", "PlayPL", "PlayNetworks", "Pono", "PortugalTelecom", "PrisaRadio", "Pulselocker", "PuntillaDistribution", "Qobuz", "rara", "Rdio", "REALNetworks", "RedTouchMedia", "RedeyeWorldwideDigital", "RevelatorFX", "RhapsodyNapster", "RIM", "RogersWIreless", "ROKMobile", "Rythm", "Saavn", "Sainsburys", "Samsung", "Sanity", "ScreenPlay", "Securycast", "Shazam", "Simfy", "Singtel", "Sirius", "SlackerRadio", "SMSAT", "Sockets", "SolitonAlpha", "Songbird", "Songl", "Songo", "SonidoAbsoluto", "SonyBreakage", "SonyMusic", "Soribada", "Soundbuzz", "Soundcloud", "SoundExchange", "Spinlet", "Spotify", "Starzik", "Statsbiblioteket", "Styngr", "Sunrise", "Swisscom", "Synacor", "Taobao", "TapeTV", "TargetMediaBV", "TargetMusic", "TecnoMobile", "TelecomItalia", "Telefonica", "Telenor", "Telstra", "Tencent", "Terra", "Tesco", "TheOrchard", "Tidal", "TIMCelular", "TIMMusic", "TIS", "TMobile", "TOnline", "TouchTunes", "Tradebit", "TransWorldEntertainment", "TreMobile", "Trebel", "Trilulilu", "Tsutaya", "TuneCore", "Tunetribe", "TVRL", "UnitedAirlines", "Universal", "Unknownservice", "Usen", "Verizon", "VerveLife", "Vevo", "VidZone", "Viggle", "VirginMedia", "VirginMega", "Vivo", "Vodafone", "Vubiquity", "WE7", "WiMP", "Wisepeer", "WMIWEA", "Wrigleys", "Xperience", "YahooMusic", "Yamaha", "Yandex", "YouTube", "YouTubeContentID", "Zed", "Zefr", "ZiggoMuziek", "ZIK", "Zonga", "Zune", "ZUUS", "Zvooq", "Uma", "KDigital", "Tesla", "Mixcloud", "Dubset", "Fuga", "SoundtrackYourBrand", "TikTok", "Resso", "Boomplay", "Snapchat", "Peloton", "SberZvuk", "Audiomack", "Hungama", "Joox", "Adaptr", "Flo", "Disco", "Povu", "Pretzel", "Triller", "iTunesAppleMusicMerlin", "AcrCloud", "MerlinFlo", "TunedGlobal", "Jaxsta", "Supernatural", "Fizy", "Rakuten", "Agedi", "MerlinConnect", "FtpSandbox", "AwsSandbox", "Kuaishou", "MerlinBridge", "IdentityMusic", "AudioSalad", "Hook", "ClickNClear", "Kanjian", "RightsManagementTrackSandbox", "RightsManagementReleaseSandbox", "Sonosuite", "WarnerMusicGroup", "JooxKanjian", "NetEaseMusicKanjian", "KkboxKanjian", "QQMusic", "KugouMusic", "KuwoMusic", "WeSing", "Moov", "AliMusic", "Migu", "KuaishouKanjian", "Douyin", "Catalogac", "Nudacy", "ClickAndClear", "KuackMedia", "Even", "Mora", "Ototoy", "FaRaoPro", "MusicJP", "Recochoku", "VibePovu", "BugsPovu", "GeniePovu", "MelonPovu", "Gaana", "Lissen", "Bmat", "Udio", "CapCut", "Bandcamp", "OpenPlay", "RandomSounds", "Traxsource", "GONSMusiek", "SoundCloudWarner", "Meta", "WarnerSandbox"]).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 }; /** * POST /enterprise/connections/{distributorStoreId}/delivery/remove */ export const createApiEnterpriseConnectionsDistributorStoreIdDeliveryRemove = async (args: CreateApiEnterpriseConnectionsDistributorStoreIdDeliveryRemoveArgs, options?: CreateApiEnterpriseConnectionsDistributorStoreIdDeliveryRemoveOptions) => { const {baseUrl = "http://api.revelator.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/enterprise/connections/${encodeURIComponent(String(args.distributorStoreId))}/delivery/remove${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(genericDeliveryDistributorManager, await res.json()) };