feat: check command lists trello boards
Some checks failed
Test / build (map[name:nightly]) (push) Successful in 2m9s
Test / build (map[name:stable]) (push) Successful in 2m5s
Release Please / Release-plz (push) Failing after 18s

This commit is contained in:
Paul Campbell 2024-12-14 08:25:38 +00:00
parent 3d48e2f408
commit 6ee44dc7d4

View file

@ -4,34 +4,43 @@ use color_eyre::eyre::{OptionExt as _, Result};
use crate::{f, p, trello::model::board::TrelloBoards as _, FullCtx};
pub(crate) async fn run(ctx: FullCtx) -> Result<()> {
// test trello by getting a list of the boards for the user
p!(ctx.prt, ">> Testing Trello details...");
let boards = ctx.trello_client().boards().await.result?;
p!(ctx.prt, "<<< Trello Credentials: OKAY");
let board_name = &ctx.cfg.trello.board_name;
p!(ctx.prt, ">> Trello Board: {board_name}");
let board = boards
.find_by_name(board_name)
.ok_or_eyre(f!("board not found: {board_name}"))?;
p!(ctx.prt, "<<< Trello Board: OKAY");
for list in &board.lists {
p!(ctx.prt, "<<< List: {}", list.name);
{
// test trello by getting a list of the boards for the user
p!(ctx.prt, ">> Testing Trello details...");
let boards = ctx.trello_client().boards().await.result?;
p!(ctx.prt, "<<< Trello Credentials: OKAY");
let board_name = &ctx.cfg.trello.board_name;
p!(ctx.prt, ">> Trello Board: {board_name}");
let board = boards
.find_by_name(board_name)
.ok_or_eyre(f!("board not found: {board_name}"))?;
p!(ctx.prt, "<<< Trello Board: OKAY");
for list in &board.lists {
p!(ctx.prt, "<<<< List: {}", list.name);
}
}
p!(ctx.prt, ">> Testing Nextcloud details...");
let deck_client = ctx.deck_client();
let board = deck_client
.get_board(ctx.cfg.nextcloud.board_id)
.await
.result?;
p!(ctx.prt, "<<< Nextcloud Credentials: OKAY");
p!(ctx.prt, "<<< Nextcloud Board: {}", board.title);
let stacks = deck_client
.get_stacks(ctx.cfg.nextcloud.board_id)
.await
.result?;
for stack in stacks {
p!(ctx.prt, "<<< Stack: {}", stack.title);
{
p!(ctx.prt, ">> Testing Nextcloud details...");
let deck_client = ctx.deck_client();
let boards = deck_client.get_boards().await.result?;
p!(ctx.prt, "<<< Nextcloud Boards");
for board in &boards {
p!(ctx.prt, "<<<< Board: {}", board.title);
}
p!(ctx.prt, "<<< Nextcloud Credentials: OKAY");
let board = boards
.iter()
.find(|b| b.id == ctx.cfg.nextcloud.board_id)
.ok_or_eyre("board not found")?;
p!(ctx.prt, "<<< Nextcloud Board: {}", board.title);
let stacks = deck_client
.get_stacks(ctx.cfg.nextcloud.board_id)
.await
.result?;
for stack in stacks {
p!(ctx.prt, "<<<< Stack: {}", stack.title);
}
}
Ok(())