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 trainFormations.getFunctionGrouping 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 exampleTrainFormationsGetFunctionGrouping(client: RailDeckDirectIntegrationClient) { return client.trainFormations.getFunctionGrouping( "23", "12", {} ); } /** * Calls trainFormations.saveFunctionGrouping 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 exampleTrainFormationsSaveFunctionGrouping(client: RailDeckDirectIntegrationClient) { return client.trainFormations.saveFunctionGrouping( "23", "12", { "expectedRevision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "groups": [ { "key": "function:8", "label": "Short horn", "functionIds": [ "8" ] } ] } ); } /** * Calls trainFormations.previewDuplication 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 exampleTrainFormationsPreviewDuplication(client: RailDeckDirectIntegrationClient) { return client.trainFormations.previewDuplication( "23", "9", {} ); } /** * Calls trainFormations.duplicate 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 exampleTrainFormationsDuplicate(client: RailDeckDirectIntegrationClient) { return client.trainFormations.duplicate( "23", "9", { "displayName": "{{fixtureDisplayName}}", "expectedSourceRevision": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "includeNotes": true, "includePhotographs": true } ); } /** * Calls trainFormations.getDrivingSettings 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 exampleTrainFormationsGetDrivingSettings(client: RailDeckDirectIntegrationClient) { return client.trainFormations.getDrivingSettings( "account 1", "train 1", {} ); } /** * Calls trainFormations.saveDrivingSettings 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 exampleTrainFormationsSaveDrivingSettings(client: RailDeckDirectIntegrationClient) { return client.trainFormations.saveDrivingSettings( "account 1", "train 1", { "expectedRevision": 0, "style": { "mode": "inherit" }, "handling": { "mode": "none" } } ); } /** * Calls trainFormations.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 exampleTrainFormationsList(client: RailDeckDirectIntegrationClient) { return client.trainFormations.list( "account 1", {} ); } /** * Calls trainFormations.listLayoutAssignments 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 exampleTrainFormationsListLayoutAssignments(client: RailDeckDirectIntegrationClient) { return client.trainFormations.listLayoutAssignments( "account 1", "layout 1", {} ); } /** * Calls trainFormations.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 exampleTrainFormationsCreate(client: RailDeckDirectIntegrationClient) { return client.trainFormations.create( "account 1", { "displayName": "{{fixtureDisplayName}}", "members": [ { "memberType": "locomotive", "memberId": "loco-1" }, { "memberType": "rolling_stock", "memberId": "stock-1", "loadState": "laden" } ] } ); } /** * Calls trainFormations.assignToLayout 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 exampleTrainFormationsAssignToLayout(client: RailDeckDirectIntegrationClient) { return client.trainFormations.assignToLayout( "account 1", "layout 1", { "trainFormationId": "formation-2", "displayOrder": 2, "isActive": true } ); } /** * Calls trainFormations.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 exampleTrainFormationsGet(client: RailDeckDirectIntegrationClient) { return client.trainFormations.get( "account 1", "formation-2", {} ); } /** * Calls trainFormations.getHandlingProfile 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 exampleTrainFormationsGetHandlingProfile(client: RailDeckDirectIntegrationClient) { return client.trainFormations.getHandlingProfile( "account 1", "formation-2" ); } /** * Calls trainFormations.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 exampleTrainFormationsUpdate(client: RailDeckDirectIntegrationClient) { return client.trainFormations.update( "account 1", "formation-2", { "displayName": "{{fixtureDisplayName}}", "expectedUpdatedAt": "2026-07-02T09:00:00.000Z" } ); } /** * Calls trainFormations.updateLayoutAssignment 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 exampleTrainFormationsUpdateLayoutAssignment(client: RailDeckDirectIntegrationClient) { return client.trainFormations.updateLayoutAssignment( "account 1", "layout 1", "formation-2", { "isActive": false } ); } /** * Calls trainFormations.replaceMembers 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 exampleTrainFormationsReplaceMembers(client: RailDeckDirectIntegrationClient) { return client.trainFormations.replaceMembers( "account 1", "formation-2", { "expectedUpdatedAt": "2026-07-02T09:00:00.000Z", "members": [ { "memberType": "locomotive", "memberId": "loco-1", "displayOrder": 0 } ] } ); } /** * Calls trainFormations.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 exampleTrainFormationsDelete(client: RailDeckDirectIntegrationClient) { return client.trainFormations.delete( "account 1", "formation-2", { "expectedUpdatedAt": "2026-07-02T09:00:00.000Z" } ); } /** * Calls trainFormations.removeFromLayout 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 exampleTrainFormationsRemoveFromLayout(client: RailDeckDirectIntegrationClient) { return client.trainFormations.removeFromLayout( "account 1", "layout 1", "formation-2" ); }