diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-05-02 12:03:06 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-05-02 12:03:06 +0200 |
commit | 22fcc60f0f076f83422d71a2a06c52c62354eecf (patch) | |
tree | 3bb82a40d2cacda27215663a02cb902ba5e63d4d /src/user.hpp | |
parent | 84c42bcc329a10325c846c6f46d580750bc39853 (diff) | |
download | aCms-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.hpp | 35 |
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 |