tvf_flutter_graphql 1.1.2 copy "tvf_flutter_graphql: ^1.1.2" to clipboard
tvf_flutter_graphql: ^1.1.2 copied to clipboard

GraphQL Query Examples Reference for Mobile App (Flutter/Dart). This is a reference package only - DO NOT install. Browse source code to copy GraphQL query strings for mobile endpoints.

TVF Flutter GraphQL Examples Reference #

⚠️ This is a REFERENCE package only - DO NOT install it in your app.

This package contains GraphQL query and mutation examples for mobile app endpoints. Browse the source code to copy the query/mutation strings and use them directly in your app.

📖 How to Use #

  1. Navigate to the package source code:

    • Go to packages/flutter-schema/lib/src/queries/mobile_queries.dart
  2. Copy the query/mutation string:

    // Example from MobileQueries.getUser
    const getUserQuery = '''
      query GetUser($id: ID!) {
        getUser(id: $id) {
          id
          email
          devices {
            items {
              id
              deviceName
            }
          }
        }
      }
    ''';
    
  3. Use directly in your Flutter app:

    import 'package:amplify_flutter/amplify_flutter.dart';
       
    final result = await Amplify.API.query(
      request: GraphQLRequest<String>(
        document: getUserQuery,
        variables: {'id': userId},
      ),
    ).response;
       
    if (!result.hasErrors) {
      final user = result.data?['getUser'];
      print('User: ${user?['email']}');
    }
    

📚 Available Mobile Endpoints #

1. Get User (with nested devices) #

Source: lib/src/queries/mobile_queries.dartMobileQueries.getUser

Query:

query GetUser($id: ID!) {
  getUser(id: $id) {
    id
    userId
    username
    email
    phoneNumber
    fullName
    role
    status
    lastLogin
    notificationPreferences
    appSettings
    createdAt
    updatedAt
    devices {
      items {
        id
        deviceId
        deviceName
        deviceType
        location
        status
        firmwareVersion
        latestFirmwareVersion
        hardwareVersion
        wifiConnected
        lastSeen
        createdAt
        updatedAt
      }
      nextToken
    }
  }
}

Flutter Example:

const getUserQuery = MobileQueries.getUser;

final result = await Amplify.API.query(
  request: GraphQLRequest<String>(
    document: getUserQuery,
    variables: {'id': userId},
  ),
).response;

if (!result.hasErrors) {
  final user = result.data?['getUser'];
  final devices = user?['devices']?['items'] as List?;
  print('User: ${user?['email']}');
  print('Devices: ${devices?.length}');
  
  for (final device in devices ?? []) {
    print('Device: ${device['deviceName']} - ${device['status']}');
  }
}

2. Get App Settings #

Source: lib/src/queries/mobile_queries.dartMobileQueries.getAppSettings

Query:

query GetAppSettings($id: ID!) {
  getUser(id: $id) {
    id
    appSettings
  }
}

Flutter Example:

const getAppSettingsQuery = MobileQueries.getAppSettings;

final result = await Amplify.API.query(
  request: GraphQLRequest<String>(
    document: getAppSettingsQuery,
    variables: {'id': userId},
  ),
).response;

if (!result.hasErrors) {
  final user = result.data?['getUser'];
  final appSettings = user?['appSettings'] as Map<String, dynamic>?;
  
  if (appSettings != null) {
    print('Theme: ${appSettings['theme']}');
    print('Language: ${appSettings['language']}');
    // Access other app settings
  }
}

3. Get Alerts #

Source: lib/src/queries/mobile_queries.dartMobileQueries.getAlerts

Query:

query GetAlerts($userId: ID!, $limit: Int, $nextToken: String) {
  alertsByUser(userId: $userId, limit: $limit, nextToken: $nextToken, sortDirection: DESC) {
    items {
      id
      alertId
      alertType
      title
      message
      category
      icon
      priority
      severity
      status
      thresholdValue
      currentValue
      sentAt
      readAt
      dismissedAt
      metadata
      deviceId
      device {
        id
        deviceId
        deviceName
        deviceType
      }
      createdAt
      updatedAt
    }
    nextToken
  }
}

Flutter Example:

const getAlertsQuery = MobileQueries.getAlerts;

final result = await Amplify.API.query(
  request: GraphQLRequest<String>(
    document: getAlertsQuery,
    variables: {
      'userId': userId,
      'limit': 20,
    },
  ),
).response;

if (!result.hasErrors) {
  final alerts = result.data?['alertsByUser']?['items'] as List?;
  
  for (final alert in alerts ?? []) {
    print('Alert: ${alert['title']}');
    print('Priority: ${alert['priority']}');
    print('Status: ${alert['status']}');
    
    if (alert['device'] != null) {
      print('Device: ${alert['device']['deviceName']}');
    }
  }
  
  // Pagination
  final nextToken = result.data?['alertsByUser']?['nextToken'];
  if (nextToken != null) {
    // Load next page
    final nextResult = await Amplify.API.query(
      request: GraphQLRequest<String>(
        document: getAlertsQuery,
        variables: {
          'userId': userId,
          'limit': 20,
          'nextToken': nextToken,
        },
      ),
    ).response;
  }
}

4. Create Device Token (Mutation) #

Source: lib/src/queries/mobile_queries.dartMobileQueries.createDeviceToken

Mutation:

mutation CreateDeviceToken($input: CreateDeviceTokenInput!) {
  createDeviceToken(input: $input) {
    id
    tokenId
    userId
    deviceToken
    platform
    deviceId
    appVersion
    isActive
    lastUsedAt
    createdAt
    updatedAt
  }
}

Flutter Example:

const createDeviceTokenMutation = MobileQueries.createDeviceToken;

final result = await Amplify.API.mutate(
  request: GraphQLRequest<String>(
    document: createDeviceTokenMutation,
    variables: {
      'input': {
        'tokenId': 'token_${DateTime.now().millisecondsSinceEpoch}',
        'userId': userId,
        'deviceToken': fcmToken,
        'platform': 'android', // or 'ios'
        'deviceId': deviceId, // optional
        'appVersion': '1.0.0', // optional
        'isActive': true,
      },
    },
  ),
).response;

if (!result.hasErrors) {
  final deviceToken = result.data?['createDeviceToken'];
  print('Device token created: ${deviceToken?['tokenId']}');
} else {
  print('Error: ${result.errors}');
}

📁 Package Structure #

lib/
├── src/
│   └── queries/
│       └── mobile_queries.dart  # All mobile query/mutation examples
└── tvf_flutter_graphql.dart     # Main export (for reference)

⚠️ Important Notes #

  1. DO NOT install this package in your app
  2. Browse the source code to find query/mutation examples
  3. Copy the query/mutation strings directly into your app code
  4. No dependencies required - just copy the strings
  5. This package is for reference/documentation purposes only

🔍 Finding Examples #

  • All queries/mutations: Check lib/src/queries/mobile_queries.dart
  • Each query/mutation has inline documentation with Flutter usage examples

📄 License #

See LICENSE file for details.

0
likes
140
points
7
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

GraphQL Query Examples Reference for Mobile App (Flutter/Dart). This is a reference package only - DO NOT install. Browse source code to copy GraphQL query strings for mobile endpoints.

Repository (GitHub)

License

MIT (license)

More

Packages that depend on tvf_flutter_graphql