import type { RailDeckDirectIntegrationClient } from '@raildeck/frontend-sdk/direct-integration'; // Fixture values illustrate the source contract. Use reviewed development records. // Importing this module performs no requests. Every mutation requires an explicit call. /** * Calls media.completeUpload with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaCompleteUpload(client: RailDeckDirectIntegrationClient) { return client.media.completeUpload( "23", "3", {} ); } /** * Calls media.listAssets with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaListAssets(client: RailDeckDirectIntegrationClient) { return client.media.listAssets( "account 1" ); } /** * Calls media.createAsset with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaCreateAsset(client: RailDeckDirectIntegrationClient) { return client.media.createAsset( "account 1", { "provider": "cloudflare_images", "providerAssetId": "cloudflare-image-1", "mediaType": "image", "displayName": "{{fixtureDisplayName}}", "altText": "Mallard at the platform", "originalUrl": "https://imagedelivery.net/rail/media-2/public", "variants": { "dial": "https://imagedelivery.net/rail/media-2/dial" }, "width": 1600, "height": 900, "metadata": { "source": "demo-upload" } }, {} ); } /** * Calls media.getAsset with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaGetAsset(client: RailDeckDirectIntegrationClient) { return client.media.getAsset( "account 1", "media-2", {} ); } /** * Calls media.updateAsset with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaUpdateAsset(client: RailDeckDirectIntegrationClient) { return client.media.updateAsset( "account 1", "media-2", { "displayName": "{{fixtureDisplayName}}" } ); } /** * Calls media.deleteAsset with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaDeleteAsset(client: RailDeckDirectIntegrationClient) { return client.media.deleteAsset( "account 1", "media-2" ); } /** * Calls media.createUploadIntent with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaCreateUploadIntent(client: RailDeckDirectIntegrationClient) { return client.media.createUploadIntent( "account 1", { "provider": "cloudflare_images", "displayName": "{{fixtureDisplayName}}", "metadata": { "targetType": "locomotive" } }, {} ); } /** * Calls media.listLinks with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaListLinks(client: RailDeckDirectIntegrationClient) { return client.media.listLinks( "account 1", { "targetType": "locomotive", "targetId": "loco-1" }, {} ); } /** * Calls media.createLink with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaCreateLink(client: RailDeckDirectIntegrationClient) { return client.media.createLink( "account 1", { "targetType": "locomotive", "targetId": "loco-1", "mediaAssetId": "media-2", "role": "primary", "displayOrder": 1 }, {} ); } /** * Calls media.updateLink with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaUpdateLink(client: RailDeckDirectIntegrationClient) { return client.media.updateLink( "account 1", "media-link-2", { "role": "gallery", "displayOrder": 2 }, {} ); } /** * Calls media.deleteLink with retained, non-production fixture values. * @param client - Configured source client; use an isolated development environment. * @returns The SDK result; failures propagate without automatic retry. */ export async function exampleMediaDeleteLink(client: RailDeckDirectIntegrationClient) { return client.media.deleteLink( "account 1", "media-link-2", {} ); }