Sessions microservice implements a Seneca compatible API. Seneca port and protocol can be specified in the microservice configuration.
var seneca = require('seneca')();
seneca.client({
type: 'tcp', // Microservice seneca protocol
localhost: 'localhost', // Microservice localhost
port: 8807, // Microservice seneca port
});
The microservice responds on the following requests:
let result = await seneca.act(
{
role: 'sessions',
version: 1,
cmd: ...cmd name....
... Arguments ...
}
);
- SessionV1 class
- cmd: 'get_sessions'
- cmd: 'get_session_by_id'
- cmd: 'open_session'
- cmd: 'store_session_data'
- cmd: 'close_session'
- cmd: 'delete_session_by_id'
Represents an open user session
Properties:
- id: string - unique session id
- user_id: string - unique user id
- user_name: string - Full user name just for information
- active: boolean - True if session is still active
- open_time: Date - date and time when session was opened
- request_time: Date - date and time when last request was processed
- close_time: Date - date and time when session was closed
- address: string - client address
- client: string - client application name
- user: Object - information about user
- data: Object - session data
Retrieves all opened user sessions.
Arguments:
- filter: object - filter parameters
- user_id: string - (optional) unique user id
- active: boolean - (optional) active connections
- from_time: Date - (optional) start of the time range
- to_time: Date - (optional) end of the time range
- paging: object - paging parameters
- skip: int - (optional) start of page (default: 0)
- take: int - (optional) page length (default: 100)
- total: boolean - (optional) include total counter into paged result (default: false)
Returns:
- err: Error - occured error or null for success
- result: DataPage - page of retrieved user sessions
Load opened user session by user id and session id.
Request body:
- session_id: string - unique session id
Returns:
- err: Error - occured error or null for success
- result: SessionV1 - open user session or null if session wasn't found
Opens a new user session and stores user information in it.
Request body:
- user_id: string - unique user id
- user_name: string - full user name
- address: string - client address
- client: string - client application name
- data: Object - session data
- user: Object - user data
Returns:
- err: Error - occured error or null for success
- result: SessionV1 - newly opened user session or existing session if it was already opened for the same address and client
Stores session data
Arguments:
- session_id: string - unique session id
- data: Object - session data
Returns:
- err: Error - occured error or null for success
- result: SessionV1 - updated SessionV1 object
Closes previously opened user session by its id
Arguments:
- session_id: string - unique session id
Returns:
- err: Error - occured error or null for success
Deletes session by specified session ids.
Arguments:
- session_id: string - unique session id
Returns:
- err: Error - occured error or null for success