Table.fromJson constructor

Table.fromJson(
  1. String name,
  2. Map<String, dynamic> json,
  3. Map<String, List<String>> mapOfEnums,
  4. bool jsonbToDynamic, {
  5. String schema = 'public',
  6. Schemas schemas = Schemas.defaults,
  7. Map<String, JsonbModelConfig>? jsonbModels,
})

Implementation

factory Table.fromJson(String name, Map<String, dynamic> json,
    Map<String, List<String>> mapOfEnums, bool jsonbToDynamic,
    {String schema = 'public',
    Schemas schemas = Schemas.defaults,
    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(
    schema: schema,
    name: name,
    requiredFields: requiredFields,
    columns: properties.map((key, value) => MapEntry(
        snakeCasingToCamelCasing(key),
        Column.fromJson(key, value, requiredFields, mapOfEnums,
            jsonbToDynamic: jsonbToDynamic,
            schemas: schemas,
            schema: schema,
            tableName: name,
            jsonbModels: jsonbModels))),
  );
}