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 controlSurfaces.list 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 exampleControlSurfacesList(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.list( "account 1" ); } /** * Calls controlSurfaces.get 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 exampleControlSurfacesGet(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.get( "account 1", "control-surface-1" ); } /** * Calls controlSurfaces.update 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 exampleControlSurfacesUpdate(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.update( "account 1", "control-surface-1", { "buttonLayout": "four", "showLocomotiveImages": false } ); } /** * Calls controlSurfaces.revoke 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 exampleControlSurfacesRevoke(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.revoke( "account 1", "control-surface-1" ); } /** * Calls controlSurfaces.listQuickList 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 exampleControlSurfacesListQuickList(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.listQuickList( "account 1", "control-surface-1" ); } /** * Calls controlSurfaces.replaceQuickList 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 exampleControlSurfacesReplaceQuickList(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.replaceQuickList( "account 1", "control-surface-1", { "items": [ { "itemKind": "route", "targetId": "route-1", "displayName": "{{fixtureDisplayName}}", "position": 1 } ] } ); } /** * Calls controlSurfaces.listProfiles 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 exampleControlSurfacesListProfiles(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.listProfiles( "account 1", "control-surface-1" ); } /** * Calls controlSurfaces.createProfile 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 exampleControlSurfacesCreateProfile(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.createProfile( "account 1", "control-surface-1", { "displayName": "{{fixtureDisplayName}}", "isDefault": true, "showLocomotiveImages": true, "buttonLayout": "three" } ); } /** * Calls controlSurfaces.getProfile 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 exampleControlSurfacesGetProfile(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.getProfile( "account 1", "control-surface-1", "profile-2" ); } /** * Calls controlSurfaces.updateProfile 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 exampleControlSurfacesUpdateProfile(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.updateProfile( "account 1", "control-surface-1", "profile-2", { "buttonLayout": "four" } ); } /** * Calls controlSurfaces.deleteProfile 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 exampleControlSurfacesDeleteProfile(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.deleteProfile( "account 1", "control-surface-1", "profile-2" ); } /** * Calls controlSurfaces.listProfileQuickList 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 exampleControlSurfacesListProfileQuickList(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.listProfileQuickList( "account 1", "control-surface-1", "profile-2" ); } /** * Calls controlSurfaces.replaceProfileQuickList 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 exampleControlSurfacesReplaceProfileQuickList(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.replaceProfileQuickList( "account 1", "control-surface-1", "profile-2", { "items": [ { "itemKind": "accessory", "targetId": "accessory-1", "position": 1 } ] } ); } /** * Calls controlSurfaces.listAssistiveOutputs 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 exampleControlSurfacesListAssistiveOutputs(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.listAssistiveOutputs( "account 1", "control-surface-1" ); } /** * Calls controlSurfaces.replaceAssistiveOutputs 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 exampleControlSurfacesReplaceAssistiveOutputs(client: RailDeckDirectIntegrationClient) { return client.controlSurfaces.replaceAssistiveOutputs( "account 1", "control-surface-1", { "outputs": [ { "outputKind": "haptic", "displayName": "{{fixtureDisplayName}}", "eventKinds": [ "command_result" ] } ] } ); }