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 locomotiveFunctions.copy 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 exampleLocomotiveFunctionsCopy(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.copy( "23", "4", { "sourceLocomotiveId": "5", "functions": [ { "id": "7", "expectedRevision": 3, "replace": { "id": "9", "expectedRevision": 2 } } ] } ); } /** * Calls locomotiveFunctions.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 exampleLocomotiveFunctionsList(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.list( "account-1", "loco-1", {} ); } /** * Calls locomotiveFunctions.create 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 exampleLocomotiveFunctionsCreate(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.create( "23", "4", { "functionNumber": 2, "label": "Whistle", "meaning": "whistle-short", "momentary": true } ); } /** * Calls locomotiveFunctions.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 exampleLocomotiveFunctionsGet(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.get( "account 1", "loco 1", "function 1", {} ); } /** * Calls locomotiveFunctions.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 exampleLocomotiveFunctionsUpdate(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.update( "account-1", "loco-1", "fn-2", { "expectedRevision": 1, "visible": false } ); } /** * Calls locomotiveFunctions.delete 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 exampleLocomotiveFunctionsDelete(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.delete( "account-1", "loco-1", "fn-2", { "expectedRevision": 2 } ); } /** * Calls locomotiveFunctions.arrange 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 exampleLocomotiveFunctionsArrange(client: RailDeckDirectIntegrationClient) { return client.locomotiveFunctions.arrange( "23", "4", { "functions": [ { "id": "7", "expectedRevision": 3 }, { "id": "2", "expectedRevision": 1 } ] } ); }