2025-02-09 19:58:55 +01:00
|
|
|
#include "ListCommand.h"
|
|
|
|
|
|
|
|
#include "Error.h"
|
|
|
|
#include "Manager.h"
|
|
|
|
|
|
|
|
using util::Manager;
|
|
|
|
using models::User;
|
|
|
|
using models::Task;
|
|
|
|
using models::Assignment;
|
|
|
|
using err::Error;
|
|
|
|
|
|
|
|
namespace commands
|
|
|
|
{
|
2025-02-09 22:30:03 +01:00
|
|
|
ListCommand::ListCommand() : SubCommand("list", false)
|
2025-02-09 19:58:55 +01:00
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2025-02-09 21:14:26 +01:00
|
|
|
void ListCommand::run(stringstream& args)
|
2025-02-09 19:58:55 +01:00
|
|
|
{
|
2025-02-09 23:22:43 +01:00
|
|
|
Manager* mgr = Manager::get_instance();
|
2025-02-09 19:58:55 +01:00
|
|
|
const string data_type = Util::read_string(args);
|
2025-02-09 21:28:20 +01:00
|
|
|
if (data_type == "users")
|
2025-02-09 23:22:43 +01:00
|
|
|
for (const User* u : mgr->get_users())
|
2025-02-09 19:58:55 +01:00
|
|
|
cout << *u;
|
2025-02-09 21:28:20 +01:00
|
|
|
else if (data_type == "tasks")
|
2025-02-09 23:22:43 +01:00
|
|
|
for (const Task* t : mgr->get_tasks())
|
2025-02-09 19:58:55 +01:00
|
|
|
cout << *t;
|
2025-02-09 21:28:20 +01:00
|
|
|
else if (data_type == "assignments")
|
2025-02-09 23:22:43 +01:00
|
|
|
for (const Assignment* a : mgr->get_assignments())
|
2025-02-09 19:58:55 +01:00
|
|
|
cout << *a;
|
|
|
|
else
|
2025-02-10 00:49:31 +01:00
|
|
|
throw Error(102, "Ein Parameter eines Befehls konnte nicht gelesen werden");
|
2025-02-09 19:58:55 +01:00
|
|
|
}
|
|
|
|
} // commands
|