diff --git a/modules/Makefile.am b/modules/Makefile.am index c98140980..2ed37d265 100644 --- a/modules/Makefile.am +++ b/modules/Makefile.am @@ -143,6 +143,7 @@ client_module_LTLIBRARIES += client/client_user.la # client_client_account_la_SOURCES = \ + client/account/whoami.cc \ client/account/password.cc \ client/account/deactivate.cc \ client/account/account.cc \ diff --git a/modules/client/account/whoami.cc b/modules/client/account/whoami.cc new file mode 100644 index 000000000..5635b0345 --- /dev/null +++ b/modules/client/account/whoami.cc @@ -0,0 +1,44 @@ +// Matrix Construct +// +// Copyright (C) Matrix Construct Developers, Authors & Contributors +// Copyright (C) 2016-2018 Jason Volk +// +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice is present in all copies. The +// full license for this software is available in the LICENSE file. + +#include "account.h" + +using namespace ircd; + +resource +account_whoami +{ + "/_matrix/client/r0/account/whoami", + { + "(3.6.1) Gets information about the owner of a given access token." + } +}; + +resource::response +get__whoami(client &client, + const resource::request &request) +{ + return resource::response + { + client, json::members + { + { "user_id", request.user_id } + } + }; +} + +resource::method +get_whoami +{ + account_whoami, "GET", get__whoami, + { + get_whoami.REQUIRES_AUTH + } +};