fairu_sdk_dart 0.1.0 copy "fairu_sdk_dart: ^0.1.0" to clipboard
fairu_sdk_dart: ^0.1.0 copied to clipboard

Official Dart/Flutter SDK for the Fairu Digital Asset Management API. Provides type-safe GraphQL queries, mutations, uploads, and image transformations.

example/fairu_sdk_dart_example.dart

import 'package:fairu_sdk_dart/fairu_sdk_dart.dart';

void main() async {
  // Initialize the SDK with your API token
  final fairu = FairuSdk(
    config: FairuClientConfig(
      token: 'your-api-token', // Replace with your actual token
    ),
  );

  // Example 1: Health Check
  print('=== Health Check ===');
  final health = await fairu.tenant.healthCheck();
  print('API Version: ${health?['version']}');
  print('Healthy: ${health?['healthy']}');

  // Example 2: List Assets
  print('\n=== List Assets ===');
  final assets = await fairu.assets.list(page: 1, perPage: 5);
  print('Total assets: ${assets.paginatorInfo.total}');
  for (final asset in assets.data) {
    print('- ${asset['name']} (${asset['mime']})');
  }

  // Example 3: Search Assets
  print('\n=== Search Assets ===');
  final searchResult = await fairu.assets.search(
    searchTerm: 'hero',
    page: 1,
    perPage: 5,
  );
  print('Found ${searchResult.paginatorInfo.total} results');

  // Example 4: FileProxy URL Builder
  print('\n=== FileProxy URLs ===');
  if (assets.data.isNotEmpty) {
    final firstAsset = assets.data.first;
    final url = fileProxy(firstAsset['id'], firstAsset['name'])
        .width(800)
        .height(600)
        .quality(85)
        .format(ImageFormat.webp)
        .build();
    print('Optimized URL: $url');
  }

  // Example 5: List Folders
  print('\n=== Root Folder Contents ===');
  final folderContent = await fairu.folders.getContent(
    page: 1,
    perPage: 10,
  );
  print('Items in root: ${folderContent.paginatorInfo.total}');
  for (final item in folderContent.data) {
    final isFolder = item['mime'] == null;
    print('- ${item['name']} (${isFolder ? 'folder' : 'file'})');
  }

  // Example 6: Get Tenant Info
  print('\n=== Tenant Info ===');
  final tenant = await fairu.tenant.get();
  print('Tenant: ${tenant?['name']}');
  print('AI enabled: ${tenant?['use_ai']}');

  print('\n=== Done ===');
}
0
likes
150
points
107
downloads

Publisher

verified publisherfairu.app

Weekly Downloads

Official Dart/Flutter SDK for the Fairu Digital Asset Management API. Provides type-safe GraphQL queries, mutations, uploads, and image transformations.

Homepage
Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

crypto, graphql, http, meta

More

Packages that depend on fairu_sdk_dart