Browse Source

feat: migrate flowy-database (#2373)

* feat: add flowy-database2

* chore: config type option data

* chore: impl type option

* feat: config group

* fix: group compile

* feat: add sort

* chore: setting

* chore: insert with specific type

* chore: custom group

* chore: rename any map

* chore: use group setting

* chore: update

* chore: open database event

* chore: update database editor

* chore: update

* chore: update view editor

* chore: update

* chore: update view editor

* chore: sort feat

* chore: update handler

* chore: update

* chore: config handler event

* feat: impl handlers

* feat: impl handlers

* chore: layout setting

* feat: impl handlers

* chore: remove flowy-folder ref

* chore: integrate flowy-database2

* feat: get cell

* chore: create database with data

* chore: create view

* chore: fix dart compile

* fix: some bugs

* chore: update

* chore: merge develop

* chore: fix warning

* chore: integrate rocksdb

* fix: rocksdb compile errros

* fix: update cell

* chore: update the bundle identifier

* fix: create row

* fix: switch to field

* fix: duplicate grid

* test: migrate tests

* test: migrate tests

* test: update test

* test: migrate tests

* chore: add patch
Nathan.fooo 2 years ago
parent
commit
32bd0ffca2
100 changed files with 374 additions and 365 deletions
  1. 2 2
      frontend/.vscode/launch.json
  2. 4 0
      frontend/Makefile.toml
  3. 1 1
      frontend/appflowy_flutter/lib/core/grid_notification.dart
  4. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_cache.dart
  5. 3 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_controller.dart
  6. 4 4
      frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_controller_builder.dart
  7. 3 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_listener.dart
  8. 8 7
      frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_service.dart
  9. 9 8
      frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart
  10. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/database_service.dart
  11. 15 20
      frontend/appflowy_flutter/lib/plugins/database_view/application/database_view_service.dart
  12. 6 5
      frontend/appflowy_flutter/lib/plugins/database_view/application/defines.dart
  13. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart
  14. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_cell_bloc.dart
  15. 8 8
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_controller.dart
  16. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart
  17. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_listener.dart
  18. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart
  19. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_type_option_edit_bloc.dart
  20. 5 6
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/date_bloc.dart
  21. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart
  22. 1 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/multi_select_type_option.dart
  23. 3 4
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_bloc.dart
  24. 46 45
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_format_bloc.dart
  25. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/select_option_type_option_bloc.dart
  26. 1 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/single_select_type_option.dart
  27. 7 10
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_context.dart
  28. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_data_controller.dart
  29. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_service.dart
  30. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/application/filter/filter_listener.dart
  31. 10 10
      frontend/appflowy_flutter/lib/plugins/database_view/application/filter/filter_service.dart
  32. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/application/group/group_listener.dart
  33. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/layout/calendar_setting_listener.dart
  34. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/layout/layout_setting_listener.dart
  35. 13 12
      frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_cache.dart
  36. 2 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart
  37. 8 7
      frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_list.dart
  38. 6 5
      frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_service.dart
  39. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/group_bloc.dart
  40. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_controller.dart
  41. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_listener.dart
  42. 4 4
      frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_service.dart
  43. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/application/sort/sort_listener.dart
  44. 4 4
      frontend/appflowy_flutter/lib/plugins/database_view/application/sort/sort_service.dart
  45. 2 1
      frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_cache.dart
  46. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_listener.dart
  47. 7 6
      frontend/appflowy_flutter/lib/plugins/database_view/board/application/board_bloc.dart
  48. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/board/application/group.dart
  49. 3 2
      frontend/appflowy_flutter/lib/plugins/database_view/board/application/group_controller.dart
  50. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart
  51. 16 15
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart
  52. 5 5
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart
  53. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart
  54. 8 9
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_layout_setting.dart
  55. 3 3
      frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_setting.dart
  56. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/checkbox_filter_editor_bloc.dart
  57. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/checklist_filter_bloc.dart
  58. 7 7
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/filter_create_bloc.dart
  59. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_bloc.dart
  60. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_list_bloc.dart
  61. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/text_filter_editor_bloc.dart
  62. 3 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart
  63. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart
  64. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/sort/sort_create_bloc.dart
  65. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/application/sort/sort_editor_bloc.dart
  66. 1 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart
  67. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart
  68. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart
  69. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/condition_list.dart
  70. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart
  71. 2 2
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart
  72. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart
  73. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart
  74. 7 7
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart
  75. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu_item.dart
  76. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart
  77. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_extension.dart
  78. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart
  79. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart
  80. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart
  81. 7 9
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/builder.dart
  82. 29 23
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart
  83. 6 6
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart
  84. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart
  85. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart
  86. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/order_panel.dart
  87. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart
  88. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_info.dart
  89. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/date_card_cell_bloc.dart
  90. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/select_option_card_cell_bloc.dart
  91. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/url_card_cell_bloc.dart
  92. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart
  93. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_bloc.dart
  94. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_cell_builder.dart
  95. 4 3
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/card_cell.dart
  96. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart
  97. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cell_builder.dart
  98. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_bloc.dart
  99. 1 1
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart
  100. 9 10
      frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cal_bloc.dart

+ 2 - 2
frontend/.vscode/launch.json

@@ -13,7 +13,7 @@
             "preLaunchTask": "AF: Build Appflowy Core",
             "env": {
                 "RUST_LOG": "trace",
-                // "RUST_LOG": "debug"
+                "RUST_BACKTRACE": 1,
             },
             "cwd": "${workspaceRoot}/appflowy_flutter"
         },
@@ -24,7 +24,7 @@
             "program": "./lib/main.dart",
             "type": "dart",
             "env": {
-                "RUST_LOG": "debug"
+                "RUST_LOG": "debug",
             },
             "cwd": "${workspaceRoot}/appflowy_flutter"
         },

+ 4 - 0
frontend/Makefile.toml

@@ -59,6 +59,7 @@ BUILD_FLAG = "debug"
 FLUTTER_OUTPUT_DIR = "Debug"
 PRODUCT_EXT = "app"
 BUILD_ARCHS = "arm64"
+CRATE_TYPE = "staticlib"
 
 [env.development-mac-x86_64]
 RUST_LOG = "info"
@@ -68,6 +69,7 @@ BUILD_FLAG = "debug"
 FLUTTER_OUTPUT_DIR = "Debug"
 PRODUCT_EXT = "app"
 BUILD_ARCHS = "x86_64"
+CRATE_TYPE = "staticlib"
 
 [env.production-mac-arm64]
 BUILD_FLAG = "release"
@@ -77,6 +79,7 @@ FLUTTER_OUTPUT_DIR = "Release"
 PRODUCT_EXT = "app"
 APP_ENVIRONMENT = "production"
 BUILD_ARCHS = "arm64"
+CRATE_TYPE = "staticlib"
 
 [env.production-mac-x86_64]
 BUILD_FLAG = "release"
@@ -86,6 +89,7 @@ FLUTTER_OUTPUT_DIR = "Release"
 PRODUCT_EXT = "app"
 APP_ENVIRONMENT = "production"
 BUILD_ARCHS = "x86_64"
+CRATE_TYPE = "staticlib"
 
 [env.development-windows-x86]
 TARGET_OS = "windows"

+ 1 - 1
frontend/appflowy_flutter/lib/core/grid_notification.dart

@@ -3,7 +3,7 @@ import 'dart:typed_data';
 import 'package:appflowy_backend/protobuf/flowy-notification/protobuf.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
 import 'package:appflowy_backend/rust_stream.dart';
 
 import 'notification_helper.dart';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_cache.dart

