Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

We have started development of an ODM for Firestore to make storing data with Firestore easier.

Please give it a try and use this discussion to provide any feedback!

You must be logged in to vote

Replies: 70 comments · 183 replies

Comment options

The generator doesn't detect the toJson method generated by freezed.

part 'user.freezed.dart';
part 'user.g.dart';

@Collection<User>('/users/')
final usersRef = UserCollectionReference();

@freezed
class User with _$User {
  const factory User({required String name}) = _User;

  factory User.fromJson(Map<String, dynamic> json) => _$UserFromJson(json);
}

Error :
Used @Collection with the class User, but the class has no toJson method.

You must be logged in to vote
8 replies
@rrousselGit
Comment options

Haha, I wasn't sure if it made sense to add support for my personal project in a Google project, but from the looks of it, I worried for nothing 😛

@FilledStacks
Comment options

Is this being worked on at the moment @rrousselGit ?

@datdefboi
Comment options

Freezed requires as String conversion on each field like Timestamp. The one solution - custom converters and a paramer like notjson:true on @freezed

@danielmahon
Comment options

+1 for adding freezed support, current use-case is the copyWith and == generation

@Ehesp
Comment options

Ehesp Aug 3, 2022
Collaborator

Hi all. Freezed support is now planned, see: #9294

This comment has been hidden.

@rrousselGit

This comment has been hidden.

Comment options

I've played a bit with the package and it looks really promising !

Currently, nested objects (nested fields) don't seem to be supported. For example :

@Collection<User>('users')
final usersRef = UserCollectionReference();

@JsonSerializable()
class User {
  User({
    required this.name,
    required this.age,
    required this.email,
  });

  final FullName name;
  final int age;
  final String email;
}

@JsonSerializable()
class FullName {
  FullName({
    required this.firstName,
    required this.lastName,
  });

  final String firstName;
  final String lastName;

  factory FullName.fromJson(Map<String, dynamic> json) =>
      _$FullNameFromJson(json);

  Map<String, dynamic> toJson() => _$FullNameToJson(this);
}

The "name" class member is not included in the generated update, where, and orderBy methods.
Is there any planned support for nested objects ?

You must be logged in to vote
8 replies
@dhruvinnv
Comment options

Any update on this?

@Kiruel
Comment options

We still can't use nested class or it's fix ? Can't find anywhere the repo cloud_firebase_odm to see issues.

@usman092
Comment options

Is there any updates on this? I want to create an array nested in the main document. And use the array-contains query.
I haven't tried the generic whereFieldPath method, I have a feeling that this will work. However, an explicitly generated method would be preferable.

@jannuskool
Comment options

Any updates on this? Spent quite a bit of time trying to figure out how to do nested Objects. Suggestion, so that other people don't spend time on finding info, maybe to add info that nested objects aren't supported. Also if there is visibility to the roadmap or planned features, that might also help. Loving the package anyways! Good job!

Comment options

Great! Really what I want to. Maybe future, any built_value support plan have?

You must be logged in to vote
0 replies
Comment options

Will this support documents as well?

We have a top level other/ collection that stores a couple of documents that don't have the same structure.

We can't use @Collection, we would need something like @document for single document references

You must be logged in to vote
6 replies
@rrousselGit
Comment options

Note that it isn't necessary though.
You could use @Collection and achieve the same result:

class Model {...}

@Collection<Model>('other')
final document = ModelCollectionReference().doc('my-doc');
@ciriousjoker
Comment options

As a workaround sure, but creating multiple competing references depending on the one document you want to get seems pretty counterintuitive.

@AirborneEagle
Comment options

@rrousselGit in your example, the string my-doc is the path or id to the document.
is there a way to reference the path stored in a field of the parent doc?
ex: product has a field that references a company.

Could I do something like this:

class Product {...}

@Collection<Product>('products')
@Collection<Company>('companies')
final companyRef = ProductCollectionReference().doc().data['company']

or would we use the to-be-created @Document annotation ?

class Product {...}

@Collection<Product>('products')
@Document<Company>('companies', name: 'company')
final companyRef = ProductCollectionReference()

@rrousselGit
Comment options

@AirborneEagle I don't understand your examples. How would that look like in firestore?

@ciriousjoker
Comment options

@AirborneEagle This will work, yes. You just have to specify different prefixes in the Collection() annotation.

