forked from eatvio/eatvio_app
38 lines
1.2 KiB
Dart
38 lines
1.2 KiB
Dart
import 'package:eatvio_app/features/create_recipe/models/ingredient.dart';
|
|
import 'package:eatvio_app/features/create_recipe/models/step.dart';
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'recipe_create_model.freezed.dart';
|
|
|
|
part 'recipe_create_model.g.dart';
|
|
|
|
enum RecipeType {
|
|
@JsonKey(name: 'first_meals') firstMeals,
|
|
@JsonKey(name: 'second_meals') secondMeals,
|
|
salads,
|
|
snacks,
|
|
sweets,
|
|
drinks,
|
|
other
|
|
}
|
|
|
|
@freezed
|
|
abstract class RecipeCreateModel with _$RecipeCreateModel {
|
|
const factory RecipeCreateModel({
|
|
required String title,
|
|
required String state,
|
|
@JsonKey(name: 'description_md') required String description,
|
|
required RecipeType type,
|
|
@JsonKey(name: 'video_url') String? videoUrl,
|
|
@JsonKey(name: 'cooking_time') String? cookingTime,
|
|
@JsonKey(name: 'active_time') String? activeTime,
|
|
required String servings,
|
|
@JsonKey(name: 'energy_per_serving') required String energyPerServing,
|
|
required List<String> tags,
|
|
required List<Ingredient> ingredients,
|
|
required List<Step> steps,
|
|
}) = _RecipeCreateModel;
|
|
|
|
factory RecipeCreateModel.fromJson(Map<String, Object?> json) => _$RecipeCreateModelFromJson(json);
|
|
}
|