Leosac  0.8.0
Open Source Access Control
Leosac::Module::WebSockAPI Namespace Reference

Classes

class  AccessOverview
 Retrieve an overview of the access permission of users against doors. More...
 
class  AccessPointCRUD
 CRUD Handler for AccessPoint. More...
 
class  AccessPointSearch
 Search access point by alias. More...
 
class  AckUpdate
 Acknowledge a pending update. More...
 
class  APIAuth
 This class is responsible for providing an API to manage authentication for Websocket client. More...
 
class  APISession
 This is the application-level object that provide the API. More...
 
class  AuditGet
 Query the audit log. More...
 
class  BaseModuleSupportThread
 This class provide a base implementation -designed to be extended by subclass- so that non-boost-asio based module can "easily" make use of the WebSockAPI module. More...
 
class  CancelUpdate
 Cancel a pending update. More...
 
class  CheckUpdate
 Perform an application wide check for updates. More...
 
struct  ClientMessage
 A message sent by a client to Leosac. More...
 
class  CreateUpdate
 Request the creation of a persistent update based on the uuid of a transient update::UpdateDescriptor object. More...
 
class  CredentialCRUD
 CRUD Handler for credentials. More...
 
class  CredentialSearch
 Search Credentials by alias. More...
 
class  CRUDResourceHandler
 Base CRUD handler for use within the websocket module. More...
 
class  DoorCRUD
 CRUD Handler for Doors. More...
 
class  DoorSearch
 Search doors by name. More...
 
struct  EntitySearchTool
 This is a templated class that perform case-insensitive database search against entities. More...
 
class  ExceptionConverter
 This class is dedicated to converting exception thrown by various code into a ServerMessage that can be sent back to a websocket client. More...
 
class  ExternalCRUDResourceHandler
 For other module to use. More...
 
class  GroupCRUD
 CRUD Handler for Groups. More...
 
class  GroupSearch
 Search groups by name. More...
 
class  HardwareSearch
 Search hardware devices by name. More...
 
class  ICRUDResourceHandler
 A common interface for CRUD handler. More...
 
class  InvalidCall
 
class  LogGet
 Retrieve (part of) the logs generated Leosac. More...
 
class  MalformedMessage
 
class  MembershipCRUD
 CRUD Handler for UserGroupMembership. More...
 
class  MethodHandler
 The base class for API method handler implementation. More...
 
struct  ModuleIncomingMessage
 This is an appropriate representation of a incoming WS message as seen by a module. More...
 
struct  ModuleRequestContext
 A request context dedicated for websocket request that are handled by other modules. More...
 
class  PasswordChange
 Change the password of a give user, generally self. More...
 
class  PendingUpdateGet
 
struct  RequestContext
 Holds valuable pointer to provide context to a request. More...
 
class  Restart
 Restart the Leosac server. More...
 
class  ScheduleCRUD
 CRUD Handler for schedules. More...
 
class  ScheduleSearch
 Search schedules by name. More...
 
struct  ServerMessage
 A message sent by the server to a client. More...
 
class  Service
 A service object provided by the Websocket module. More...
 
class  SessionAborted
 
class  UpdateGet
 Retrieve information WRT an update. More...
 
class  UpdateHistory
 Retrieve the update history. More...
 
struct  use_alias_tag
 Use this tag to search for entities with an "alias" field. More...
 
struct  use_name_tag
 Use this tag to search for entities with a "name". More...
 
struct  use_username_tag
 Use this tag to search for entities with a "username" tag (Most likely only "User" for now ... More...
 
class  UserCRUD
 CRUD Handler for Users. More...
 
class  UserSearch
 Search Users by username. More...
 
class  WebSockAPIModule
 A module that provide a websocket interface to Leosac. More...
 
class  WSServer
 The implementation class that runs the websocket server. More...
 
class  ZoneCRUD
 CRUD Handler for Zones. More...
 
class  ZoneSearch
 Search zones by name. More...
 

Typedefs

using ActionActionParam = std::pair< SecurityContext::Action, SecurityContext::ActionParam >
 A pair of action and their parameters. More...
 
using json = nlohmann::json
 
using APIPtr = std::shared_ptr< APISession >
 
using MethodHandlerUPtr = std::unique_ptr< MethodHandler >
 
using CRUDResourceHandlerUPtr = std::unique_ptr< CRUDResourceHandler >
 
using ExternalCRUDResourceHandlerUPtr = std::unique_ptr< ExternalCRUDResourceHandler >
 
using FiberHandlerT = std::function< boost::optional< nlohmann::json >(const RequestContext &)>
 
using FacadeUPtr = std::unique_ptr< Facade >
 

Typedef Documentation

◆ ActionActionParam

A pair of action and their parameters.

This is used to represent a permission.

Definition at line 36 of file ActionActionParam.hpp.

◆ APIPtr

using Leosac::Module::WebSockAPI::APIPtr = typedef std::shared_ptr<APISession>

Definition at line 33 of file WebSockFwd.hpp.

◆ CRUDResourceHandlerUPtr

Definition at line 39 of file WebSockFwd.hpp.

◆ ExternalCRUDResourceHandlerUPtr

◆ FacadeUPtr

using Leosac::Module::WebSockAPI::FacadeUPtr = typedef std::unique_ptr<Facade>

Definition at line 54 of file WebSockFwd.hpp.

◆ FiberHandlerT

using Leosac::Module::WebSockAPI::FiberHandlerT = typedef std::function<boost::optional<nlohmann::json>(const RequestContext &)>

Definition at line 51 of file WebSockFwd.hpp.

◆ json

typedef nlohmann::json Leosac::Module::WebSockAPI::json

Definition at line 30 of file AccessOverview.hpp.

◆ MethodHandlerUPtr

Definition at line 36 of file WebSockFwd.hpp.