As it currently is, the provided workaround is good enough and a document annotation shouldn't be necessary since Firestore isn't supposed to be used like that anyway

Comment options

Great package! May I ask will this support pagination with the builder?

You must be logged in to vote
5 replies
@rrousselGit
Comment options

Yes, it is planed. It will have a clone of the paginated flutterfire_ui components

@Purus
Comment options

IS there any beta version or a feature branch that has this? I would like to try on this.

@rrousselGit
Comment options

No, not yet.

@shaship2
Comment options

is everyone currently doing pagination manually? Wondering if there is a way to use something like FirestoreListView with odm ?

@motucraft
Comment options

Any plans for pagination to be supported?

Comment options

I am facing an issue with the @collection annotation, when trying to perform the code generation.

The linter says:

"An annotation can't use type arguments.dart(annotation_with_type_arguments)"

and the code generation says:

This requires the 'generic-metadata' language feature to be enabled.

I am running on flutter version 2.8.0 (stable) and dart version 2.15.0 (stable).

Any idea how I can fix this issue / enable 'generic-metadata'?

Thanks!

You must be logged in to vote
3 replies
@rrousselGit
Comment options

You need to change your Dart SDK version to:

environment:
  sdk: ">=2.14.0 <3.0.0"
@rrousselGit
Comment options

For reference, I've updated the installation docs to mention that step

@ciriousjoker
Comment options

Alternatively (if you have a half-migrated codebase), you can add a dart version override to the top of the file:

// @dart=2.15

Please include this in the doc

Comment options

I also am running into some trouble with the @collection annotation for a reference. When following the example for "reading documents" I get the error "The argument type 'MixDocumentReference' can't be assigned to the parameter type 'FirestoreListenable'." (my model is called Mix). What causes my app to return a FirestoreListenable, while the example returns the DocumentSnapshot?

p.s., This looks like a great addition to flutterfire. I am excited to see where it goes!

You must be logged in to vote
3 replies
@rrousselGit
Comment options

Do you have some code that you could share to reproduce the issue?

@AgDude
Comment options

In copying my code over I realized my mistake. I ended up with FirestoreBuilder<MixDocumentReference> instead of FirestoreBuilder<MixDocumentSnapshot>. Got it working now. Thanks for the response.

I did find I had to implement a custom fromJson for a DateTime field. Adding that to the automagic types would be a nice addition.

@ciriousjoker
Comment options

@AgDude You can do that by using a custom Jsonserializable annotation where you pass the converter directly. Then you just replace your JsonSerializable annotations with the custom one and you're good to go

Comment options

Hi :)
I was wondering if there were a simple way to include the document id in the model. I would expect a field documentId or id to be generated as the same time ?
Do you have any suggestion how to get it easily ? Thanks :)

You must be logged in to vote
2 replies
@rrousselGit
Comment options

There is currently no such thing.

I've raised an issue #7613

@WillBeebe
Comment options

This got me pretty far @Lyokone in the existing non-ODM package.

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:my_package/models/event.dart';

static FirebaseFirestore firestore = FirebaseFirestore.instance;
  static CollectionReference<Event> eventCollection =
      FirebaseFirestore.instance.collection('events').withConverter<Event>(
            fromFirestore: (snapshots, _) {
              var data = snapshots.data()!;
              return Event.fromJson(data).copyWith(id: snapshots.id);
            },
            toFirestore: (object, _) => object.toJson(),
          );
Comment options

Nice work with this package but I have an issue.
When I generate code with flutter pub run build_runner build --delete-conflicting-outputs
The where and update clauses of the DocumentReference or Timestamp fields doesn't generate
There are any way for query by DocumentReference or Timestamp at the moment?

You must be logged in to vote
3 replies
@rrousselGit
Comment options

I'll need a bit of work – particularly google/json_serializable.dart#1072

I'll make a PR when I can

@fpbouchard
Comment options

There seems to be progress on this (the json_serializable PR is merged), but until this makes it here, here is the converter I've written (if this can help). Let me know if I missed something.

// Firestore does not actually returns Json for Timestamps, they are already converted, hence this 1:1 converter
class TimestampConverter implements JsonConverter<Timestamp, Timestamp> {
  const TimestampConverter();

  @override
  Timestamp fromJson(Timestamp json) => json;

