summaryrefslogtreecommitdiff
path: root/src/user.hpp
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2015-05-02 12:03:06 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2015-05-02 12:03:06 +0200
commit22fcc60f0f076f83422d71a2a06c52c62354eecf (patch)
tree3bb82a40d2cacda27215663a02cb902ba5e63d4d /src/user.hpp
parent84c42bcc329a10325c846c6f46d580750bc39853 (diff)
downloadaCms-22fcc60f0f076f83422d71a2a06c52c62354eecf.tar.gz
aCms-22fcc60f0f076f83422d71a2a06c52c62354eecf.tar.bz2
added an users api function (JSON), playing with possibilities
Diffstat (limited to 'src/user.hpp')
-rw-r--r--src/user.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/user.hpp b/src/user.hpp
index e6a4e35..62b3f0a 100644
--- a/src/user.hpp
+++ b/src/user.hpp
@@ -5,6 +5,8 @@
#include "user_content.hpp"
+#include <cppcms/json.h>
+
namespace apps {
class user : public master {
@@ -25,9 +27,42 @@ class user : public master {
void logout( );
void register_user( );
void confirm_register( );
+ void api_users( );
void ini( content::user &c );
};
}
+struct User {
+ std::string name;
+ std::string email;
+};
+
+namespace cppcms {
+ namespace json {
+
+template<>
+struct traits<User> {
+
+ static User get( value const &v )
+ {
+ User u;
+ if( v.type( ) != is_object) {
+ throw bad_value_cast( );
+ }
+ u.name = v.get<std::string>( "name" );
+ u.email = v.get<std::string>( "email" );
+ return u;
+ }
+
+ static void set( value &v, User const &u )
+ {
+ v.set( "name", u.name );
+ v.set( "email", u.email );
+ }
+
+};
+
+} } // namespace cppcms::json
+
#endif