mirror of
https://github.com/matrix-construct/construct
synced 2025-02-16 16:50:12 +01:00
ircd:Ⓜ️ Push user creation out to module.
This commit is contained in:
parent
f11be8a0d8
commit
f0b5656fda
4 changed files with 55 additions and 18 deletions
23
ircd/m/m.cc
23
ircd/m/m.cc
|
@ -744,27 +744,14 @@ ircd::m::user
|
|||
ircd::m::create(const id::user &user_id,
|
||||
const json::members &contents)
|
||||
{
|
||||
const m::user user
|
||||
using prototype = user (const id::user &, const json::members &);
|
||||
|
||||
static import<prototype> function
|
||||
{
|
||||
user_id
|
||||
"client_user", "user_create"
|
||||
};
|
||||
|
||||
const m::room::id::buf user_room_id
|
||||
{
|
||||
user.room_id()
|
||||
};
|
||||
|
||||
//TODO: ABA
|
||||
//TODO: TXN
|
||||
m::room user_room
|
||||
{
|
||||
create(user_room_id, m::me.user_id, "user")
|
||||
};
|
||||
|
||||
//TODO: ABA
|
||||
//TODO: TXN
|
||||
send(user.users, m::me.user_id, "ircd.user", user.user_id, contents);
|
||||
return user;
|
||||
return function(user_id, contents);
|
||||
}
|
||||
|
||||
bool
|
||||
|
|
|
@ -171,6 +171,7 @@ client_client_user_la_SOURCES = \
|
|||
client/user/filter.cc \
|
||||
client/user/account_data.cc \
|
||||
client/user/rooms.cc \
|
||||
client/user/create.cc \
|
||||
client/user/user.cc \
|
||||
###
|
||||
|
||||
|
|
40
modules/client/user/create.cc
Normal file
40
modules/client/user/create.cc
Normal file
|
@ -0,0 +1,40 @@
|
|||
// Matrix Construct
|
||||
//
|
||||
// Copyright (C) Matrix Construct Developers, Authors & Contributors
|
||||
// Copyright (C) 2016-2018 Jason Volk <jason@zemos.net>
|
||||
//
|
||||
// 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 "user.h"
|
||||
|
||||
using namespace ircd;
|
||||
|
||||
extern "C" m::user
|
||||
user_create(const m::user::id &user_id,
|
||||
const json::members &contents)
|
||||
{
|
||||
const m::user user
|
||||
{
|
||||
user_id
|
||||
};
|
||||
|
||||
const m::room::id::buf user_room_id
|
||||
{
|
||||
user.room_id()
|
||||
};
|
||||
|
||||
//TODO: ABA
|
||||
//TODO: TXN
|
||||
m::room user_room
|
||||
{
|
||||
m::create(user_room_id, m::me.user_id, "user")
|
||||
};
|
||||
|
||||
//TODO: ABA
|
||||
//TODO: TXN
|
||||
send(user.users, m::me.user_id, "ircd.user", user.user_id, contents);
|
||||
return user;
|
||||
}
|
|
@ -54,3 +54,12 @@ ircd::resource::response
|
|||
put__rooms(ircd::client &client,
|
||||
const ircd::resource::request &request,
|
||||
const ircd::m::user::id &user_id);
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// create.cc
|
||||
//
|
||||
|
||||
extern "C" ircd::m::user
|
||||
user_create(const ircd::m::user::id &,
|
||||
const ircd::json::members &);
|
||||
|
|
Loading…
Add table
Reference in a new issue