user_default.rs 1.6 KB

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