import 'package:appflowy_backend/dispatch/dispatch.dart'; import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart'; import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart'; import 'package:appflowy_result/appflowy_result.dart'; class GroupBackendService { GroupBackendService(this.viewId); final String viewId; Future> groupByField({ required String fieldId, required List settingContent, }) { final payload = GroupByFieldPayloadPB.create() ..viewId = viewId ..fieldId = fieldId ..settingContent = settingContent; return DatabaseEventSetGroupByField(payload).send(); } Future> updateGroup({ required String groupId, required String fieldId, String? name, bool? visible, }) { final payload = UpdateGroupPB.create() ..fieldId = fieldId ..viewId = viewId ..groupId = groupId; if (name != null) { payload.name = name; } if (visible != null) { payload.visible = visible; } return DatabaseEventUpdateGroup(payload).send(); } Future> createGroup({ required String name, String groupConfigId = "", }) { final payload = CreateGroupPayloadPB.create() ..viewId = viewId ..name = name; return DatabaseEventCreateGroup(payload).send(); } Future> deleteGroup({ required String groupId, }) { final payload = DeleteGroupPayloadPB.create() ..viewId = viewId ..groupId = groupId; return DatabaseEventDeleteGroup(payload).send(); } }