ores.iam.session_messages

Table of Contents

The session protocol messages.

The session itself is an entity (ores.iam.session): the list and active responses carry ores::iam::domain::session, the generated table type. One shape no table backs lives here instead: session_view is the denormalised, party-scoped projection of a session – the entity plus party_id, visible_party_ids and username. None of those three has a column, so none may be an entity member; they are message fields here, beside the entity they annotate.

1. Includes

#include "ores.iam.api/domain/session.hpp"
#include <boost/uuid/uuid.hpp>
#include <chrono>
#include <cstdint>
#include <string>
#include <vector>

2. Messages

2.1. session_view

/**
 * @brief A session with its party-scoped context.
 *
 * The session is the entity; party_id, visible_party_ids and username are
 * the denormalised fields reached through the account-party association.
 * They are message fields because no column backs them.
 */

2.1.1. session

2.1.2. party_id

2.1.3. visible_party_ids

2.1.4. username

2.2. get_active_sessions_request

2.3. get_active_sessions_response

2.3.1. sessions

2.3.2. success

2.3.3. message

2.4. end_session_request

/**
 * @brief End another account's session in the caller's tenant.
 *
 * A session is opened by signing in and closed by the service that ends it,
 * so the act is an operation rather than a write to the row. The operator
 * names the session by its identifier; the tenant scope comes from the
 * caller's own session, and a session belonging to another tenant is not
 * there to end.
 */

2.4.1. session_id

2.5. end_session_response

2.5.1. success

2.5.2. message

Emacs 29.3 (Org mode 9.6.15)