summaryrefslogtreecommitdiff
path: root/src/user.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/user.cpp')
-rw-r--r--src/user.cpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/user.cpp b/src/user.cpp
index 942684f..33e7296 100644
--- a/src/user.cpp
+++ b/src/user.cpp
@@ -34,10 +34,12 @@ user::user( strusCms &cms )
cms.mapper( ).assign( "register" );
cms.dispatcher( ).assign( "/confirm_register", &user::confirm_register, this );
- cms.mapper( ).assign( "confirm_register" );
+ //??
+ //~ cms.mapper( ).assign( "confirm_register" );
cms.dispatcher( ).assign( "/api/users", &user::api_users, this );
- cms.mapper( ).assign( "api_users" );
+
+ cms.dispatcher( ).assign( "/api/user/(\\w+)", &user::api_user, this, 1 );
}
void user::login( )
@@ -144,6 +146,25 @@ void user::api_users( )
response( ).out( ) << j;
}
+
+void user::api_user( std::string username )
+{
+ cppdb::session sql( cms.conn );
+ cppdb::result r;
+ r = sql << "SELECT username, email FROM user WHERE username=?" << username << cppdb::row;
+ if( r.empty( ) ) {
+ return;
+ }
+ User user;
+ r >> user.name;
+ r >> user.email;
+
+ cppcms::json::value j;
+
+ j = user;
+
+ response( ).out( ) << j;
+}
// TODO: make this a salted hash
bool user::check_login( const std::string user, const std::string password )