Column.fromJson constructor
Column.fromJson(})
Implementation
factory Column.fromJson(
String colName,
Map<String, dynamic> json,
List<String> parentTableRequiredFields,
Map<String, List<String>> mapOfEnums,
{bool jsonbToDynamic = false}) {
List<String> enumValues =
json['enum'] != null ? List<String>.from(json['enum']) : <String>[];
if (json['format'].toString().contains("public.")) {
for (var enumName in mapOfEnums.keys) {
if (json['format'].toString().contains(enumName)) {
enumValues = mapOfEnums[enumName]!;
// print("enumValues set for ${json['format']} to $enumValues");
}
}
}
return Column(
postgresFormat: json['format'],
dbColName: colName,
camelColName: snakeCasingToCamelCasing(colName),
enumValues: enumValues,
hasDefaultValue: json['description']?.contains('[supadart:serial]') ??
json['default'] != null,
description: json['description'],
maxLength: json['maxLength'],
isPrimaryKey: json['description']?.contains('<pk/>') ?? false,
isSerialType: json['description']?.contains('[supadart:serial]') ?? false,
isInRequiredColumn: parentTableRequiredFields.contains(colName),
isEnum: json['enum'] != null || enumValues.isNotEmpty,
jsonbToDynamic: jsonbToDynamic,
);
}