#include "parser_auth_by.h"
#include "stg/users.h"
#include "stg/user.h"
int PARSER_AUTH_BY::ParseStart(void * /*data*/, const char *el, const char **attr)
{
if (strcasecmp(el, "GetUserAuthBy") == 0)
{
if (attr[0] && attr[1])
login = attr[1];
else
{
login.erase(login.begin(), login.end());
return -1;
}
return 0;
}
return -1;
}
int PARSER_AUTH_BY::ParseEnd(void * /*data*/, const char *el)
{
if (strcasecmp(el, "GetUserAuthBy") == 0)
{
CreateAnswer();
return 0;
}
return -1;
}
void PARSER_AUTH_BY::CreateAnswer()
{
USER_PTR u;
if (users->FindByName(login, &u))
{
answer = "";
return;
}
answer.clear();
answer += "";
std::vector list(u->GetAuthorizers());
for (std::vector::const_iterator it = list.begin(); it != list.end(); ++it)
answer += "";
answer += "";
}