  @override
  Timestamp toJson(Timestamp object) => object;
}
@fpbouchard
Comment options

I reckon this might be incoming following Timestamp support, but the orderBy functions are not generated for Timestamp fields.

Comment options

I am curious about database migration support. Let's say I have a model:

class User {
  final String email;
  final String name;
}

and I'd like to add a field nickname:

class User {
  final String email;
  final String name;
  final String nickname;
}

will this plugin be able to help with that case? I know it's a bit of pain to do migration in Firestore.

You must be logged in to vote
2 replies
@rrousselGit
Comment options

It won't help, no.
But you could specify a default value on nickname, avoiding the need for a migration altogether

@OlegNovosad
Comment options

@rrousselGit thanks. I'll prefer nullable type then. I was considering using Firestore ODM for the migration case, but will integrate it after its stable. Thanks for all your work! 🔥

Comment options

Thank you all for getting this amazing plugin done. I have a question regarding DocumentReferences(single or as a list) in a document.
How do you map a list of document references in a document to a model?

I am using Flutter 2.5.3 and environment is sdk: ">=2.14.0 <3.0.0"
below is my implementation;

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:cloud_firestore_odm/cloud_firestore_odm.dart';

part 'user.model.g.dart';

@JsonSerializable()
class UserModel {
  UserModel({
    required this.name,
    this.services,
    this.children,
  });

  String name;
  List<String>? services; //  or List<DocumentReference> or List<ServiceModel>.  ???
  List<String>? children; // or List<DocumentReference> or List<ChildModel>.  ???
}

@Collection<UserModel>('Users')
final usersRef = UserModelCollectionReference();

Thanks in advance!

You must be logged in to vote
4 replies
@damalo93
Comment options

In my case I done this by adding the JsonKey to the field and using this Json converters

@JsonKey(
    toJson: firestoreListDocRefToJson,
    fromJson: firestoreListDocRefFromJson,
  )
  List<DocumentReference> members;

DocumentReference firestoreDocRefFromJson(dynamic value) {
  if (value is String) {
    return FirebaseFirestore.instance.doc(value);
  } else {
    return FirebaseFirestore.instance.doc(value.path);
  }
}

dynamic firestoreListDocRefToJson(dynamic value) => value;

List<DocumentReference> firestoreListDocRefFromJson(List value) {
  final List<DocumentReference> list = [];
  for (var element in value) {
    list.add(firestoreDocRefFromJson(element));
  }
  return list;
}

@samma89
Comment options

Thank you very much! I'll try this out.

@samma89
Comment options

This worked!! thanks @damalo93

@starteNCS
Comment options

You can also easily extend this method to use other generated document references instead of the generic DocumentReference.
I chose to store just the id, but if you want you can also just do value.refernece instead.

UserDocumentReference docRefFromJson(String id) => usersRef.doc(id);
String docRefToJson(UserDocumentReference value) => value.id;

(With documentReference, I did not test this)

UserDocumentReference docRefFromJson(DocumentReference doc) => usersRef.doc(doc.id);
DocumentReference docRefToJson(UserDocumentReference value) => value.reference;
Comment options

When using an enum field it seems that the autogenerated .update method does not have properties that use an enum. For example I had a User class with a Role property.

You must be logged in to vote
0 replies
Comment options

Im sorry if this is dumb. But is it a good practice to import 'part' files in others? or this is meant to be used like: user.g.part only in user class?
Because I was trying to export the UserCollectionReference

You must be logged in to vote
1 reply
@ciriousjoker
Comment options

Shouldnt be an issue. Besides if you couldn't export stuff from Multi-Part files, then what's the point of creating them?

Comment options

How can I reference the document id on the model?

You must be logged in to vote
2 replies
@AgDude
Comment options

That isn't currently available, but it is discussed in #7613 . My current workaround is that I attach the snapshot to the model immediately after it is fetched.

For example I have a model called Mix

