Table.fromJson constructor

Table.fromJson(
  1. String name,
  2. Map<String, dynamic> json,
  3. Map<String, List<String>> mapOfEnums,
  4. bool jsonbToDynamic, {
  5. Map<String, JsonbModelConfig>? jsonbModels,
})

Implementation

factory Table.fromJson(
    String name,
    Map<String, dynamic> json,
    Map<String, List<String>> mapOfEnums,
    bool jsonbToDynamic,
    {Map<String, JsonbModelConfig>? jsonbModels}) {
  final properties = json['properties'] as Map<String, dynamic>;
  final requiredFields = json['required'] != null
      ? List<String>.from(json['required'])
      : <String>[];

  return Table(
    name: name,
    requiredFields: requiredFields,
    columns: properties.map((key, value) => MapEntry(
        snakeCasingToCamelCasing(key),
        Column.fromJson(key, value, requiredFields, mapOfEnums,
            jsonbToDynamic: jsonbToDynamic,
            schema: 'public',
            tableName: name,
            jsonbModels: jsonbModels))),
  );
}