doc_table.rs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. use crate::entities::doc::Doc;
  2. use flowy_database::schema::doc_table;
  3. #[derive(PartialEq, Clone, Debug, Queryable, Identifiable, Insertable, Associations)]
  4. #[table_name = "doc_table"]
  5. pub(crate) struct DocTable {
  6. pub(crate) id: String,
  7. pub(crate) data: String,
  8. pub(crate) rev_id: i64,
  9. }
  10. impl DocTable {
  11. pub fn new(doc: Doc) -> Self {
  12. Self {
  13. id: doc.id,
  14. data: doc.data,
  15. rev_id: doc.rev_id.into(),
  16. }
  17. }
  18. }
  19. #[derive(AsChangeset, Identifiable, Default, Debug)]
  20. #[table_name = "doc_table"]
  21. pub(crate) struct DocTableChangeset {
  22. pub id: String,
  23. pub data: String,
  24. pub rev_id: i64,
  25. }
  26. impl std::convert::Into<Doc> for DocTable {
  27. fn into(self) -> Doc {
  28. Doc {
  29. id: self.id,
  30. data: self.data,
  31. rev_id: self.rev_id.into(),
  32. }
  33. }
  34. }
  35. impl std::convert::From<Doc> for DocTable {
  36. fn from(doc: Doc) -> Self {
  37. Self {
  38. id: doc.id,
  39. data: doc.data,
  40. rev_id: doc.rev_id.into(),
  41. }
  42. }
  43. }