@@ -13,7 +13,7 @@ class DatabaseCell {
 /// We use [fieldId + rowId] to identify the cell.
 class CellCacheKey {
   final String fieldId;
-  final String rowId;
+  final Int64 rowId;
   CellCacheKey({
     required this.fieldId,
     required this.rowId,
@@ -28,7 +28,7 @@ class CellCache {
   final String viewId;
 
   /// fieldId: {cacheKey: GridCell}
-  final Map<String, Map<String, dynamic>> _cellDataByFieldId = {};
+  final Map<String, Map<Int64, dynamic>> _cellDataByFieldId = {};
   CellCache({
     required this.viewId,
   });

+ 3 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_controller.dart

@@ -1,10 +1,11 @@
 import 'dart:async';
 import 'package:appflowy/plugins/database_view/application/field/field_listener.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:equatable/equatable.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter/foundation.dart';
 import '../field/field_controller.dart';
 import '../field/field_service.dart';
@@ -38,7 +39,7 @@ class CellController<T, D> extends Equatable {
 
   String get viewId => cellId.viewId;
 
-  String get rowId => cellId.rowId;
+  Int64 get rowId => cellId.rowId;
 
   String get fieldId => cellId.fieldInfo.id;
 

+ 4 - 4
frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_controller_builder.dart

@@ -1,7 +1,7 @@
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/url_type_option_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/url_entities.pb.dart';
 
 import 'cell_controller.dart';
 import 'cell_service.dart';

+ 3 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_listener.dart

@@ -1,7 +1,8 @@
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'dart:async';
 import 'dart:typed_data';
@@ -9,7 +10,7 @@ import 'dart:typed_data';
 typedef UpdateFieldNotifiedValue = Either<Unit, FlowyError>;
 
 class CellListener {
-  final String rowId;
+  final Int64 rowId;
   final String fieldId;
   PublishNotifier<UpdateFieldNotifiedValue>? _updateCellNotifier =
       PublishNotifier();

+ 8 - 7
frontend/appflowy_flutter/lib/plugins/database_view/application/cell/cell_service.dart

@@ -1,14 +1,15 @@
 import 'dart:async';
 import 'dart:collection';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/url_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/cell_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/url_type_option_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/cell_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter/foundation.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:convert' show utf8;
@@ -30,7 +31,7 @@ class CellBackendService {
       ..viewId = cellId.viewId
       ..fieldId = cellId.fieldId
       ..rowId = cellId.rowId
-      ..typeCellData = data;
+      ..cellChangeset = data;
     return DatabaseEventUpdateCell(payload).send();
   }
 
@@ -51,7 +52,7 @@ class CellBackendService {
 class CellIdentifier with _$CellIdentifier {
   const factory CellIdentifier({
     required String viewId,
-    required String rowId,
+    required Int64 rowId,
     required FieldInfo fieldInfo,
   }) = _CellIdentifier;
 

+ 9 - 8
frontend/appflowy_flutter/lib/plugins/database_view/application/database_controller.dart

@@ -2,17 +2,18 @@ import 'package:appflowy/plugins/database_view/application/field/field_controlle
 import 'package:appflowy/plugins/database_view/application/layout/calendar_setting_listener.dart';
 import 'package:appflowy/plugins/database_view/application/view/view_cache.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/calendar_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group_changeset.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/calendar_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group_changeset.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
 import 'package:collection/collection.dart';
 import 'dart:async';
 import 'package:dartz/dartz.dart';
+import 'package:fixnum/fixnum.dart';
 import 'database_view_service.dart';
 import 'defines.dart';
 import 'layout/layout_setting_listener.dart';
@@ -156,7 +157,7 @@ class DatabaseController {
   }
 
   Future<Either<RowPB, FlowyError>> createRow({
-    String? startRowId,
+    Int64? startRowId,
     String? groupId,
     void Function(RowDataBuilder builder)? withCells,
   }) {
@@ -198,7 +199,7 @@ class DatabaseController {
   }
 
   Future<void> updateCalenderLayoutSetting(
-    CalendarLayoutSettingsPB layoutSetting,
+    CalendarLayoutSettingPB layoutSetting,
   ) async {
     await _databaseViewBackendSvc
         .updateLayoutSetting(calendarLayoutSetting: layoutSetting)

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/database_service.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy_backend/dispatch/dispatch.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:dartz/dartz.dart';
 

+ 15 - 20
frontend/appflowy_flutter/lib/plugins/database_view/application/database_view_service.dart

@@ -1,14 +1,15 @@
-import 'package:appflowy_backend/protobuf/flowy-database/calendar_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group_changeset.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/calendar_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group_changeset.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
+import 'package:fixnum/fixnum.dart';
 
 class DatabaseViewBackendService {
   final String viewId;
@@ -24,14 +25,12 @@ class DatabaseViewBackendService {
   }
 
   Future<Either<RowPB, FlowyError>> createRow({
-    String? startRowId,
+    Int64? startRowId,
     String? groupId,
     Map<String, String>? cellDataByFieldId,
   }) {
     var payload = CreateRowPayloadPB.create()..viewId = viewId;
-    if (startRowId != null) {
-      payload.startRowId = startRowId;
-    }
+    payload.startRowId = startRowId ?? Int64(0);
 
     if (groupId != null) {
       payload.groupId = groupId;
@@ -45,9 +44,9 @@ class DatabaseViewBackendService {
   }
 
   Future<Either<Unit, FlowyError>> moveRow({
-    required String fromRowId,
+    required Int64 fromRowId,
     required String toGroupId,
-    String? toRowId,
+    Int64? toRowId,
   }) {
     var payload = MoveGroupRowPayloadPB.create()
       ..viewId = viewId
@@ -96,17 +95,13 @@ class DatabaseViewBackendService {
   }
 
   Future<Either<Unit, FlowyError>> updateLayoutSetting({
-    CalendarLayoutSettingsPB? calendarLayoutSetting,
+    CalendarLayoutSettingPB? calendarLayoutSetting,
   }) {
-    final layoutSetting = LayoutSettingPB.create();
+    final payload = LayoutSettingChangesetPB.create()..viewId = viewId;
     if (calendarLayoutSetting != null) {
-      layoutSetting.calendar = calendarLayoutSetting;
+      payload.calendar = calendarLayoutSetting;
     }
 
-    final payload = UpdateLayoutSettingPB.create()
-      ..viewId = viewId
-      ..layoutSetting = layoutSetting;
-
     return DatabaseEventSetLayoutSetting(payload).send();
   }
 

+ 6 - 5
frontend/appflowy_flutter/lib/plugins/database_view/application/defines.dart

@@ -1,7 +1,8 @@
 import 'dart:collection';
 
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
+import 'package:fixnum/fixnum.dart';
 
 import '../grid/presentation/widgets/filter/filter_info.dart';
 import 'field/field_controller.dart';
@@ -11,12 +12,12 @@ typedef OnFieldsChanged = void Function(UnmodifiableListView<FieldInfo>);
 typedef OnFiltersChanged = void Function(List<FilterInfo>);
 typedef OnDatabaseChanged = void Function(DatabasePB);
 
-typedef OnRowsCreated = void Function(List<String> ids);
-typedef OnRowsUpdated = void Function(List<String> ids);
-typedef OnRowsDeleted = void Function(List<String> ids);
+typedef OnRowsCreated = void Function(List<Int64> ids);
+typedef OnRowsUpdated = void Function(List<Int64> ids);
+typedef OnRowsDeleted = void Function(List<Int64> ids);
 typedef OnRowsChanged = void Function(
   UnmodifiableListView<RowInfo> rows,
-  UnmodifiableMapView<String, RowInfo> rowByRowId,
+  UnmodifiableMapView<Int64, RowInfo> rowByRowId,
   RowsChangedReason reason,
 );
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_action_sheet_bloc.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'field_service.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_cell_bloc.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 8 - 8
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_controller.dart

@@ -1,13 +1,13 @@
 import 'dart:collection';
-import 'package:appflowy_backend/protobuf/flowy-database/filter_changeset.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/filter_changeset.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:flutter/foundation.dart';
 import '../../grid/presentation/widgets/filter/filter_info.dart';
 import '../../grid/presentation/widgets/sort/sort_info.dart';
@@ -94,7 +94,7 @@ class FieldController {
       _updatedFieldCallbacks = {};
 
   // Group callbacks
-  final Map<String, GroupConfigurationPB> _groupConfigurationByFieldId = {};
+  final Map<String, GroupSettingPB> _groupConfigurationByFieldId = {};
 
   // Filter callbacks
   final Map<OnReceiveFilters, VoidCallback> _filterCallbacks = {};
@@ -401,7 +401,7 @@ class FieldController {
 
   void _updateSetting(DatabaseViewSettingPB setting) {
     _groupConfigurationByFieldId.clear();
-    for (final configuration in setting.groupConfigurations.items) {
+    for (final configuration in setting.groupSettings.items) {
       _groupConfigurationByFieldId[configuration.fieldId] = configuration;
     }
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_editor_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:dartz/dartz.dart';
 import 'field_service.dart';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_listener.dart

@@ -1,11 +1,11 @@
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'dart:async';
 import 'dart:typed_data';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 
 typedef UpdateFieldNotifiedValue = Either<FieldPB, FlowyError>;
 

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_service.dart

@@ -1,8 +1,8 @@
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 
 part 'field_service.freezed.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/field_type_option_edit_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 5 - 6
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/date_bloc.dart

@@ -1,5 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'package:protobuf/protobuf.dart';
@@ -41,8 +40,8 @@ class DateTypeOptionBloc
   }
 
   DateTypeOptionPB _updateTypeOption({
-    DateFormat? dateFormat,
-    TimeFormat? timeFormat,
+    DateFormatPB? dateFormat,
+    TimeFormatPB? timeFormat,
     bool? includeTime,
   }) {
     state.typeOption.freeze();
@@ -64,9 +63,9 @@ class DateTypeOptionBloc
 
 @freezed
 class DateTypeOptionEvent with _$DateTypeOptionEvent {
-  const factory DateTypeOptionEvent.didSelectDateFormat(DateFormat format) =
+  const factory DateTypeOptionEvent.didSelectDateFormat(DateFormatPB format) =
       _DidSelectDateFormat;
-  const factory DateTypeOptionEvent.didSelectTimeFormat(TimeFormat format) =
+  const factory DateTypeOptionEvent.didSelectTimeFormat(TimeFormatPB format) =
       _DidSelectTimeFormat;
   const factory DateTypeOptionEvent.includeTime(bool includeTime) =
       _IncludeTime;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'package:protobuf/protobuf.dart';

+ 1 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/multi_select_type_option.dart

@@ -1,6 +1,5 @@
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/multi_select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'dart:async';
 import 'select_option_type_option_bloc.dart';
 import 'type_option_context.dart';

+ 3 - 4
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_bloc.dart

@@ -1,5 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/number_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'package:protobuf/protobuf.dart';
@@ -22,7 +21,7 @@ class NumberTypeOptionBloc
     );
   }
 
-  NumberTypeOptionPB _updateNumberFormat(NumberFormat format) {
+  NumberTypeOptionPB _updateNumberFormat(NumberFormatPB format) {
     state.typeOption.freeze();
     return state.typeOption.rebuild((typeOption) {
       typeOption.format = format;
@@ -32,7 +31,7 @@ class NumberTypeOptionBloc
 
 @freezed
 class NumberTypeOptionEvent with _$NumberTypeOptionEvent {
-  const factory NumberTypeOptionEvent.didSelectFormat(NumberFormat format) =
+  const factory NumberTypeOptionEvent.didSelectFormat(NumberFormatPB format) =
       _DidSelectFormat;
 }
 

+ 46 - 45
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/number_format_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_entities.pbenum.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 part 'number_format_bloc.freezed.dart';
@@ -9,7 +9,8 @@ class NumberFormatBloc extends Bloc<NumberFormatEvent, NumberFormatState> {
       (event, emit) async {
         event.map(
           setFilter: (_SetFilter value) {
-            final List<NumberFormat> formats = List.from(NumberFormat.values);
+            final List<NumberFormatPB> formats =
+                List.from(NumberFormatPB.values);
             if (value.filter.isNotEmpty) {
               formats.retainWhere(
                 (element) => element
@@ -34,92 +35,92 @@ class NumberFormatEvent with _$NumberFormatEvent {
 @freezed
 class NumberFormatState with _$NumberFormatState {
   const factory NumberFormatState({
-    required List<NumberFormat> formats,
+    required List<NumberFormatPB> formats,
     required String filter,
   }) = _NumberFormatState;
 
   factory NumberFormatState.initial() {
     return const NumberFormatState(
-      formats: NumberFormat.values,
+      formats: NumberFormatPB.values,
       filter: "",
     );
   }
 }
 
-extension NumberFormatExtension on NumberFormat {
+extension NumberFormatExtension on NumberFormatPB {
   String title() {
     switch (this) {
-      case NumberFormat.ArgentinePeso:
+      case NumberFormatPB.ArgentinePeso:
         return "Argentine peso";
-      case NumberFormat.Baht:
+      case NumberFormatPB.Baht:
         return "Baht";
-      case NumberFormat.CanadianDollar:
+      case NumberFormatPB.CanadianDollar:
         return "Canadian dollar";
-      case NumberFormat.ChileanPeso:
+      case NumberFormatPB.ChileanPeso:
         return "Chilean peso";
-      case NumberFormat.ColombianPeso:
+      case NumberFormatPB.ColombianPeso:
         return "Colombian peso";
-      case NumberFormat.DanishKrone:
+      case NumberFormatPB.DanishKrone:
         return "Danish krone";
-      case NumberFormat.Dirham:
+      case NumberFormatPB.Dirham:
         return "Dirham";
-      case NumberFormat.EUR:
+      case NumberFormatPB.EUR:
         return "Euro";
-      case NumberFormat.Forint:
+      case NumberFormatPB.Forint:
         return "Forint";
-      case NumberFormat.Franc:
+      case NumberFormatPB.Franc:
         return "Franc";
-      case NumberFormat.HongKongDollar:
+      case NumberFormatPB.HongKongDollar:
         return "Hone Kong dollar";
-      case NumberFormat.Koruna:
+      case NumberFormatPB.Koruna:
         return "Koruna";
-      case NumberFormat.Krona:
+      case NumberFormatPB.Krona:
         return "Krona";
-      case NumberFormat.Leu:
+      case NumberFormatPB.Leu:
         return "Leu";
-      case NumberFormat.Lira:
+      case NumberFormatPB.Lira:
         return "Lira";
-      case NumberFormat.MexicanPeso:
+      case NumberFormatPB.MexicanPeso:
         return "Mexican peso";
-      case NumberFormat.NewTaiwanDollar:
+      case NumberFormatPB.NewTaiwanDollar:
         return "New Taiwan dollar";
-      case NumberFormat.NewZealandDollar:
+      case NumberFormatPB.NewZealandDollar:
         return "New Zealand dollar";
-      case NumberFormat.NorwegianKrone:
+      case NumberFormatPB.NorwegianKrone:
         return "Norwegian krone";
-      case NumberFormat.Num:
+      case NumberFormatPB.Num:
         return "Number";
-      case NumberFormat.Percent:
+      case NumberFormatPB.Percent:
         return "Percent";
-      case NumberFormat.PhilippinePeso:
+      case NumberFormatPB.PhilippinePeso:
         return "Philippine peso";
-      case NumberFormat.Pound:
+      case NumberFormatPB.Pound:
         return "Pound";
-      case NumberFormat.Rand:
+      case NumberFormatPB.Rand:
         return "Rand";
-      case NumberFormat.Real:
+      case NumberFormatPB.Real:
         return "Real";
-      case NumberFormat.Ringgit:
+      case NumberFormatPB.Ringgit:
         return "Ringgit";
-      case NumberFormat.Riyal:
+      case NumberFormatPB.Riyal:
         return "Riyal";
-      case NumberFormat.Ruble:
+      case NumberFormatPB.Ruble:
         return "Ruble";
-      case NumberFormat.Rupee:
+      case NumberFormatPB.Rupee:
         return "Rupee";
-      case NumberFormat.Rupiah:
+      case NumberFormatPB.Rupiah:
         return "Rupiah";
-      case NumberFormat.Shekel:
+      case NumberFormatPB.Shekel:
         return "Skekel";
-      case NumberFormat.USD:
+      case NumberFormatPB.USD:
         return "US dollar";
-      case NumberFormat.UruguayanPeso:
+      case NumberFormatPB.UruguayanPeso:
         return "Uruguayan peso";
-      case NumberFormat.Won:
+      case NumberFormatPB.Won:
         return "Won";
-      case NumberFormat.Yen:
+      case NumberFormatPB.Yen:
         return "Yen";
-      case NumberFormat.Yuan:
+      case NumberFormatPB.Yuan:
         return "Yuan";
       default:
         throw UnimplementedError;
@@ -128,13 +129,13 @@ extension NumberFormatExtension on NumberFormat {
 
   // String iconName() {
   //   switch (this) {
-  //     case NumberFormat.CNY:
+  //     case NumberFormatPB.CNY:
   //       return "grid/field/yen";
-  //     case NumberFormat.EUR:
+  //     case NumberFormatPB.EUR:
   //       return "grid/field/euro";
-  //     case NumberFormat.Number:
+  //     case NumberFormatPB.Number:
   //       return "grid/field/numbers";
-  //     case NumberFormat.USD:
+  //     case NumberFormatPB.USD:
   //       return "grid/field/us_dollar";
   //     default:
   //       throw UnimplementedError;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/select_option_type_option_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/single_select_type_option.dart

@@ -1,6 +1,5 @@
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/single_select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'dart:async';
 import 'package:protobuf/protobuf.dart';
 import 'select_option_type_option_bloc.dart';

+ 7 - 10
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_context.dart

@@ -1,17 +1,14 @@
 import 'package:appflowy_backend/dispatch/dispatch.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/url_entities.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:dartz/dartz.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/multi_select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/number_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/single_select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/url_type_option.pb.dart';
 import 'package:protobuf/protobuf.dart';
-
 import 'type_option_data_controller.dart';
 
 abstract class TypeOptionParser<T> {

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_data_controller.dart

@@ -1,7 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:protobuf/protobuf.dart' hide FieldInfo;
 import 'package:appflowy_backend/log.dart';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/field/type_option/type_option_service.dart

@@ -1,8 +1,8 @@
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/cell_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/cell_entities.pb.dart';
 
 class TypeOptionBackendService {
   final String viewId;

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/application/filter/filter_listener.dart

@@ -3,10 +3,10 @@ import 'dart:typed_data';
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/filter_changeset.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/filter_changeset.pb.dart';
 import 'package:dartz/dartz.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 
 typedef UpdateFilterNotifiedValue
     = Either<FilterChangesetNotificationPB, FlowyError>;

+ 10 - 10
frontend/appflowy_flutter/lib/plugins/database_view/application/filter/filter_service.dart

@@ -1,17 +1,17 @@
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/number_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checklist_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:fixnum/fixnum.dart' as $fixnum;
 
 class FilterBackendService {

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/application/group/group_listener.dart

@@ -3,10 +3,10 @@ import 'dart:typed_data';
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
 import 'package:dartz/dartz.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group_changeset.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group_changeset.pb.dart';
 
 typedef GroupUpdateValue = Either<GroupChangesetPB, FlowyError>;
 typedef GroupByNewFieldValue = Either<List<GroupPB>, FlowyError>;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/layout/calendar_setting_listener.dart

@@ -3,7 +3,7 @@ import 'dart:typed_data';
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/protobuf.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:dartz/dartz.dart';
 
 typedef NewLayoutFieldValue = Either<LayoutSettingPB, FlowyError>;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/layout/layout_setting_listener.dart

@@ -3,7 +3,7 @@ import 'dart:typed_data';
 import 'package:appflowy/core/grid_notification.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/protobuf.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:dartz/dartz.dart';
 
 typedef LayoutSettingsValue<T> = Either<T, FlowyError>;

+ 13 - 12
frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_cache.dart

@@ -1,7 +1,8 @@
 import 'dart:collection';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter/foundation.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 
@@ -42,7 +43,7 @@ class RowCache {
     return UnmodifiableListView(visibleRows);
   }
 
-  UnmodifiableMapView<String, RowInfo> get rowByRowId {
+  UnmodifiableMapView<Int64, RowInfo> get rowByRowId {
     return UnmodifiableMapView(_rowList.rowInfoByRowId);
   }
 
@@ -65,7 +66,7 @@ class RowCache {
     });
   }
 
-  RowInfo? getRow(String rowId) {
+  RowInfo? getRow(Int64 rowId) {
     return _rowList.get(rowId);
   }
 
@@ -115,7 +116,7 @@ class RowCache {
     }
   }
 
-  void _deleteRows(List<String> deletedRowIds) {
+  void _deleteRows(List<Int64> deletedRowIds) {
     for (final rowId in deletedRowIds) {
       final deletedRow = _rowList.remove(rowId);
       if (deletedRow != null) {
@@ -156,7 +157,7 @@ class RowCache {
     }
   }
 
-  void _hideRows(List<String> invisibleRows) {
+  void _hideRows(List<Int64> invisibleRows) {
     for (final rowId in invisibleRows) {
       final deletedRow = _rowList.remove(rowId);
       if (deletedRow != null) {
@@ -183,7 +184,7 @@ class RowCache {
   }
 
   RowUpdateCallback addListener({
-    required String rowId,
+    required Int64 rowId,
     void Function(CellByFieldId, RowsChangedReason)? onCellUpdated,
     bool Function()? listenWhen,
   }) {
@@ -219,7 +220,7 @@ class RowCache {
     _rowChangeReasonNotifier.removeListener(callback);
   }
 
-  CellByFieldId loadGridCells(String rowId) {
+  CellByFieldId loadGridCells(Int64 rowId) {
     final RowPB? data = _rowList.get(rowId)?.rowPB;
     if (data == null) {
       _loadRow(rowId);
@@ -227,7 +228,7 @@ class RowCache {
     return _makeGridCells(rowId, data);
   }
 
-  Future<void> _loadRow(String rowId) async {
+  Future<void> _loadRow(Int64 rowId) async {
     final payload = RowIdPB.create()
       ..viewId = viewId
       ..rowId = rowId;
@@ -239,7 +240,7 @@ class RowCache {
     );
   }
 
-  CellByFieldId _makeGridCells(String rowId, RowPB? row) {
+  CellByFieldId _makeGridCells(Int64 rowId, RowPB? row) {
     // ignore: prefer_collection_literals
     var cellDataMap = CellByFieldId();
     for (final field in _delegate.fields) {
@@ -319,7 +320,7 @@ typedef InsertedIndexs = List<InsertedIndex>;
 typedef DeletedIndexs = List<DeletedIndex>;
 // key: id of the row
 // value: UpdatedIndex
-typedef UpdatedIndexMap = LinkedHashMap<String, UpdatedIndex>;
+typedef UpdatedIndexMap = LinkedHashMap<Int64, UpdatedIndex>;
 
 @freezed
 class RowsChangedReason with _$RowsChangedReason {
@@ -337,7 +338,7 @@ class RowsChangedReason with _$RowsChangedReason {
 
 class InsertedIndex {
   final int index;
-  final String rowId;
+  final Int64 rowId;
   InsertedIndex({
     required this.index,
     required this.rowId,
@@ -355,7 +356,7 @@ class DeletedIndex {
 
 class UpdatedIndex {
   final int index;
-  final String rowId;
+  final Int64 rowId;
   UpdatedIndex({
     required this.index,
     required this.rowId,

+ 2 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_data_controller.dart

@@ -1,3 +1,4 @@
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter/material.dart';
 import '../cell/cell_service.dart';
 import 'row_cache.dart';
@@ -5,7 +6,7 @@ import 'row_cache.dart';
 typedef OnRowChanged = void Function(CellByFieldId, RowsChangedReason);
 
 class RowController {
-  final String rowId;
+  final Int64 rowId;
   final String viewId;
   final List<VoidCallback> _onRowChangedListeners = [];
   final RowCache _rowCache;

+ 8 - 7
frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_list.dart

@@ -1,5 +1,6 @@
 import 'dart:collection';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
+import 'package:fixnum/fixnum.dart';
 import 'row_cache.dart';
 
 class RowList {
@@ -9,13 +10,13 @@ class RowList {
   List<RowInfo> get rows => List.from(_rowInfos);
 
   /// Use Map for faster access the raw row data.
-  final HashMap<String, RowInfo> rowInfoByRowId = HashMap();
+  final HashMap<Int64, RowInfo> rowInfoByRowId = HashMap();
 
-  RowInfo? get(String rowId) {
+  RowInfo? get(Int64 rowId) {
     return rowInfoByRowId[rowId];
   }
 
-  int? indexOfRow(String rowId) {
+  int? indexOfRow(Int64 rowId) {
     final rowInfo = rowInfoByRowId[rowId];
     if (rowInfo != null) {
       return _rowInfos.indexOf(rowInfo);
@@ -56,7 +57,7 @@ class RowList {
     }
   }
 
-  DeletedIndex? remove(String rowId) {
+  DeletedIndex? remove(Int64 rowId) {
     final rowInfo = rowInfoByRowId[rowId];
     if (rowInfo != null) {
       final index = _rowInfos.indexOf(rowInfo);
@@ -145,7 +146,7 @@ class RowList {
     }
   }
 
-  void moveRow(String rowId, int oldIndex, int newIndex) {
+  void moveRow(Int64 rowId, int oldIndex, int newIndex) {
     final index = _rowInfos.indexWhere(
       (rowInfo) => rowInfo.rowPB.id == rowId,
     );
@@ -156,7 +157,7 @@ class RowList {
     }
   }
 
-  bool contains(String rowId) {
+  bool contains(Int64 rowId) {
     return rowInfoByRowId[rowId] != null;
   }
 }

+ 6 - 5
frontend/appflowy_flutter/lib/plugins/database_view/application/row/row_service.dart

@@ -1,7 +1,8 @@
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
+import 'package:fixnum/fixnum.dart';
 
 class RowBackendService {
   final String viewId;
@@ -10,7 +11,7 @@ class RowBackendService {
     required this.viewId,
   });
 
-  Future<Either<RowPB, FlowyError>> createRow(String rowId) {
+  Future<Either<RowPB, FlowyError>> createRow(Int64 rowId) {
     final payload = CreateRowPayloadPB.create()
       ..viewId = viewId
       ..startRowId = rowId;
@@ -18,7 +19,7 @@ class RowBackendService {
     return DatabaseEventCreateRow(payload).send();
   }
 
-  Future<Either<OptionalRowPB, FlowyError>> getRow(String rowId) {
+  Future<Either<OptionalRowPB, FlowyError>> getRow(Int64 rowId) {
     final payload = RowIdPB.create()
       ..viewId = viewId
       ..rowId = rowId;
@@ -26,7 +27,7 @@ class RowBackendService {
     return DatabaseEventGetRow(payload).send();
   }
 
-  Future<Either<Unit, FlowyError>> deleteRow(String rowId) {
+  Future<Either<Unit, FlowyError>> deleteRow(Int64 rowId) {
     final payload = RowIdPB.create()
       ..viewId = viewId
       ..rowId = rowId;
@@ -34,7 +35,7 @@ class RowBackendService {
     return DatabaseEventDeleteRow(payload).send();
   }
 
-  Future<Either<Unit, FlowyError>> duplicateRow(String rowId) {
+  Future<Either<Unit, FlowyError>> duplicateRow(Int64 rowId) {
     final payload = RowIdPB.create()
       ..viewId = viewId
       ..rowId = rowId;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/group_bloc.dart

@@ -1,7 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:appflowy/plugins/database_view/application/setting/setting_service.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_controller.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
 import 'setting_listener.dart';
 import 'setting_service.dart';
 

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_listener.dart

@@ -4,8 +4,8 @@ import 'package:appflowy/core/grid_notification.dart';
 import 'package:dartz/dartz.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
 
 typedef UpdateSettingNotifiedValue = Either<DatabaseViewSettingPB, FlowyError>;
 

+ 4 - 4
frontend/appflowy_flutter/lib/plugins/database_view/application/setting/setting_service.dart

@@ -1,10 +1,10 @@
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/group.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/group.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
 
 class SettingBackendService {
   final String viewId;

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/application/sort/sort_listener.dart

@@ -4,8 +4,8 @@ import 'package:appflowy/core/grid_notification.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:dartz/dartz.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pb.dart';
 
 typedef SortNotifiedValue = Either<SortChangesetNotificationPB, FlowyError>;
 

+ 4 - 4
frontend/appflowy_flutter/lib/plugins/database_view/application/sort/sort_service.dart

@@ -1,11 +1,11 @@
-import 'package:appflowy_backend/protobuf/flowy-database/database_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/database_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pb.dart';
 
 class SortBackendService {
   final String viewId;

+ 2 - 1
frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_cache.dart

@@ -1,6 +1,7 @@
 import 'dart:async';
 import 'dart:collection';
 import 'package:appflowy_backend/log.dart';
+import 'package:fixnum/fixnum.dart';
 import '../defines.dart';
 import '../field/field_controller.dart';
 import '../row/row_cache.dart';
@@ -39,7 +40,7 @@ class DatabaseViewCache {
   UnmodifiableListView<RowInfo> get rowInfos => _rowCache.rowInfos;
   RowCache get rowCache => _rowCache;
 
-  RowInfo? getRow(String rowId) => _rowCache.getRow(rowId);
+  RowInfo? getRow(Int64 rowId) => _rowCache.getRow(rowId);
 
   DatabaseViewCache({
     required this.viewId,

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/application/view/view_listener.dart

@@ -1,12 +1,12 @@
 import 'dart:async';
 import 'dart:typed_data';
 import 'package:appflowy/core/grid_notification.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/notification.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/view_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/notification.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/view_entities.pb.dart';
 
 typedef RowsVisibilityNotifierValue
     = Either<RowsVisibilityChangesetPB, FlowyError>;

+ 7 - 6
frontend/appflowy_flutter/lib/plugins/database_view/board/application/board_bloc.dart

@@ -7,7 +7,8 @@ import 'package:equatable/equatable.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 
@@ -196,7 +197,7 @@ class BoardBloc extends Bloc<BoardEvent, BoardState> {
     }
   }
 
-  RowCache? getRowCache(String blockId) {
+  RowCache? getRowCache() {
     return _databaseController.rowCache;
   }
 
@@ -310,7 +311,7 @@ class BoardEvent with _$BoardEvent {
     GroupPB group,
     RowPB row,
   ) = _StartEditRow;
-  const factory BoardEvent.endEditingRow(String rowId) = _EndEditRow;
+  const factory BoardEvent.endEditingRow(Int64 rowId) = _EndEditRow;
   const factory BoardEvent.didReceiveError(FlowyError error) = _DidReceiveError;
   const factory BoardEvent.didReceiveGridUpdate(
     DatabasePB grid,
@@ -384,7 +385,7 @@ class GroupItem extends AppFlowyGroupItem {
   }
 
   @override
-  String get id => row.id;
+  String get id => row.id.toString();
 }
 
 class GroupControllerDelegateImpl extends GroupControllerDelegate {
@@ -422,8 +423,8 @@ class GroupControllerDelegateImpl extends GroupControllerDelegate {
   }
 
   @override
-  void removeRow(GroupPB group, String rowId) {
-    controller.removeGroupItem(group.groupId, rowId);
+  void removeRow(GroupPB group, Int64 rowId) {
+    controller.removeGroupItem(group.groupId, rowId.toString());
   }
 
   @override

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/board/application/group.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 
 class BoardGroupService {
   final String viewId;

+ 3 - 2
frontend/appflowy_flutter/lib/plugins/database_view/board/application/group_controller.dart

@@ -1,16 +1,17 @@
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'dart:typed_data';
 
 import 'package:appflowy/core/grid_notification.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flowy_infra/notifier.dart';
 import 'package:dartz/dartz.dart';
 
 typedef OnGroupError = void Function(FlowyError);
 
 abstract class GroupControllerDelegate {
-  void removeRow(GroupPB group, String rowId);
+  void removeRow(GroupPB group, Int64 rowId);
   void insertRow(GroupPB group, RowPB row, int? index);
   void updateRow(GroupPB group, RowPB row);
   void addNewRow(GroupPB group, RowPB row, int? index);

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/board/presentation/board_page.dart

@@ -8,8 +8,8 @@ import 'package:appflowy/plugins/database_view/application/row/row_cache.dart';
 import 'package:appflowy/plugins/database_view/application/row/row_data_controller.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/row_detail.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
 import 'package:appflowy_board/appflowy_board.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
@@ -232,7 +232,7 @@ class _BoardContentState extends State<BoardContent> {
     final groupItem = afGroupItem as GroupItem;
     final groupData = afGroupData.customData as GroupData;
     final rowPB = groupItem.row;
-    final rowCache = context.read<BoardBloc>().getRowCache(rowPB.blockId);
+    final rowCache = context.read<BoardBloc>().getRowCache();
 
     /// Return placeholder widget if the rowCache is null.
     if (rowCache == null) return SizedBox(key: ObjectKey(groupItem));

+ 16 - 15
frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_bloc.dart

@@ -4,9 +4,10 @@ import 'package:appflowy_backend/dispatch/dispatch.dart';
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/protobuf.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/protobuf.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:calendar_view/calendar_view.dart';
 import 'package:dartz/dartz.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 
@@ -39,7 +40,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
             await _openDatabase(emit);
             _loadAllEvents();
           },
-          didReceiveCalendarSettings: (CalendarLayoutSettingsPB settings) {
+          didReceiveCalendarSettings: (CalendarLayoutSettingPB settings) {
             emit(state.copyWith(settings: Some(settings)));
           },
           didReceiveDatabaseUpdate: (DatabasePB database) {
@@ -48,7 +49,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
           didLoadAllEvents: (events) {
             emit(state.copyWith(initialEvents: events, allEvents: events));
           },
-          didReceiveNewLayoutField: (CalendarLayoutSettingsPB layoutSettings) {
+          didReceiveNewLayoutField: (CalendarLayoutSettingPB layoutSettings) {
             _loadAllEvents();
             emit(state.copyWith(settings: Some(layoutSettings)));
           },
@@ -56,7 +57,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
             await _createEvent(date, title);
           },
           updateCalendarLayoutSetting:
-              (CalendarLayoutSettingsPB layoutSetting) async {
+              (CalendarLayoutSettingPB layoutSetting) async {
             await _updateCalendarLayoutSetting(layoutSetting);
           },
           didUpdateEvent: (CalendarEventData<CalendarDayEvent> eventData) {
@@ -82,7 +83,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
               ),
             );
           },
-          didDeleteEvents: (List<String> deletedRowIds) {
+          didDeleteEvents: (List<Int64> deletedRowIds) {
             var events = [...state.allEvents];
             events.retainWhere(
               (element) => !deletedRowIds.contains(element.event!.cellId.rowId),
@@ -139,7 +140,7 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
     return state.settings.fold(
       () => null,
       (settings) async {
-        final dateField = _getCalendarFieldInfo(settings.layoutFieldId);
+        final dateField = _getCalendarFieldInfo(settings.fieldId);
         final titleField = _getTitleFieldInfo();
         if (dateField != null && titleField != null) {
           final result = await _databaseController.createRow(
@@ -159,12 +160,12 @@ class CalendarBloc extends Bloc<CalendarEvent, CalendarState> {
   }
 
   Future<void> _updateCalendarLayoutSetting(
-    CalendarLayoutSettingsPB layoutSetting,
+    CalendarLayoutSettingPB layoutSetting,
   ) async {
     return _databaseController.updateCalenderLayoutSetting(layoutSetting);
   }
 
-  Future<CalendarEventData<CalendarDayEvent>?> _loadEvent(String rowId) async {
+  Future<CalendarEventData<CalendarDayEvent>?> _loadEvent(Int64 rowId) async {
     final payload = RowIdPB(viewId: viewId, rowId: rowId);
     return DatabaseEventGetCalendarEvent(payload).send().then((result) {
       return result.fold(
@@ -305,7 +306,7 @@ class CalendarEvent with _$CalendarEvent {
 
   // Called after loading the calendar layout setting from the backend
   const factory CalendarEvent.didReceiveCalendarSettings(
-    CalendarLayoutSettingsPB settings,
+    CalendarLayoutSettingPB settings,
   ) = _ReceiveCalendarSettings;
 
   // Called after loading all the current evnets
@@ -323,7 +324,7 @@ class CalendarEvent with _$CalendarEvent {
   ) = _DidReceiveNewEvent;
 
   // Called when deleting events
-  const factory CalendarEvent.didDeleteEvents(List<String> rowIds) =
+  const factory CalendarEvent.didDeleteEvents(List<Int64> rowIds) =
       _DidDeleteEvents;
 
   // Called when creating a new event
@@ -332,14 +333,14 @@ class CalendarEvent with _$CalendarEvent {
 
   // Called when updating the calendar's layout settings
   const factory CalendarEvent.updateCalendarLayoutSetting(
-    CalendarLayoutSettingsPB layoutSetting,
+    CalendarLayoutSettingPB layoutSetting,
   ) = _UpdateCalendarLayoutSetting;
 
   const factory CalendarEvent.didReceiveDatabaseUpdate(DatabasePB database) =
       _ReceiveDatabaseUpdate;
 
   const factory CalendarEvent.didReceiveNewLayoutField(
-    CalendarLayoutSettingsPB layoutSettings,
+    CalendarLayoutSettingPB layoutSettings,
   ) = _DidReceiveNewLayoutField;
 }
 
@@ -350,9 +351,9 @@ class CalendarState with _$CalendarState {
     required Events allEvents,
     required Events initialEvents,
     CalendarEventData<CalendarDayEvent>? newEvent,
-    required List<String> deleteEventIds,
+    required List<Int64> deleteEventIds,
     CalendarEventData<CalendarDayEvent>? updateEvent,
-    required Option<CalendarLayoutSettingsPB> settings,
+    required Option<CalendarLayoutSettingPB> settings,
     required DatabaseLoadingState loadingState,
     required Option<FlowyError> noneOrError,
   }) = _CalendarState;
@@ -390,6 +391,6 @@ class CalendarDayEvent {
   final CalendarEventPB event;
   final CellIdentifier cellId;
 
-  String get eventId => cellId.rowId;
+  Int64 get eventId => cellId.rowId;
   CalendarDayEvent({required this.cellId, required this.event});
 }

+ 5 - 5
frontend/appflowy_flutter/lib/plugins/database_view/calendar/application/calendar_setting_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:bloc/bloc.dart';
 import 'package:dartz/dartz.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
@@ -9,7 +9,7 @@ typedef DayOfWeek = int;
 
 class CalendarSettingBloc
     extends Bloc<CalendarSettingEvent, CalendarSettingState> {
-  CalendarSettingBloc({required CalendarLayoutSettingsPB? layoutSettings})
+  CalendarSettingBloc({required CalendarLayoutSettingPB? layoutSettings})
       : super(CalendarSettingState.initial(layoutSettings)) {
     on<CalendarSettingEvent>((event, emit) {
       event.when(
@@ -28,11 +28,11 @@ class CalendarSettingBloc
 class CalendarSettingState with _$CalendarSettingState {
   const factory CalendarSettingState({
     required Option<CalendarSettingAction> selectedAction,
-    required Option<CalendarLayoutSettingsPB> layoutSetting,
+    required Option<CalendarLayoutSettingPB> layoutSetting,
   }) = _CalendarSettingState;
 
   factory CalendarSettingState.initial(
-    CalendarLayoutSettingsPB? layoutSettings,
+    CalendarLayoutSettingPB? layoutSettings,
   ) =>
       CalendarSettingState(
         selectedAction: none(),
@@ -46,7 +46,7 @@ class CalendarSettingEvent with _$CalendarSettingEvent {
     CalendarSettingAction action,
   ) = _PerformAction;
   const factory CalendarSettingEvent.updateLayoutSetting(
-    CalendarLayoutSettingsPB setting,
+    CalendarLayoutSettingPB setting,
   ) = _UpdateLayoutSetting;
 }
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/calendar_day.dart

@@ -4,7 +4,7 @@ import 'package:appflowy/plugins/database_view/widgets/card/card_cell_builder.da
 import 'package:appflowy/plugins/database_view/widgets/card/cells/text_card_cell.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cell_builder.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/row_detail.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/size.dart';

+ 8 - 9
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_layout_setting.dart

@@ -6,8 +6,7 @@ import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.da
 import 'package:appflowy/startup/startup.dart';
 import 'package:appflowy/workspace/presentation/widgets/toggle/toggle.dart';
 import 'package:appflowy/workspace/presentation/widgets/toggle/toggle_style.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart'
-    hide DateFormat;
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
@@ -22,7 +21,7 @@ import 'calendar_setting.dart';
 /// calendar
 class CalendarLayoutSetting extends StatefulWidget {
   final CalendarSettingContext settingContext;
-  final Function(CalendarLayoutSettingsPB? layoutSettings) onUpdated;
+  final Function(CalendarLayoutSettingPB? layoutSettings) onUpdated;
 
   const CalendarLayoutSetting({
     required this.onUpdated,
@@ -47,7 +46,7 @@ class _CalendarLayoutSettingState extends State<CalendarLayoutSetting> {
   Widget build(BuildContext context) {
     return BlocBuilder<CalendarSettingBloc, CalendarSettingState>(
       builder: (context, state) {
-        final CalendarLayoutSettingsPB? settings = state.layoutSetting
+        final CalendarLayoutSettingPB? settings = state.layoutSetting
             .foldLeft(null, (previous, settings) => settings);
 
         if (settings == null) {
@@ -95,7 +94,7 @@ class _CalendarLayoutSettingState extends State<CalendarLayoutSetting> {
               return LayoutDateField(
                 fieldController: widget.settingContext.fieldController,
                 viewId: widget.settingContext.viewId,
-                fieldId: settings.layoutFieldId,
+                fieldId: settings.fieldId,
                 popoverMutex: popoverMutex,
                 onUpdated: (fieldId) {
                   _updateLayoutSettings(
@@ -128,7 +127,7 @@ class _CalendarLayoutSettingState extends State<CalendarLayoutSetting> {
   }
 
   List<CalendarLayoutSettingAction> _availableCalendarSettings(
-    CalendarLayoutSettingsPB layoutSettings,
+    CalendarLayoutSettingPB layoutSettings,
   ) {
     List<CalendarLayoutSettingAction> settings = [
       CalendarLayoutSettingAction.layoutField,
@@ -162,13 +161,13 @@ class _CalendarLayoutSettingState extends State<CalendarLayoutSetting> {
 
   void _updateLayoutSettings(
     BuildContext context, {
-    required Function(CalendarLayoutSettingsPB? layoutSettings) onUpdated,
+    required Function(CalendarLayoutSettingPB? layoutSettings) onUpdated,
     bool? showWeekends,
     bool? showWeekNumbers,
     int? firstDayOfWeek,
     String? layoutFieldId,
   }) {
-    CalendarLayoutSettingsPB setting = context
+    CalendarLayoutSettingPB setting = context
         .read<CalendarSettingBloc>()
         .state
         .layoutSetting
@@ -185,7 +184,7 @@ class _CalendarLayoutSettingState extends State<CalendarLayoutSetting> {
         setting.firstDayOfWeek = firstDayOfWeek;
       }
       if (layoutFieldId != null) {
-        setting.layoutFieldId = layoutFieldId;
+        setting.fieldId = layoutFieldId;
       }
     });
     context

+ 3 - 3
frontend/appflowy_flutter/lib/plugins/database_view/calendar/presentation/toolbar/calendar_setting.dart

@@ -2,7 +2,7 @@ import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:appflowy/plugins/database_view/calendar/application/calendar_setting_bloc.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra_ui/style_widget/button.dart';
 import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
@@ -19,8 +19,8 @@ import 'calendar_layout_setting.dart';
 /// contents with the submenu when a category is selected.
 class CalendarSetting extends StatelessWidget {
   final CalendarSettingContext settingContext;
-  final CalendarLayoutSettingsPB? layoutSettings;
-  final Function(CalendarLayoutSettingsPB? layoutSettings) onUpdated;
+  final CalendarLayoutSettingPB? layoutSettings;
+  final Function(CalendarLayoutSettingPB? layoutSettings) onUpdated;
 
   const CalendarSetting({
     required this.onUpdated,

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/checkbox_filter_editor_bloc.dart

@@ -1,8 +1,8 @@
 import 'package:appflowy/plugins/database_view/application/filter/filter_listener.dart';
 import 'package:appflowy/plugins/database_view/application/filter/filter_service.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/checklist_filter_bloc.dart

@@ -1,8 +1,8 @@
 import 'package:appflowy/plugins/database_view/application/filter/filter_listener.dart';
 import 'package:appflowy/plugins/database_view/application/filter/filter_service.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checklist_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 7 - 7
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/filter_create_bloc.dart

@@ -2,13 +2,13 @@ import 'package:appflowy/plugins/database_view/application/field/field_controlle
 import 'package:appflowy/plugins/database_view/application/filter/filter_service.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_filter.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/number_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_filter.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checklist_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_filter.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_filter.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_bloc.dart

@@ -2,8 +2,8 @@ import 'package:appflowy/plugins/database_view/application/filter/filter_listene
 import 'package:appflowy/plugins/database_view/application/filter/filter_service.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/select_option_filter_list_bloc.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/filter/text_filter_editor_bloc.dart

@@ -1,8 +1,8 @@
 import 'package:appflowy/plugins/database_view/application/filter/filter_listener.dart';
 import 'package:appflowy/plugins/database_view/application/filter/filter_service.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 3 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_bloc.dart

@@ -5,7 +5,8 @@ import 'package:dartz/dartz.dart';
 import 'package:equatable/equatable.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/protobuf.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/protobuf.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import '../../application/field/field_controller.dart';
@@ -65,7 +66,7 @@ class GridBloc extends Bloc<GridEvent, GridState> {
     return super.close();
   }
 
-  RowCache? getRowCache(String blockId, String rowId) {
+  RowCache? getRowCache(Int64 rowId) {
     return databaseController.rowCache;
   }
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/grid_header_bloc.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/sort/sort_create_bloc.dart

@@ -1,7 +1,7 @@
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbserver.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/application/sort/sort_editor_bloc.dart

@@ -1,9 +1,9 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:appflowy/plugins/database_view/application/sort/sort_service.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/sort/sort_info.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbenum.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbserver.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/grid_page.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cell_builder.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/setting_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/setting_entities.pbenum.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui_web.dart';
 import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
@@ -271,7 +271,6 @@ class _GridRowsState extends State<_GridRows> {
     Animation<double> animation,
   ) {
     final rowCache = context.read<GridBloc>().getRowCache(
-          rowInfo.rowPB.blockId,
           rowInfo.rowPB.id,
         );
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checkbox.dart

@@ -5,7 +5,7 @@ import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_filter.pbenum.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/checklist/checklist.dart

@@ -4,7 +4,7 @@ import 'package:appflowy/workspace/presentation/widgets/pop_up_action.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checklist_filter.pbenum.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import '../../condition_button.dart';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/condition_list.dart

@@ -3,8 +3,8 @@ import 'package:appflowy/workspace/presentation/widgets/pop_up_action.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pb.dart';
 import 'package:flutter/material.dart';
 
 import '../../condition_button.dart';

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/option_list.dart

@@ -1,10 +1,10 @@
 import 'package:appflowy/plugins/database_view/grid/application/filter/select_option_filter_list_bloc.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
 import 'package:flowy_infra_ui/widget/spacing.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 

+ 2 - 2
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option.dart

@@ -1,8 +1,8 @@
 import 'package:appflowy/plugins/database_view/grid/application/filter/select_option_filter_bloc.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/select_option/select_option_loader.dart

@@ -1,7 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_context.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/header/type_option/builder.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 
 import '../../filter_info.dart';
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/choicechip/text.dart

@@ -4,7 +4,7 @@ import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_filter.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import '../../../../application/filter/text_filter_editor_bloc.dart';

+ 7 - 7
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_info.dart

@@ -1,11 +1,11 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_option_filter.pbserver.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_filter.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/util.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checklist_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option_filter.pbserver.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_filter.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/util.pb.dart';
 
 class FilterInfo {
   final String viewId;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/filter/filter_menu_item.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
 import 'package:flutter/material.dart';
 
 import 'choicechip/checkbox.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_cell.dart

@@ -5,7 +5,7 @@ import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
 import 'package:flowy_infra_ui/style_widget/hover.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_extension.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:easy_localization/easy_localization.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 
 extension FieldTypeListExtension on FieldType {
   String iconName() {

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_list.dart

@@ -2,7 +2,7 @@ import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 import '../../layout/sizes.dart';
 import 'field_type_extension.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/field_type_option_editor.dart

@@ -7,7 +7,7 @@ import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import '../../layout/sizes.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/grid_header.dart

@@ -9,7 +9,7 @@ import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:reorderables/reorderables.dart';

+ 7 - 9
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/builder.dart

@@ -3,17 +3,15 @@ import 'dart:typed_data';
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
 import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_context.dart';
 import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_data_controller.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/checkbox_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/text_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/url_entities.pb.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checkbox_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/checklist_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/multi_select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/number_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/single_select_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/text_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/url_type_option.pb.dart';
 import 'package:protobuf/protobuf.dart' hide FieldInfo;
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 import 'checkbox.dart';
 import 'checklist.dart';

+ 29 - 23
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/date.dart

@@ -2,11 +2,11 @@ import 'package:appflowy/plugins/database_view/application/field/type_option/dat
 import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_context.dart';
 import 'package:appflowy/workspace/presentation/widgets/toggle/toggle.dart';
 import 'package:appflowy/workspace/presentation/widgets/toggle/toggle_style.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pbenum.dart';
 import 'package:easy_localization/easy_localization.dart' hide DateFormat;
 import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
@@ -75,7 +75,10 @@ class DateTypeOptionWidget extends TypeOptionWidget {
     );
   }
 
-  Widget _renderDateFormatButton(BuildContext context, DateFormat dataFormat) {
+  Widget _renderDateFormatButton(
+    BuildContext context,
+    DateFormatPB dataFormat,
+  ) {
     return AppFlowyPopover(
       mutex: popoverMutex,
       asBarrier: true,
@@ -102,7 +105,10 @@ class DateTypeOptionWidget extends TypeOptionWidget {
     );
   }
 
-  Widget _renderTimeFormatButton(BuildContext context, TimeFormat timeFormat) {
+  Widget _renderTimeFormatButton(
+    BuildContext context,
+    TimeFormatPB timeFormat,
+  ) {
     return AppFlowyPopover(
       mutex: popoverMutex,
       asBarrier: true,
@@ -158,7 +164,7 @@ class DateFormatButton extends StatelessWidget {
 }
 
 class TimeFormatButton extends StatelessWidget {
-  final TimeFormat timeFormat;
+  final TimeFormatPB timeFormat;
   final VoidCallback? onTap;
   final void Function(bool)? onHover;
   final EdgeInsets? buttonMargins;
@@ -224,8 +230,8 @@ class _IncludeTimeButton extends StatelessWidget {
 }
 
 class DateFormatList extends StatelessWidget {
-  final DateFormat selectedFormat;
-  final Function(DateFormat format) onSelected;
+  final DateFormatPB selectedFormat;
+  final Function(DateFormatPB format) onSelected;
   const DateFormatList({
     required this.selectedFormat,
     required this.onSelected,
@@ -234,7 +240,7 @@ class DateFormatList extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    final cells = DateFormat.values.map((format) {
+    final cells = DateFormatPB.values.map((format) {
       return DateFormatCell(
         dateFormat: format,
         onSelected: onSelected,
@@ -261,8 +267,8 @@ class DateFormatList extends StatelessWidget {
 
 class DateFormatCell extends StatelessWidget {
   final bool isSelected;
-  final DateFormat dateFormat;
-  final Function(DateFormat format) onSelected;
+  final DateFormatPB dateFormat;
+  final Function(DateFormatPB format) onSelected;
   const DateFormatCell({
     required this.dateFormat,
     required this.onSelected,
@@ -288,18 +294,18 @@ class DateFormatCell extends StatelessWidget {
   }
 }
 
-extension DateFormatExtension on DateFormat {
+extension DateFormatExtension on DateFormatPB {
   String title() {
     switch (this) {
-      case DateFormat.Friendly:
+      case DateFormatPB.Friendly:
         return LocaleKeys.grid_field_dateFormatFriendly.tr();
-      case DateFormat.ISO:
+      case DateFormatPB.ISO:
         return LocaleKeys.grid_field_dateFormatISO.tr();
-      case DateFormat.Local:
+      case DateFormatPB.Local:
         return LocaleKeys.grid_field_dateFormatLocal.tr();
-      case DateFormat.US:
+      case DateFormatPB.US:
         return LocaleKeys.grid_field_dateFormatUS.tr();
-      case DateFormat.DayMonthYear:
+      case DateFormatPB.DayMonthYear:
         return LocaleKeys.grid_field_dateFormatDayMonthYear.tr();
       default:
         throw UnimplementedError;
@@ -308,8 +314,8 @@ extension DateFormatExtension on DateFormat {
 }
 
 class TimeFormatList extends StatelessWidget {
-  final TimeFormat selectedFormat;
-  final Function(TimeFormat format) onSelected;
+  final TimeFormatPB selectedFormat;
+  final Function(TimeFormatPB format) onSelected;
   const TimeFormatList({
     required this.selectedFormat,
     required this.onSelected,
@@ -318,7 +324,7 @@ class TimeFormatList extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
-    final cells = TimeFormat.values.map((format) {
+    final cells = TimeFormatPB.values.map((format) {
       return TimeFormatCell(
         isSelected: format == selectedFormat,
         timeFormat: format,
@@ -344,9 +350,9 @@ class TimeFormatList extends StatelessWidget {
 }
 
 class TimeFormatCell extends StatelessWidget {
-  final TimeFormat timeFormat;
+  final TimeFormatPB timeFormat;
   final bool isSelected;
-  final Function(TimeFormat format) onSelected;
+  final Function(TimeFormatPB format) onSelected;
   const TimeFormatCell({
     required this.timeFormat,
     required this.onSelected,
@@ -372,12 +378,12 @@ class TimeFormatCell extends StatelessWidget {
   }
 }
 
-extension TimeFormatExtension on TimeFormat {
+extension TimeFormatExtension on TimeFormatPB {
   String title() {
     switch (this) {
-      case TimeFormat.TwelveHour:
+      case TimeFormatPB.TwelveHour:
         return LocaleKeys.grid_field_timeFormatTwelveHour.tr();
-      case TimeFormat.TwentyFourHour:
+      case TimeFormatPB.TwentyFourHour:
         return LocaleKeys.grid_field_timeFormatTwentyFourHour.tr();
       default:
         throw UnimplementedError;

+ 6 - 6
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/number.dart

@@ -1,14 +1,14 @@
 import 'package:appflowy/plugins/database_view/application/field/type_option/number_bloc.dart';
 import 'package:appflowy/plugins/database_view/application/field/type_option/number_format_bloc.dart';
 import 'package:appflowy/plugins/database_view/application/field/type_option/type_option_context.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/number_entities.pbenum.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/format.pbenum.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
-import 'package:easy_localization/easy_localization.dart' hide NumberFormat;
+import 'package:easy_localization/easy_localization.dart';
 import 'package:appflowy/generated/locale_keys.g.dart';
 
 import '../../../layout/sizes.dart';
@@ -117,11 +117,11 @@ class NumberTypeOptionWidget extends TypeOptionWidget {
   }
 }
 
-typedef SelectNumberFormatCallback = Function(NumberFormat format);
+typedef SelectNumberFormatCallback = Function(NumberFormatPB format);
 
 class NumberFormatList extends StatelessWidget {
   final SelectNumberFormatCallback onSelected;
-  final NumberFormat selectedFormat;
+  final NumberFormatPB selectedFormat;
   const NumberFormatList({
     required this.selectedFormat,
     required this.onSelected,
@@ -174,9 +174,9 @@ class NumberFormatList extends StatelessWidget {
 }
 
 class NumberFormatCell extends StatelessWidget {
-  final NumberFormat format;
+  final NumberFormatPB format;
   final bool isSelected;
-  final Function(NumberFormat format) onSelected;
+  final Function(NumberFormatPB format) onSelected;
   const NumberFormatCell({
     required this.isSelected,
     required this.format,

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option.dart

@@ -1,9 +1,9 @@
 import 'package:appflowy/plugins/database_view/application/field/type_option/select_option_type_option_bloc.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:easy_localization/easy_localization.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/header/type_option/select_option_editor.dart

@@ -1,5 +1,6 @@
 import 'package:appflowy/plugins/database_view/application/field/type_option/edit_select_option_bloc.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra/theme_extension.dart';
 import 'package:flowy_infra_ui/style_widget/button.dart';
@@ -7,7 +8,6 @@ import 'package:flowy_infra_ui/style_widget/scrolling/styled_list.dart';
 import 'package:flowy_infra_ui/style_widget/text.dart';
 import 'package:flowy_infra_ui/style_widget/text_field.dart';
 import 'package:flowy_infra_ui/widget/spacing.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:easy_localization/easy_localization.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/order_panel.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbenum.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra_ui/style_widget/button.dart';
 import 'package:flowy_infra_ui/style_widget/text.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_editor.dart

@@ -3,7 +3,7 @@ import 'package:appflowy/plugins/database_view/application/field/field_controlle
 import 'package:appflowy/plugins/database_view/grid/application/sort/sort_editor_bloc.dart';
 import 'package:appflowy/plugins/database_view/grid/application/sort/util.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/layout/sizes.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pbenum.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flowy_infra/image.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/grid/presentation/widgets/sort/sort_info.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy/plugins/database_view/application/field/field_controller.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/sort_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/sort_entities.pb.dart';
 
 class SortInfo {
   final SortPB sortPB;

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/date_card_cell_bloc.dart

@@ -1,4 +1,4 @@
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/select_option_card_cell_bloc.dart

@@ -1,6 +1,6 @@
 import 'dart:async';
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/bloc/url_card_cell_bloc.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/url_type_option_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/url_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card.dart

@@ -1,6 +1,6 @@
 import 'package:appflowy/plugins/database_view/application/row/row_cache.dart';
 import 'package:appflowy/plugins/database_view/grid/presentation/widgets/row/action.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra/image.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_bloc.dart

@@ -1,6 +1,6 @@
 import 'dart:collection';
 import 'package:equatable/equatable.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/row_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/row_entities.pb.dart';
 import 'package:flutter/foundation.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/card_cell_builder.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/material.dart';
 
 import '../../application/cell/cell_service.dart';

+ 4 - 3
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/card_cell.dart

@@ -1,6 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_service.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pbenum.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pbenum.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
+import 'package:fixnum/fixnum.dart';
 import 'package:flutter/material.dart';
 
 typedef CellRenderHook<C, T> = Widget? Function(C cellData, T cardData);
@@ -121,7 +122,7 @@ abstract class EditableCell {
 
 class EditableCellId {
   String fieldId;
-  String rowId;
+  Int64 rowId;
 
   EditableCellId(this.rowId, this.fieldId);
 

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/card/cells/select_option_card_cell.dart

@@ -1,7 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/extension.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_editor.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:appflowy_popover/appflowy_popover.dart';
 import 'package:flowy_infra_ui/flowy_infra_ui.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cell_builder.dart

@@ -1,5 +1,5 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/field_entities.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/field_entities.pb.dart';
 import 'package:flutter/services.dart';
 import 'package:flutter/widgets.dart';
 import 'package:flutter/material.dart';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_bloc.dart

@@ -1,7 +1,7 @@
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'dart:async';

+ 1 - 1
frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/checklist_cell/checklist_cell_editor_bloc.dart

@@ -2,9 +2,9 @@ import 'dart:async';
 
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
 import 'package:appflowy/plugins/database_view/widgets/row/cells/select_option_cell/select_option_service.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/select_option.pb.dart';
 import 'package:dartz/dartz.dart';
 import 'package:appflowy_backend/log.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/select_type_option.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 

+ 9 - 10
frontend/appflowy_flutter/lib/plugins/database_view/widgets/row/cells/date_cell/date_cal_bloc.dart

@@ -2,13 +2,12 @@ import 'package:appflowy/generated/locale_keys.g.dart';
 import 'package:appflowy/plugins/database_view/application/cell/cell_controller_builder.dart';
 import 'package:appflowy/plugins/database_view/application/cell/cell_service.dart';
 import 'package:appflowy/plugins/database_view/application/field/field_service.dart';
+import 'package:appflowy_backend/protobuf/flowy-database2/date_entities.pb.dart';
 import 'package:easy_localization/easy_localization.dart'
     show StringTranslateExtension;
 import 'package:appflowy_backend/log.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/code.pb.dart';
 import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option.pb.dart';
-import 'package:appflowy_backend/protobuf/flowy-database/date_type_option_entities.pb.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:freezed_annotation/freezed_annotation.dart';
 import 'package:table_calendar/table_calendar.dart';
@@ -154,10 +153,10 @@ class DateCellCalendarBloc
   String timeFormatPrompt(FlowyError error) {
     String msg = "${LocaleKeys.grid_field_invalidTimeFormat.tr()}.";
     switch (state.dateTypeOptionPB.timeFormat) {
-      case TimeFormat.TwelveHour:
+      case TimeFormatPB.TwelveHour:
         msg = "$msg e.g. 01:00 PM";
         break;
-      case TimeFormat.TwentyFourHour:
+      case TimeFormatPB.TwentyFourHour:
         msg = "$msg e.g. 13:00";
         break;
       default:
@@ -188,8 +187,8 @@ class DateCellCalendarBloc
 
   Future<void>? _updateTypeOption(
     Emitter<DateCellCalendarState> emit, {
-    DateFormat? dateFormat,
-    TimeFormat? timeFormat,
+    DateFormatPB? dateFormat,
+    TimeFormatPB? timeFormat,
   }) async {
     state.dateTypeOptionPB.freeze();
     final newDateTypeOption = state.dateTypeOptionPB.rebuild((typeOption) {
@@ -227,9 +226,9 @@ class DateCellCalendarEvent with _$DateCellCalendarEvent {
   const factory DateCellCalendarEvent.setCalFormat(CalendarFormat format) =
       _CalendarFormat;
   const factory DateCellCalendarEvent.setFocusedDay(DateTime day) = _FocusedDay;
-  const factory DateCellCalendarEvent.setTimeFormat(TimeFormat timeFormat) =
+  const factory DateCellCalendarEvent.setTimeFormat(TimeFormatPB timeFormat) =
       _TimeFormat;
-  const factory DateCellCalendarEvent.setDateFormat(DateFormat dateFormat) =
+  const factory DateCellCalendarEvent.setDateFormat(DateFormatPB dateFormat) =
       _DateFormat;
   const factory DateCellCalendarEvent.setIncludeTime(bool includeTime) =
       _IncludeTime;
@@ -276,9 +275,9 @@ class DateCellCalendarState with _$DateCellCalendarState {
 
 String _timeHintText(DateTypeOptionPB typeOption) {
   switch (typeOption.timeFormat) {
-    case TimeFormat.TwelveHour:
+    case TimeFormatPB.TwelveHour:
       return LocaleKeys.document_date_timeHintTextInTwelveHour.tr();
-    case TimeFormat.TwentyFourHour:
+    case TimeFormatPB.TwentyFourHour:
       return LocaleKeys.document_date_timeHintTextInTwentyFourHour.tr();
     default:
       return "";

Some files were not shown because too many files changed in this diff