view_entities.rs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. use crate::entities::{InsertedRowPB, UpdatedRowPB};
  2. use flowy_derive::ProtoBuf;
  3. #[derive(Debug, Default, Clone, ProtoBuf)]
  4. pub struct ViewRowsVisibilityChangesetPB {
  5. #[pb(index = 1)]
  6. pub view_id: String,
  7. #[pb(index = 5)]
  8. pub visible_rows: Vec<InsertedRowPB>,
  9. #[pb(index = 6)]
  10. pub invisible_rows: Vec<String>,
  11. }
  12. #[derive(Debug, Default, Clone, ProtoBuf)]
  13. pub struct ViewRowsChangesetPB {
  14. #[pb(index = 1)]
  15. pub view_id: String,
  16. #[pb(index = 2)]
  17. pub inserted_rows: Vec<InsertedRowPB>,
  18. #[pb(index = 3)]
  19. pub deleted_rows: Vec<String>,
  20. #[pb(index = 4)]
  21. pub updated_rows: Vec<UpdatedRowPB>,
  22. }
  23. impl ViewRowsChangesetPB {
  24. pub fn from_insert(view_id: String, inserted_rows: Vec<InsertedRowPB>) -> Self {
  25. Self {
  26. view_id,
  27. inserted_rows,
  28. ..Default::default()
  29. }
  30. }
  31. pub fn from_delete(view_id: String, deleted_rows: Vec<String>) -> Self {
  32. Self {
  33. view_id,
  34. deleted_rows,
  35. ..Default::default()
  36. }
  37. }
  38. pub fn from_update(view_id: String, updated_rows: Vec<UpdatedRowPB>) -> Self {
  39. Self {
  40. view_id,
  41. updated_rows,
  42. ..Default::default()
  43. }
  44. }
  45. pub fn from_move(
  46. view_id: String,
  47. deleted_rows: Vec<String>,
  48. inserted_rows: Vec<InsertedRowPB>,
  49. ) -> Self {
  50. Self {
  51. view_id,
  52. inserted_rows,
  53. deleted_rows,
  54. ..Default::default()
  55. }
  56. }
  57. }