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 sharing.listShareGroups 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 exampleSharingListShareGroups(client: RailDeckDirectIntegrationClient) { return client.sharing.listShareGroups( "account 1", "layout-1" ); } /** * Calls sharing.createShareGroup 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 exampleSharingCreateShareGroup(client: RailDeckDirectIntegrationClient) { return client.sharing.createShareGroup( "account 1", "layout-1", { "name": "Exhibition Operators", "accessLevel": "operator", "expiresAt": "2030-06-24T18:00:00.000Z" } ); } /** * Calls sharing.updateShareGroup 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 exampleSharingUpdateShareGroup(client: RailDeckDirectIntegrationClient) { return client.sharing.updateShareGroup( "account 1", "layout-1", "share-2", { "accessLevel": "viewer" } ); } /** * Calls sharing.revokeShareGroup 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 exampleSharingRevokeShareGroup(client: RailDeckDirectIntegrationClient) { return client.sharing.revokeShareGroup( "account 1", "layout-1", "share-2" ); } /** * Calls sharing.listGuestSessions 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 exampleSharingListGuestSessions(client: RailDeckDirectIntegrationClient) { return client.sharing.listGuestSessions( "account 1", "layout-1" ); } /** * Calls sharing.createGuestSession 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 exampleSharingCreateGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.createGuestSession( "account 1", "layout-1", { "shareGroupId": "share-2", "displayName": "{{fixtureDisplayName}}", "accessLevel": "operator", "expiresInSeconds": 600, "autoRegenerate": true, "regenerateAfterScanSeconds": 30 } ); } /** * Calls sharing.updateGuestSession 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 exampleSharingUpdateGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.updateGuestSession( "account 1", "layout-1", "guest-session-2", { "autoRegenerate": false } ); } /** * Calls sharing.revokeGuestSession 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 exampleSharingRevokeGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.revokeGuestSession( "account 1", "layout-1", "guest-session-2" ); } /** * Calls sharing.regenerateGuestSession 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 exampleSharingRegenerateGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.regenerateGuestSession( "account 1", "layout-1", "guest-session-2" ); } /** * Calls sharing.autoRegenerateGuestSession 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 exampleSharingAutoRegenerateGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.autoRegenerateGuestSession( "account 1", "layout-1", "guest-session-3" ); } /** * Calls sharing.redeemGuestSession 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 exampleSharingRedeemGuestSession(client: RailDeckDirectIntegrationClient) { return client.sharing.redeemGuestSession( "session-1", { "code": "{{setupOrRedemptionCode}}" } ); } /** * Calls sharing.listLayoutInvitations 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 exampleSharingListLayoutInvitations(client: RailDeckDirectIntegrationClient) { return client.sharing.listLayoutInvitations( "account 1", "layout-1" ); } /** * Calls sharing.createLayoutInvitation 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 exampleSharingCreateLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.createLayoutInvitation( "account 1", "layout-1", { "email": "{{fixtureEmail}}", "role": "operator", "expiresAt": "2030-06-24T18:00:00.000Z", "metadata": { "note": "Club friend" } } ); } /** * Calls sharing.cancelLayoutInvitation 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 exampleSharingCancelLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.cancelLayoutInvitation( "account 1", "layout-1", "layout-invitation-2" ); } /** * Calls sharing.resendLayoutInvitation 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 exampleSharingResendLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.resendLayoutInvitation( "account 1", "layout-1", "layout-invitation-2" ); } /** * Calls sharing.regenerateLayoutInvitation 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 exampleSharingRegenerateLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.regenerateLayoutInvitation( "account 1", "layout-1", "layout-invitation-2" ); } /** * Calls sharing.listMyLayoutInvitations 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 exampleSharingListMyLayoutInvitations(client: RailDeckDirectIntegrationClient) { return client.sharing.listMyLayoutInvitations( ); } /** * Calls sharing.acceptMyLayoutInvitation 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 exampleSharingAcceptMyLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.acceptMyLayoutInvitation( "layout-invitation-3", { "invitationCode": "{{setupOrRedemptionCode}}" } ); } /** * Calls sharing.declineMyLayoutInvitation 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 exampleSharingDeclineMyLayoutInvitation(client: RailDeckDirectIntegrationClient) { return client.sharing.declineMyLayoutInvitation( "layout-invitation-4", { "invitationCode": "{{setupOrRedemptionCode}}" } ); } /** * Calls sharing.listLayoutMembers 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 exampleSharingListLayoutMembers(client: RailDeckDirectIntegrationClient) { return client.sharing.listLayoutMembers( "account 1", "layout-1" ); } /** * Calls sharing.updateLayoutMember 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 exampleSharingUpdateLayoutMember(client: RailDeckDirectIntegrationClient) { return client.sharing.updateLayoutMember( "account 1", "layout-1", "user-2", { "role": "setup" } ); } /** * Calls sharing.revokeLayoutMember 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 exampleSharingRevokeLayoutMember(client: RailDeckDirectIntegrationClient) { return client.sharing.revokeLayoutMember( "account 1", "layout-1", "user-2" ); }