user_default.rs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. use crate::entities::app::gen_app_id;
  2. use crate::entities::view::gen_view_id;
  3. use crate::entities::view::ViewDataType;
  4. use crate::entities::workspace::gen_workspace_id;
  5. use crate::revision::{AppRevision, ViewRevision, WorkspaceRevision};
  6. use chrono::Utc;
  7. pub fn create_default_workspace() -> WorkspaceRevision {
  8. let time = Utc::now();
  9. let workspace_id = gen_workspace_id();
  10. let name = "Workspace".to_string();
  11. let desc = "".to_string();
  12. let apps = vec![create_default_app(workspace_id.to_string(), time)];
  13. WorkspaceRevision {
  14. id: workspace_id,
  15. name,
  16. desc,
  17. apps,
  18. modified_time: time.timestamp(),
  19. create_time: time.timestamp(),
  20. }
  21. }
  22. fn create_default_app(workspace_id: String, time: chrono::DateTime<Utc>) -> AppRevision {
  23. let app_id = gen_app_id();
  24. let name = "⭐️ Getting started".to_string();
  25. let desc = "".to_string();
  26. let views = vec![create_default_view(app_id.to_string(), time)];
  27. AppRevision {
  28. id: app_id,
  29. workspace_id,
  30. name,
  31. desc,
  32. belongings: views,
  33. version: 0,
  34. modified_time: time.timestamp(),
  35. create_time: time.timestamp(),
  36. }
  37. }
  38. fn create_default_view(app_id: String, time: chrono::DateTime<Utc>) -> ViewRevision {
  39. let view_id = gen_view_id();
  40. let name = "Read me".to_string();
  41. let data_type = ViewDataType::TextBlock;
  42. ViewRevision {
  43. id: view_id,
  44. belong_to_id: app_id,
  45. name,
  46. desc: "".to_string(),
  47. data_type,
  48. version: 0,
  49. belongings: vec![],
  50. modified_time: time.timestamp(),
  51. create_time: time.timestamp(),
  52. ext_data: "".to_string(),
  53. thumbnail: "".to_string(),
  54. plugin_type: 0,
  55. }
  56. }