show enqueued build in banner instead of active ones
This commit is contained in:
		@@ -40,14 +40,13 @@ async fn get_stats(db: &DatabaseConnection) -> anyhow::Result<ListStats> {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // todo implement this values somehow
 | 
					    // todo implement this values somehow
 | 
				
			||||||
    let avg_queue_wait_time: u32 = 42;
 | 
					    let avg_queue_wait_time: u32 = 42;
 | 
				
			||||||
    let avg_build_time: u32 = 42;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Calculate repo storage size
 | 
					    // Calculate repo storage size
 | 
				
			||||||
    let repo_storage_size: u64 = dir_size("repo/").unwrap_or(0);
 | 
					    let repo_storage_size: u64 = dir_size("repo/").unwrap_or(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Count active builds
 | 
					    // Count active builds
 | 
				
			||||||
    let active_builds: u32 = Builds::find()
 | 
					    let enqueued_builds: u32 = Builds::find()
 | 
				
			||||||
        .filter(builds::Column::Status.eq(0))
 | 
					        .filter(builds::Column::Status.eq(3))
 | 
				
			||||||
        .count(db)
 | 
					        .count(db)
 | 
				
			||||||
        .await?
 | 
					        .await?
 | 
				
			||||||
        .try_into()?;
 | 
					        .try_into()?;
 | 
				
			||||||
@@ -57,13 +56,14 @@ async fn get_stats(db: &DatabaseConnection) -> anyhow::Result<ListStats> {
 | 
				
			|||||||
        avg_build_time: f64,
 | 
					        avg_build_time: f64,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let unique: BuildTimeStruct = BuildTimeStruct::find_by_statement(Statement::from_sql_and_values(
 | 
					    let unique: BuildTimeStruct =
 | 
				
			||||||
        DbBackend::Sqlite,
 | 
					        BuildTimeStruct::find_by_statement(Statement::from_sql_and_values(
 | 
				
			||||||
        r#"SELECT AVG((builds.end_time - builds.start_time)) AS avg_build_time
 | 
					            DbBackend::Sqlite,
 | 
				
			||||||
 | 
					            r#"SELECT AVG((builds.end_time - builds.start_time)) AS avg_build_time
 | 
				
			||||||
        FROM builds
 | 
					        FROM builds
 | 
				
			||||||
        WHERE builds.end_time IS NOT NULL AND builds.status = 1;"#,
 | 
					        WHERE builds.end_time IS NOT NULL AND builds.status = 1;"#,
 | 
				
			||||||
        [],
 | 
					            [],
 | 
				
			||||||
    ))
 | 
					        ))
 | 
				
			||||||
        .one(db)
 | 
					        .one(db)
 | 
				
			||||||
        .await?
 | 
					        .await?
 | 
				
			||||||
        .ok_or(anyhow::anyhow!("No Average build time"))?;
 | 
					        .ok_or(anyhow::anyhow!("No Average build time"))?;
 | 
				
			||||||
@@ -79,7 +79,7 @@ async fn get_stats(db: &DatabaseConnection) -> anyhow::Result<ListStats> {
 | 
				
			|||||||
        avg_queue_wait_time,
 | 
					        avg_queue_wait_time,
 | 
				
			||||||
        avg_build_time,
 | 
					        avg_build_time,
 | 
				
			||||||
        repo_storage_size,
 | 
					        repo_storage_size,
 | 
				
			||||||
        active_builds,
 | 
					        enqueued_builds,
 | 
				
			||||||
        total_packages,
 | 
					        total_packages,
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -42,6 +42,6 @@ pub struct ListStats {
 | 
				
			|||||||
    pub avg_queue_wait_time: u32,
 | 
					    pub avg_queue_wait_time: u32,
 | 
				
			||||||
    pub avg_build_time: u32,
 | 
					    pub avg_build_time: u32,
 | 
				
			||||||
    pub repo_storage_size: u64,
 | 
					    pub repo_storage_size: u64,
 | 
				
			||||||
    pub active_builds: u32,
 | 
					    pub enqueued_builds: u32,
 | 
				
			||||||
    pub total_packages: u32,
 | 
					    pub total_packages: u32,
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -100,7 +100,7 @@ class _BuildsChartState extends State<BuildsChart> {
 | 
				
			|||||||
          );
 | 
					          );
 | 
				
			||||||
        case 2:
 | 
					        case 2:
 | 
				
			||||||
          return PieChartSectionData(
 | 
					          return PieChartSectionData(
 | 
				
			||||||
            color: const Color(0xff9d8d00),
 | 
					            color: const Color(0xFF0044AA),
 | 
				
			||||||
            value: (widget.nrActiveBuilds).toDouble(),
 | 
					            value: (widget.nrActiveBuilds).toDouble(),
 | 
				
			||||||
            title:
 | 
					            title:
 | 
				
			||||||
                "${((widget.nrActiveBuilds) * 100 / widget.nrbuilds).toStringAsFixed(2)}%",
 | 
					                "${((widget.nrActiveBuilds) * 100 / widget.nrbuilds).toStringAsFixed(2)}%",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -46,8 +46,8 @@ class QuickInfoBanner extends StatelessWidget {
 | 
				
			|||||||
      QuickInfoData(
 | 
					      QuickInfoData(
 | 
				
			||||||
          color: const Color(0xFFFFA113),
 | 
					          color: const Color(0xFFFFA113),
 | 
				
			||||||
          icon: Icons.hourglass_top,
 | 
					          icon: Icons.hourglass_top,
 | 
				
			||||||
          title: "Active Builds",
 | 
					          title: "Enqueued Builds",
 | 
				
			||||||
          subtitle: stats.active_builds.toString()),
 | 
					          subtitle: stats.enqueued_builds.toString()),
 | 
				
			||||||
      QuickInfoData(
 | 
					      QuickInfoData(
 | 
				
			||||||
          color: const Color(0xFFA4CDFF),
 | 
					          color: const Color(0xFFA4CDFF),
 | 
				
			||||||
          icon: Icons.build,
 | 
					          icon: Icons.build,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,12 +9,12 @@ class SidePanel extends StatelessWidget {
 | 
				
			|||||||
    Key? key,
 | 
					    Key? key,
 | 
				
			||||||
    required this.nrbuilds,
 | 
					    required this.nrbuilds,
 | 
				
			||||||
    required this.nrfailedbuilds,
 | 
					    required this.nrfailedbuilds,
 | 
				
			||||||
    required this.nrActiveBuilds,
 | 
					    required this.nrEnqueuedBuilds,
 | 
				
			||||||
  }) : super(key: key);
 | 
					  }) : super(key: key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  final int nrbuilds;
 | 
					  final int nrbuilds;
 | 
				
			||||||
  final int nrfailedbuilds;
 | 
					  final int nrfailedbuilds;
 | 
				
			||||||
  final int nrActiveBuilds;
 | 
					  final int nrEnqueuedBuilds;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Widget build(BuildContext context) {
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
@@ -38,7 +38,7 @@ class SidePanel extends StatelessWidget {
 | 
				
			|||||||
          BuildsChart(
 | 
					          BuildsChart(
 | 
				
			||||||
              nrbuilds: nrbuilds,
 | 
					              nrbuilds: nrbuilds,
 | 
				
			||||||
              nrfailedbuilds: nrfailedbuilds,
 | 
					              nrfailedbuilds: nrfailedbuilds,
 | 
				
			||||||
              nrActiveBuilds: nrActiveBuilds),
 | 
					              nrActiveBuilds: nrEnqueuedBuilds),
 | 
				
			||||||
          SideCard(
 | 
					          SideCard(
 | 
				
			||||||
            color: const Color(0xff0a7005),
 | 
					            color: const Color(0xff0a7005),
 | 
				
			||||||
            title: "Successful Builds",
 | 
					            title: "Successful Builds",
 | 
				
			||||||
@@ -54,11 +54,11 @@ class SidePanel extends StatelessWidget {
 | 
				
			|||||||
            subtitle: nrfailedbuilds.toString(),
 | 
					            subtitle: nrfailedbuilds.toString(),
 | 
				
			||||||
          ),
 | 
					          ),
 | 
				
			||||||
          SideCard(
 | 
					          SideCard(
 | 
				
			||||||
            color: const Color(0xff9d8d00),
 | 
					            color: const Color(0xFF0044AA),
 | 
				
			||||||
            title: "Active Builds",
 | 
					            title: "Enqueued Builds",
 | 
				
			||||||
            textRight:
 | 
					            textRight:
 | 
				
			||||||
                "${(nrActiveBuilds * 100 / nrbuilds).toStringAsFixed(2)}%",
 | 
					                "${(nrEnqueuedBuilds * 100 / nrbuilds).toStringAsFixed(2)}%",
 | 
				
			||||||
            subtitle: nrActiveBuilds.toString(),
 | 
					            subtitle: nrEnqueuedBuilds.toString(),
 | 
				
			||||||
          ),
 | 
					          ),
 | 
				
			||||||
        ],
 | 
					        ],
 | 
				
			||||||
      ),
 | 
					      ),
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,7 +3,7 @@ class Stats {
 | 
				
			|||||||
      failed_builds,
 | 
					      failed_builds,
 | 
				
			||||||
      avg_queue_wait_time,
 | 
					      avg_queue_wait_time,
 | 
				
			||||||
      repo_storage_size,
 | 
					      repo_storage_size,
 | 
				
			||||||
      active_builds,
 | 
					      enqueued_builds,
 | 
				
			||||||
      total_packages;
 | 
					      total_packages;
 | 
				
			||||||
  final Duration avg_build_time;
 | 
					  final Duration avg_build_time;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -14,7 +14,7 @@ class Stats {
 | 
				
			|||||||
      avg_queue_wait_time: json["avg_queue_wait_time"] as int,
 | 
					      avg_queue_wait_time: json["avg_queue_wait_time"] as int,
 | 
				
			||||||
      avg_build_time: Duration(seconds: json["avg_build_time"]),
 | 
					      avg_build_time: Duration(seconds: json["avg_build_time"]),
 | 
				
			||||||
      repo_storage_size: json["repo_storage_size"] as int,
 | 
					      repo_storage_size: json["repo_storage_size"] as int,
 | 
				
			||||||
      active_builds: json["active_builds"] as int,
 | 
					      enqueued_builds: json["enqueued_builds"] as int,
 | 
				
			||||||
      total_packages: json["total_packages"] as int,
 | 
					      total_packages: json["total_packages"] as int,
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@@ -25,6 +25,6 @@ class Stats {
 | 
				
			|||||||
      required this.avg_queue_wait_time,
 | 
					      required this.avg_queue_wait_time,
 | 
				
			||||||
      required this.avg_build_time,
 | 
					      required this.avg_build_time,
 | 
				
			||||||
      required this.repo_storage_size,
 | 
					      required this.repo_storage_size,
 | 
				
			||||||
      required this.active_builds,
 | 
					      required this.enqueued_builds,
 | 
				
			||||||
      required this.total_packages});
 | 
					      required this.total_packages});
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -60,7 +60,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
 | 
				
			|||||||
                                SidePanel(
 | 
					                                SidePanel(
 | 
				
			||||||
                                    nrbuilds: stats.total_builds,
 | 
					                                    nrbuilds: stats.total_builds,
 | 
				
			||||||
                                    nrfailedbuilds: stats.failed_builds,
 | 
					                                    nrfailedbuilds: stats.failed_builds,
 | 
				
			||||||
                                    nrActiveBuilds: stats.active_builds),
 | 
					                                    nrEnqueuedBuilds: stats.enqueued_builds),
 | 
				
			||||||
                            ],
 | 
					                            ],
 | 
				
			||||||
                          ),
 | 
					                          ),
 | 
				
			||||||
                        ),
 | 
					                        ),
 | 
				
			||||||
@@ -73,7 +73,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
 | 
				
			|||||||
                            child: SidePanel(
 | 
					                            child: SidePanel(
 | 
				
			||||||
                                nrbuilds: stats.total_builds,
 | 
					                                nrbuilds: stats.total_builds,
 | 
				
			||||||
                                nrfailedbuilds: stats.failed_builds,
 | 
					                                nrfailedbuilds: stats.failed_builds,
 | 
				
			||||||
                                nrActiveBuilds: stats.active_builds),
 | 
					                                nrEnqueuedBuilds: stats.enqueued_builds),
 | 
				
			||||||
                          ),
 | 
					                          ),
 | 
				
			||||||
                      ],
 | 
					                      ],
 | 
				
			||||||
                    )
 | 
					                    )
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user