createItemWithColumnData method

Future<void> createItemWithColumnData({
  1. required String boardId,
  2. required String itemName,
  3. required List<MondayColumnValue> columnData,
})

Implementation

Future<void> createItemWithColumnData({
  required String boardId,
  required String itemName,
  required List<MondayColumnValue> columnData,
}) async {
  int intBoardId = int.parse(boardId);

  Map<String, dynamic> mergedMap = <String, dynamic>{};
  for (MondayColumnValue cd in columnData) {
    mergedMap.addAll(cd.toMap());
  }

  String columnValuesJson = jsonEncode(mergedMap).replaceAll('"', '\\"');
  String mutation = '''
  mutation {
    create_item(
      board_id: $intBoardId,
      item_name: "$itemName",
      column_values: "$columnValuesJson"
    ) {
      id
      name
    }
  }
''';

  await postQuery(mutation);
}