return FirestoreBuilder<MixDocumentSnapshot>(
      ref: mixManager.doc(widget.mixId),
      builder: (context, AsyncSnapshot<MixDocumentSnapshot> snapshot, Widget? child) {
        if (snapshot.hasError) return Text('Something went wrong!');
        if (!snapshot.hasData) return Text('Loading mix...');

        MixDocumentSnapshot mixSnapshot = snapshot.requireData;
        if (!mixSnapshot.exists) {
          return Text('Not Found!');
        }

        Mix mix = mixSnapshot.data!;
        mix.snapshot = mixSnapshot;
        return SomeWidget(mix)
)

The other advantage of this pattern is that it gives me access to subcollections easily from within the mix model using snapshot.reference.mySubCollection

@austinn
Comment options

Thanks @AgDude! I was also doing it this way, but was still getting an error. I had to ignore the late id and make it not required in the constructor of my model.

@JsonKey(ignore: true)
late String uid;
Comment options

I suggest removing the need for collections to be defined in the same file as jsonserializable entities. Field map is not necessarily generated and some people might see those things as separate concerns.

You must be logged in to vote
5 replies
@rrousselGit
Comment options

FieldMap is a requirement though

@cedvdb
Comment options

I assume it's an optimisation requirement, but it makes little sense if the ODM generator works with manual serialization.

Example: If you have a package with models where you defined json serialization manually, and make another package for collections, the ODM generator works just fine.

Now if you decide to make the domain models package serialization to be generated with json_serializable. The result is the same as far as the model package is concerned, although that serialization has been generated it shouldn't be a concern.

@rrousselGit
Comment options

it makes little sense if the ODM generator works with manual serialization

It doesn't.

fieldMap is necessary for when the name of a value inside a Dart class vs inside the DB are different. Like having firstName locally vs user_name on remote.

Without fieldMap, updating/querying those fields wouldn't work.

@cedvdb
Comment options

It doesn't.

Maybe we are talking about different things because it compiles for me. With this manually written in the class and no dependency on json_serializable:

class Something {

Map<String, dynamic> toJson() => ...
factory fromJson() => ...  

I don't know the internal of ODM and how it uses field map but unless it was some hiccups on my part I believe that works.

Note: something is in package a and somethingCollection in package b. If package a uses json_serializable to generate the same code, it stops working.

Note 2: I've only checked compilation, not runtime.

@rrousselGit
Comment options

This isn't about a compilation error but a runtime error.

It's string based. It's effectively as if you were to pass the wrong field name when not using the ODM

Comment options

Hi! Are there any plans to support enums? 👀

You must be logged in to vote
0 replies
Comment options

Hello everyone.
I have FirestoreBuilder used in a widget and suddenly after updating, I get this error with the ref parameter.
The argument type 'DocumentRefence<User>' can't be assigned to the parameter type FirestoreListenable<UserDocumentSnapshot>
I am following what's exactly on the documentation.

You must be logged in to vote
2 replies
@gmarizy
Comment options

You should create a separate issue as this is not a related to API feedback.

@rrousselGit
Comment options

The ODM doesn't implement the FIrestore "DocumentReference" API. It generates custom types instead.

But the custom types can be converter back using their .reference property. You likely want to pass that in

Comment options

Hi @rrousselGit I am using Isar and odm for the same class and they both have the class Id and Collection which means I have to use prefixed import. However the generated code wont work because of that. I found rrousselGit/freezed#628 and it seems like it wont be fixed in a long time so is it safe to say that odm will share the same fate as freezed in term of this issue?

You must be logged in to vote
1 reply
@rrousselGit
Comment options

Yes

Comment options

Hey all. I plan to switch using Firestore ODM to optimize some of the data retrieval for subcollections. Is the data from subcollections with firestore odm lazy? Or they are queried as soon as the paren object is queried?

You must be logged in to vote
1 reply
@rrousselGit
Comment options

They need to be queries separately. Subcollections are just a neat way to access them, but otherwise not different from plain Firestore

Comment options

I got Undefined name '_$$_FriendPerFieldToJson'. from generated code friend.g.dart, but i saw a variable named _$$FriendImplFieldMap, is there something i missed? Just occurred after i upgraded to dev.70 and freezed 2.4.5.

You must be logged in to vote
3 replies
@gmarizy
Comment options

See #11728, you will find there a workaround.

@mkidv
Comment options

Hey, Freezed now annotate with JsonSerializable _$ClassNameImpl and so JsonSerializable generate now _$$ClassNameImplWhatever.

A fix could be a little change of _generatedJsonTypePrefix from collection_data.dart

For :

static String _generatedJsonTypePrefix({
    required bool hasFreezed,
    required String? redirectedFreezedClass,
    required String collectionTargetElementPublicType,
  }) {
    if (hasFreezed) {
      return '${redirectedFreezedClass.replaceFirstMapped('_', (match) => '_\$\$')}';
    } else {
      return '$collectionTargetElementPublicType';
    }
  }

Hope this help 😉

@rrousselGit
Comment options

A fix is in progress

Comment options

Wanted to reference this Datastore issue in the gcloud package repo https://github.com/dart-lang/gcloud/issues/163#issuecomment-1839995203 . They seem to be trying to solve the same issue of creating object mappings, although that package is taking a different approach as it's on the server and uses dart:mirrors (with its own limitations, can't dart compile).

Ultimately, I'm confused why these steps to deal with reflection workarounds are necessary. I see dart packages like fake_reflection where the author has gone through the trouble to reverse engineer how to get the Dart class/function bodies as strings from a running program. Then hopefully if there is no parsing errors, the user can get back the names. If the info is there in the program, why isn't there just a way to query it directly? Then Firestore wouldn't need an extra step, and Datastore wouldn't need a mirror.

You must be logged in to vote
0 replies
Comment options

ODM support enum as well as List and Set of enum, which is nice. But this support doesn't extend to FieldValue.arrayUnion and FieldValue.arrayRemove since FieldValue com straight from cloud_firestore package which doesn't handle enum types. Hence we need to remember to add .name to enum values when using FieldValue: reference.update(myFieldFieldValue.arrayUnion([MyEnum.value1.name]));.

I just wanted to report this disparity, from what I understand from code it would be quit a work to come up with a FieldValue ODM equivalent that support enum.

You must be logged in to vote
0 replies
Comment options

It's not clear from the documentation whether a subcollection class has to be defined in the same file as the parent collection class. For example, if I have in one file:

@Collection<Person>('people')
@freezed
class Person with _$Person {
  @JsonSerializable()
  const factory Person({
    String? name,
  }) = _Person;

  factory Person.fromJson(Map<String, dynamic> json) => _$PersonFromJson(json);
}

And in another file:

@Collection<Book>('people/*/books')
@freezed
class Book with _$Book {
  @JsonSerializable()
  const factory Book({
    int? pages,
  }) = _Book;

  factory Book.fromJson(Map<String, dynamic> json) => _$BookFromJson(json);
}

Then I get the error Defined a subcollection with path "people/*/books" but no collection with path "people" found.
If I put them in the same file then it works.
Is it intentional? Is there no way to separate the two classes to different files? In my project I have a collection tree which goes deep and wide with many classes, I'd prefer very much to be able to separate.

Thanks.

You must be logged in to vote
0 replies
Comment options

Do you plan to support batch operations? It can be similar to the transaction API you already support, e.g:

final batch = FirebaseFirestore.instance.batch();
usersRef.doc('userId').batchUpdate(
  batch,
  name: 'New name',
  ageFieldValue: FieldValue.delete(),
);
await batch.commit();
You must be logged in to vote
1 reply
@liranzairi
Comment options

I created a PR for this FirebaseExtended/firestoreodm-flutter#3

Comment options

i am getting
Undefined name 'notSetQueryParam'.
Try correcting the name to one that is defined, or defining the name.

looks like its not generating that or I am missing something

my environment

environment:
sdk: ">=3.0.0 <4.0.0"

dev_dependencies:
build_runner: ^2.4.8
cloud_firestore_odm_generator: ^1.0.0-dev.19
freezed: ^2.4.7
json_serializable: ^6.7.1
mocktail: ^1.0.0
test: ^1.19.2
very_good_analysis: ^5.1.0

dependencies:
cloud_firestore_odm: ^1.0.0-dev.19
freezed_annotation: ^2.4.1
json_annotation: ^4.8.1
cloud_firestore: ^4.15.3

You must be logged in to vote
1 reply
@motucraft
Comment options

same? #12240

Comment options

I'm curious about the current status of cloud_firestore_odm. Is it still actively maintained?
I noticed it has been moved from the FlutterFire repository to a new location here: https://github.com/FirebaseExtended/firestoreodm-flutter

Has maintenance ceased following this transition?
It appears that the versioning of cloud_firestore_odm is not keeping up with cloud_firestore since the move. Is this discrepancy intentional, or perhaps an oversight? Any insights or updates on this matter would be greatly appreciated!

You must be logged in to vote
6 replies
@motucraft
Comment options

Glad to hear that. However, it seems there are others who share my concerns.
FirebaseExtended/firestoreodm-flutter#7 (comment)

@liranzairi
Comment options

@rrousselGit I created a PR to support batch operations: FirebaseExtended/firestoreodm-flutter#3
I hope it'll be useful for the project

@rrousselGit
Comment options

Interesting! Sorry, I missed your notification.

@brendan-stat
Comment options

@rrousselGit @Ehesp There hasn't been a new version since October 2024!
There are lots of breaking changes in latest Flutter versions (particularly in cloud_firestore_odm_generator). Is it possible to bump dependencies?

@brendan-stat
Comment options

For anyone else facing issues upgrading to the latest Flutter version you can use these in your pubspec.yaml

dependencies:
  cloud_firestore_odm:
    git:
      url: https://github.com/Flutter-Fox/firestoreodm-flutter.git
      ref: fix/migration
      path: packages/cloud_firestore_odm/

dependency_overrides:
  analyzer: "7.7.1"
  dart_style: "3.1.1"

dev_dependencies:
  cloud_firestore_odm_generator:
    git:
      url: https://github.com/Flutter-Fox/firestoreodm-flutter.git
      ref: fix/migration
      path: packages/cloud_firestore_odm_generator/
Comment options

_$EntryModelFieldMap['name']

Undefined name '_$EntryModelFieldMap'

Why is this error in generated code

You must be logged in to vote
3 replies
@rrousselGit
Comment options

You didn't fully follow the installation steps and did not enable all necessary json_serializable flags

@muhammedrashidm
Comment options

I followed it from https://firebase.flutter.dev/docs/firestore-odm/defining-models. here, what do you think i might have missed

Comment options

I am interested in the last tagged version: cloud_firestore_odm-v1.0.0-dev.86

Does that mean it is close(ish) to an RC or did you start with v1.0.0 during development and we're just essentially on v0.86.0?

You must be logged in to vote
1 reply
@ciriousjoker
Comment options

Consider it v0.88.0, since v0.88.0 had a breaking change.

Comment options

Hi everyone,

I've been following this discussion for a while and noticed that the official Firestore ODM development has been relatively quiet lately. Like many of you, I've encountered various limitations and issues mentioned in this thread - from nested object support to pagination, enum handling, and the general maintenance concerns.

After experiencing these pain points in my own projects, I decided to take a different approach and built a new Firestore ODM from the ground up, specifically designed to address many of the issues discussed here.

Key improvements include:

Complete nested object support - Works seamlessly with complex data structures
Revolutionary pagination - Smart Builder system that eliminates cursor inconsistency bugs
Full enum support - Including arrays and FieldValue operations
Streaming aggregations - Real-time count/sum/average subscriptions (unique feature)
Three update strategies - patch, modify, and incrementalModify for different use cases
Model reusability - Same model works across collections and subcollections
Lightning-fast code generation - Highly optimized using callables and Dart extensions
Complete type safety - No Map<String, dynamic> anywhere
The ODM supports freezed, json_serializable, and fast_immutable_collections out of the box, with automatic document ID handling and server timestamp support.

I've been using it in production and it's been incredibly stable. The documentation is comprehensive with detailed guides and examples.

If anyone is interested in trying it out, you can find it here: https://github.com/sylphxltd/firestore_odm

Full documentation: https://sylphxltd.github.io/firestore_odm/

I'd love to get feedback from the community, especially from those who've been waiting for solutions to the issues mentioned in this thread. No pressure at all - just sharing in case it helps anyone who's been stuck with similar challenges.

Thanks for all the great discussions and feedback in this thread - it really helped shape the design decisions! 🙏

You must be logged in to vote
3 replies
@jannuskool
Comment options

Very excited about this! Status of original Firestore ODM has been a worrying point, although I’ve been able to work around the limitations without bigger problems. Will try out the package and potentially migrate my app to use it. Effort on the new package highly appreciated!

@blakejjia
Comment options

bro you are my life saver! Keep up please!!

@brendan-stat
Comment options

Nicee, this is just amazing! The documentation is super helpful

Also do you think you could bump the dependencies to use the latest build tools? e.g source_gen: ^3.1.0 and build: ^3.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Morty Proxy This is a proxified and sanitized view of the page, visit original site.