directus 0.6.0 copy "directus: ^0.6.0" to clipboard
directus: ^0.6.0 copied to clipboard

outdated

The unofficial SDK for Directus, with REST API and auth. Compatible with Flutter.

example/lib/main.dart

import 'dart:convert';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:directus/directus.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() async {
  final sdk = await Directus('http://localhost:8055').init();
  await sdk.auth.login(email: 'test@example.com', password: 'password');
  // await sdk
  final user = await sdk.auth.currentUser?.read();
  print(user);
  runApp(MyApp(sdk));
}

class MyApp extends StatelessWidget {
  final Directus sdk;

  MyApp(this.sdk);

  /// Get posts.
  Future<DirectusListResponse<Map<String, dynamic>>> getPosts() => sdk.items('posts').readMany();

  /// Get settings.
  Future<DirectusResponse<DirectusSettings>> getSettings() => sdk.settings.read();

  Future<dynamic> getReviews() async {
    sdk.custom.options.headers['Custom-Header'] = 'some-value';
    final result = await sdk.items('reviews').readMany(
        query: Query(
            limit: 5, offset: 0, fields: ['*'], meta: Meta(filterCount: true, totalCount: true)),
        filters: Filters({
          'is_positive': Filter.eq(false),
          'and': Filter.and([
            {
              "date_effective": Filter.lte(DateTime.now()),
              // DateTime.now().to
              // Filter.lte('${DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now())}')
            },
            {
              "date_expired": Filter.gte(DateTime.now())
              // Filter.gte('${DateFormat('yyyy-MM-dd HH:mm:ss').format(DateTime.now())}')
            }
          ])
        }));

    result.data.forEach((project) => print(project['title']));
    return;
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Directus Demo',
      theme: ThemeData(
        primarySwatch: Colors.green,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Directus Example'),
        ),
        body: Center(
          child: FutureBuilder<dynamic>(
            future: getReviews(),
            builder: (context, snapshot) {
              if (!snapshot.hasData) {
                return Container();
              }
              return Placeholder();
              final posts = snapshot.data.data;
              return ListView.builder(
                itemCount: posts.length,
                itemBuilder: (context, index) => ListTile(
                  title: Text(posts[index]['title']),
                  trailing: Text(posts[index]['id'].toString()),
                ),
              );
            },
          ),
        ),
      ),
    );
  }
}
40
likes
0
points
501
downloads

Publisher

verified publisherdirectus.io

Weekly Downloads

The unofficial SDK for Directus, with REST API and auth. Compatible with Flutter.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, flutter, json_annotation, meta, shared_preferences

More

Packages that depend on directus