attachModel<TModel, TCreateInput extends JsonSerializable, TCreateResult, TUpdateInput extends JsonSerializable, TUpdateResult, TDeleteInput extends JsonSerializable, TDeleteResult, TGetResult, TFindInput extends JsonSerializable, TFindResult> static method

CactusModel<TModel, TCreateInput, TCreateResult, TUpdateInput, TUpdateResult, TDeleteInput, TDeleteResult, TGetResult, TFindInput, TFindResult> attachModel<TModel, TCreateInput extends JsonSerializable, TCreateResult, TUpdateInput extends JsonSerializable, TUpdateResult, TDeleteInput extends JsonSerializable, TDeleteResult, TGetResult, TFindInput extends JsonSerializable, TFindResult>(
  1. CactusModelBuilder<TModel, TCreateInput, TCreateResult, TUpdateInput, TUpdateResult, TDeleteInput, TDeleteResult, TGetResult, TFindInput, TFindResult> modelBuilder
)

Start point to include Model into db Model must be created from GraphQl schema

Implementation

static CactusModel<
        TModel,
        TCreateInput,
        TCreateResult,
        TUpdateInput,
        TUpdateResult,
        TDeleteInput,
        TDeleteResult,
        TGetResult,
        TFindInput,
        TFindResult>
    attachModel<
        TModel,
        TCreateInput extends JsonSerializable,
        TCreateResult,
        TUpdateInput extends JsonSerializable,
        TUpdateResult,
        TDeleteInput extends JsonSerializable,
        TDeleteResult,
        TGetResult,
        TFindInput extends JsonSerializable,
        TFindResult>(
  final CactusModelBuilder<
          TModel,
          TCreateInput,
          TCreateResult,
          TUpdateInput,
          TUpdateResult,
          TDeleteInput,
          TDeleteResult,
          TGetResult,
          TFindInput,
          TFindResult>
      modelBuilder,
) {
  final db = CactusSync.db;
  if (db == null) {
    throw ArgumentError.notNull(
      '''
      You don't have CactusSync db instance! Be aware:
      CactusSync.init(...) should be called before attachModel!
      ''',
    );
  }
  final model = modelBuilder(db: db);
  db.models.addAll({model.graphqlModelName: model});
  return model;
}