setting_service.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-grid/field_entities.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-grid/grid_entities.pb.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-grid/group.pb.dart';
  7. import 'package:flowy_sdk/protobuf/flowy-grid/setting_entities.pb.dart';
  8. class SettingFFIService {
  9. final String viewId;
  10. const SettingFFIService({required this.viewId});
  11. Future<Either<GridSettingPB, FlowyError>> getSetting() {
  12. final payload = GridIdPB.create()..value = viewId;
  13. return GridEventGetGridSetting(payload).send();
  14. }
  15. Future<Either<Unit, FlowyError>> groupByField({
  16. required String fieldId,
  17. required FieldType fieldType,
  18. }) {
  19. final insertGroupPayload = InsertGroupPayloadPB.create()
  20. ..fieldId = fieldId
  21. ..fieldType = fieldType;
  22. final payload = GridSettingChangesetPayloadPB.create()
  23. ..gridId = viewId
  24. ..insertGroup = insertGroupPayload;
  25. return GridEventUpdateGridSetting(payload).send();
  26. }
  27. }