mirror of
https://github.com/matrix-construct/construct
synced 2024-06-08 04:58:58 +02:00
ircd:Ⓜ️:user::keys: Further abstract callstack through type string argument.
This commit is contained in:
parent
bbed809975
commit
0b888b662a
|
@ -26,12 +26,14 @@ struct ircd::m::user::keys
|
|||
bool append_keys(json::stack::object &, const event::idx &, const user::id &) const;
|
||||
|
||||
public:
|
||||
bool has_device(const m::id::device &) const;
|
||||
bool has_device(const string_view &) const;
|
||||
bool has_cross(const string_view &type) const;
|
||||
bool has_cross_master() const;
|
||||
bool has_cross_self() const;
|
||||
bool has_cross_user() const;
|
||||
|
||||
void device(json::stack::object &, const string_view &device_id) const;
|
||||
void cross(json::stack::object &, const string_view &type) const;
|
||||
void cross_master(json::stack::object &) const;
|
||||
void cross_self(json::stack::object &) const;
|
||||
void cross_user(json::stack::object &) const;
|
||||
|
@ -53,33 +55,31 @@ inline void
|
|||
ircd::m::user::keys::cross_user(json::stack::object &out)
|
||||
const
|
||||
{
|
||||
const auto event_idx
|
||||
{
|
||||
user_room.get(std::nothrow, "ircd.cross_signing.user", "")
|
||||
};
|
||||
|
||||
append_keys(out, event_idx, user_room.user.user_id);
|
||||
return cross(out, "ircd.cross_signing.user");
|
||||
}
|
||||
|
||||
inline void
|
||||
ircd::m::user::keys::cross_self(json::stack::object &out)
|
||||
const
|
||||
{
|
||||
const auto event_idx
|
||||
{
|
||||
user_room.get(std::nothrow, "ircd.cross_signing.self", "")
|
||||
};
|
||||
|
||||
append_keys(out, event_idx, user_room.user.user_id);
|
||||
return cross(out, "ircd.cross_signing.self");
|
||||
}
|
||||
|
||||
inline void
|
||||
ircd::m::user::keys::cross_master(json::stack::object &out)
|
||||
const
|
||||
{
|
||||
return cross(out, "ircd.cross_signing.master");
|
||||
}
|
||||
|
||||
inline void
|
||||
ircd::m::user::keys::cross(json::stack::object &out,
|
||||
const string_view &type)
|
||||
const
|
||||
{
|
||||
const auto event_idx
|
||||
{
|
||||
user_room.get(std::nothrow, "ircd.cross_signing.master", "")
|
||||
user_room.get(std::nothrow, type, "")
|
||||
};
|
||||
|
||||
append_keys(out, event_idx, user_room.user.user_id);
|
||||
|
@ -89,27 +89,38 @@ inline bool
|
|||
ircd::m::user::keys::has_cross_user()
|
||||
const
|
||||
{
|
||||
return user_room.has("ircd.cross_signing.user", "");
|
||||
return has_cross("ircd.cross_signing.user");
|
||||
}
|
||||
|
||||
inline bool
|
||||
ircd::m::user::keys::has_cross_self()
|
||||
const
|
||||
{
|
||||
return user_room.has("ircd.cross_signing.self", "");
|
||||
return has_cross("ircd.cross_signing.self");
|
||||
}
|
||||
|
||||
inline bool
|
||||
ircd::m::user::keys::has_cross_master()
|
||||
const
|
||||
{
|
||||
return user_room.has("ircd.cross_signing.master", "");
|
||||
return has_cross("ircd.cross_signing.master");
|
||||
}
|
||||
|
||||
inline bool
|
||||
ircd::m::user::keys::has_device(const m::id::device &device_id)
|
||||
ircd::m::user::keys::has_cross(const string_view &type)
|
||||
const
|
||||
{
|
||||
const m::user::devices devices{user_room.user};
|
||||
return user_room.has(type, "");
|
||||
}
|
||||
|
||||
inline bool
|
||||
ircd::m::user::keys::has_device(const string_view &device_id)
|
||||
const
|
||||
{
|
||||
const m::user::devices devices
|
||||
{
|
||||
user_room.user
|
||||
};
|
||||
|
||||
return devices.has(device_id, "keys");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue