fmt

c5d0c05 · gmorell · 2025-01-01 02:03

6 files +81 -99

Files changed

modified src/db.rs
+3 −4
@@ -1,13 +1,12 @@
1 −use sea_orm::DatabaseConnection;
2 −use sea_orm_migration::MigratorTrait;
3 1 use crate::migrator::Migrator;
4 2 use crate::PplError;
3 +use sea_orm::DatabaseConnection;
4 +use sea_orm_migration::MigratorTrait;
5 5
6 6 pub async fn check_migrations(db: &DatabaseConnection) -> Result<(), PplError> {
7 −
8 7 // let be = db.get_database_backend();
9 8 // let schema_manager = SchemaManager::new(db);
10 9 // Migrator::refresh(db).await?;
11 10 Migrator::up(db, None).await?;
12 11 Ok(())
13 −}
12 +}
modified src/do_init.rs
+23 −18
@@ -1,8 +1,6 @@
1 1 use crate::entities::prelude::Traits;
2 2 use crate::entities::prelude::{TierDefaults, TraitDefaults};
3 −use crate::entities::{
4 − contact, ppl, relation, sig_date, tier_defaults, trait_defaults, traits,
5 −};
3 +use crate::entities::{contact, ppl, relation, sig_date, tier_defaults, trait_defaults, traits};
6 4 use crate::PplError;
7 5 use chrono::NaiveDate;
8 6 use crossterm::event;
@@ -15,8 +13,8 @@ use ratatui::{
15 13 widgets::*,
16 14 DefaultTerminal,
17 15 };
18 −use sea_orm::sqlx::types::chrono::Local;
19 16 use sea_orm::sqlx::types::chrono;
17 +use sea_orm::sqlx::types::chrono::Local;
20 18 use sea_orm::ActiveValue::Set;
21 19 use sea_orm::{ActiveModelTrait, DatabaseConnection, EntityTrait};
22 20 use std::fmt;
@@ -578,19 +576,22 @@ pub async fn run_init(
578 576 }
579 577
580 578 if !app.trait_list.is_empty() {
581 − let trait_am = app.trait_list.iter().map(|dtrait|
582 − trait_defaults::ActiveModel {
583 − id: Default::default(),
584 − key: Set(dtrait.name.clone()),
585 − default: Set(true),
586 − enabled: Set(true),
587 − is_date: Set(dtrait.is_date),
588 − is_contact: Set(dtrait.is_contact),
589 − color: Set(dtrait.color.clone()),
590 − symbol: Set(dtrait.symbol.clone()),
591 − date_ins: Set(Local::today().naive_local()),
592 − date_up: Set(Local::today().naive_local()),
593 − }).collect::<Vec<trait_defaults::ActiveModel>>();
579 + let trait_am = app
580 + .trait_list
581 + .iter()
582 + .map(|dtrait| trait_defaults::ActiveModel {
583 + id: Default::default(),
584 + key: Set(dtrait.name.clone()),
585 + default: Set(true),
586 + enabled: Set(true),
587 + is_date: Set(dtrait.is_date),
588 + is_contact: Set(dtrait.is_contact),
589 + color: Set(dtrait.color.clone()),
590 + symbol: Set(dtrait.symbol.clone()),
591 + date_ins: Set(Local::today().naive_local()),
592 + date_up: Set(Local::today().naive_local()),
593 + })
594 + .collect::<Vec<trait_defaults::ActiveModel>>();
594 595
595 596 let trtr = TraitDefaults::insert_many(trait_am).exec(&db).await;
596 597 match trtr {
@@ -687,7 +688,11 @@ pub async fn run_init(
687 688 app.input.handle_event(&Event::Key(key_event));
688 689 }
689 690 },
690 − KeyCode::Tab => if app.step == Steps::Tiers { app.toggle_tier_editing() },
691 + KeyCode::Tab => {
692 + if app.step == Steps::Tiers {
693 + app.toggle_tier_editing()
694 + }
695 + }
691 696 // app.input.handle_event(&Event::Key(key));
692 697 // KeyCode::Left => self.decrement_counter(),
693 698 // KeyCode::Right => self.increment_counter(),
modified src/main.rs
+56 −77
@@ -1,24 +1,23 @@
1 1 use clap::{Parser, Subcommand};
2 −use crossterm::event::{Event};
2 +use color_eyre::eyre::ErrReport;
3 +use crossterm::event::Event;
3 4 use log::info;
4 5 use sea_orm::*;
5 6 use std::io::{self};
6 −use color_eyre::eyre::ErrReport;
7 7
8 −mod entities;
9 −mod migrator;
10 8 mod db;
11 9 mod do_init;
10 +mod entities;
11 +mod migrator;
12 12
13 −use entities::prelude::*;
14 13 use crate::entities::ppl::Column::Me;
14 +use entities::prelude::*;
15 15
16 16 #[derive(Debug)]
17 17 enum PplError {
18 18 DbError(DbErr),
19 19 EyreError(ErrReport),
20 20 Std(io::Error),
21 −
22 21 }
23 22
24 23 impl From<io::Error> for PplError {
@@ -70,7 +69,6 @@ enum Commands {
70 69 Stats,
71 70 }
72 71
73 −
74 72 const DATABASE_URL: &str = "sqlite://database.sqlite?mode=rwc";
75 73 #[tokio::main]
76 74 async fn main() -> Result<(), PplError> {
@@ -81,17 +79,9 @@ async fn main() -> Result<(), PplError> {
81 79
82 80 let cli = Cli::parse();
83 81
84 − let is_init = match Ppl::find()
85 − .filter(Me.eq(true))
86 − .one(&db)
87 − .await?
88 − {
89 − None => {
90 − false
91 − }
92 − Some(_) => {
93 − true
94 − }
82 + let is_init = match Ppl::find().filter(Me.eq(true)).one(&db).await? {
83 + None => false,
84 + Some(_) => true,
95 85 };
96 86
97 87 match &cli.command {
@@ -103,76 +93,65 @@ async fn main() -> Result<(), PplError> {
103 93 // show().expect("failed2draw")
104 94 }
105 95 Some(Commands::MOTD { .. }) => {}
106 − Some(Commands::Init { .. }) => {
107 − match is_init
108 − {
109 − false => {
110 − info!("Uninitialized");
111 − color_eyre::install()?;
112 − let terminal = ratatui::init();
113 − let result = do_init::run_init(terminal, db).await;
114 − ratatui::restore();
115 − drop(result);
116 − info!("Init complete");
117 − }
118 − true => {
119 − info!("ppl has been initialized already");
120 − }
96 + Some(Commands::Init { .. }) => match is_init {
97 + false => {
98 + info!("Uninitialized");
99 + color_eyre::install()?;
100 + let terminal = ratatui::init();
101 + let result = do_init::run_init(terminal, db).await;
102 + ratatui::restore();
103 + drop(result);
104 + info!("Init complete");
121 105 }
122 − }
106 + true => {
107 + info!("ppl has been initialized already");
108 + }
109 + },
123 110 Some(Commands::Add { .. }) => {}
124 111 Some(Commands::Tui) => {}
125 112 Some(Commands::Calendar) => {}
126 − Some(Commands::Show {}) => {
127 − match is_init {
128 − true => {
129 − let ppl = Ppl::find().all(&db).await?;
130 − for p in ppl {
131 − println!("{:?}", p)
132 − }
133 − }
134 − false => {
135 − info!("pls run init");
113 + Some(Commands::Show {}) => match is_init {
114 + true => {
115 + let ppl = Ppl::find().all(&db).await?;
116 + for p in ppl {
117 + println!("{:?}", p)
136 118 }
137 119 }
138 − }
139 − Some(Commands::Tiers) => {
140 − match is_init {
141 − true => {
142 − let tiers = TierDefaults::find().all(&db).await?;
143 − for t in tiers {
144 − println!("{:?}", t)
145 − }
146 − }
147 − false => {
148 − info!("pls run init");
149 − }
120 + false => {
121 + info!("pls run init");
150 122 }
151 − }
152 − Some(Commands::Traits) => {
153 − match is_init {
154 − true => {
155 − let traits = TraitDefaults::find().all(&db).await?;
156 − for t in traits {
157 − println!("{:?}", t)
158 − }
159 − }
160 − false => {
161 − info!("pls run init");
123 + },
124 + Some(Commands::Tiers) => match is_init {
125 + true => {
126 + let tiers = TierDefaults::find().all(&db).await?;
127 + for t in tiers {
128 + println!("{:?}", t)
162 129 }
163 130 }
164 − }
165 − Some(Commands::Stats) => {
166 − match is_init {
167 − true => {
168 − let cnt = Ppl::find().all(&db).await?.len();
169 − println!("{:?} ppl", cnt)
170 − }
171 − false => {
172 − info!("pls run init");
131 + false => {
132 + info!("pls run init");
133 + }
134 + },
135 + Some(Commands::Traits) => match is_init {
136 + true => {
137 + let traits = TraitDefaults::find().all(&db).await?;
138 + for t in traits {
139 + println!("{:?}", t)
173 140 }
174 141 }
175 − }
142 + false => {
143 + info!("pls run init");
144 + }
145 + },
146 + Some(Commands::Stats) => match is_init {
147 + true => {
148 + let cnt = Ppl::find().all(&db).await?.len();
149 + println!("{:?} ppl", cnt)
150 + }
151 + false => {
152 + info!("pls run init");
153 + }
154 + },
176 155 }
177 156 Ok(())
178 157 }
modified src/migrator/mod.rs
+0 −1
@@ -1,6 +1,5 @@
1 1 use sea_orm_migration::prelude::*;
2 2
3 −
4 3 mod m20241219_000001_create_ppl;
5 4 mod m20241220_000002_create_contact;
6 5 mod m20241220_000003_create_entity;

Parents: 7bb11b4