32 lines
1020 B
Dart
32 lines
1020 B
Dart
import 'package:birzha/models/settings/settingsModel.dart';
|
|
import 'package:birzha/models/translationModel.dart';
|
|
import 'package:birzha/services/translationServices.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:birzha/core/orm/orm.dart';
|
|
|
|
abstract class PostCharacteristics {
|
|
String get translatedLabel;
|
|
String get value;
|
|
}
|
|
|
|
mixin RemoteDetailsMixin on Post {
|
|
Future<void> loadDetails(BuildContext context);
|
|
}
|
|
|
|
mixin TranslatableMixin<PKeyType> on Orm<PKeyType> {
|
|
void configureTranslationModel() {
|
|
var translationsRaw = jSON['translations'];
|
|
if (translationsRaw != null && translationsRaw is Iterable)
|
|
(translationsRaw as List).removeWhere((element) => TranslationModel({...element}).primaryKey != 'backendCode'.translation);
|
|
}
|
|
|
|
TranslationModel? get translationModel => getTranslationAccordingToLocale(translationsFromMap(jSON));
|
|
}
|
|
|
|
abstract class Post extends Orm<int> {
|
|
Post(Map<String, dynamic> jSON) : super(jSON);
|
|
|
|
@override
|
|
String get primaryKeyField => 'id';
|
|
}
|