Files
iiEsaywebUIapp/lib/core/models/knowledge_base.dart

36 lines
994 B
Dart
Raw Normal View History

2025-08-10 01:20:45 +05:30
import 'package:freezed_annotation/freezed_annotation.dart';
part 'knowledge_base.freezed.dart';
part 'knowledge_base.g.dart';
@freezed
sealed class KnowledgeBase with _$KnowledgeBase {
const factory KnowledgeBase({
required String id,
required String name,
String? description,
required DateTime createdAt,
required DateTime updatedAt,
@Default(0) int itemCount,
@Default({}) Map<String, dynamic> metadata,
}) = _KnowledgeBase;
factory KnowledgeBase.fromJson(Map<String, dynamic> json) =>
_$KnowledgeBaseFromJson(json);
}
@freezed
sealed class KnowledgeBaseItem with _$KnowledgeBaseItem {
const factory KnowledgeBaseItem({
required String id,
required String content,
String? title,
required DateTime createdAt,
required DateTime updatedAt,
@Default({}) Map<String, dynamic> metadata,
}) = _KnowledgeBaseItem;
factory KnowledgeBaseItem.fromJson(Map<String, dynamic> json) =>
_$KnowledgeBaseItemFromJson(json);
}