new Session(app, config, logger)
Create the service
Parameters:
| Name | Type | Description |
|---|---|---|
app |
App | The application |
config |
object | Configuration |
logger |
Logger | Logger service |
Members
-
<static> provides :string
-
Service name is 'session'
Type:
- string
-
<static> requires :Array.<string>
-
Dependencies as constructor arguments
Type:
- Array.<string>
-
<static> lifecycle :string
-
This service is a singleton
Type:
- string
Methods
-
<async> addBridge(name, instance)
-
Add new bridge
Parameters:
Name Type Description namestring Bridge name instanceobject Bridge instance Returns:
- Type
- Promise
-
<async> removeBridge(name)
-
Destroy a bridge
Parameters:
Name Type Description namestring Bridge name Returns:
- Type
- Promise
-
<async> create(name, user [, info])
-
Create new session for a user
Parameters:
Name Type Argument Description namestring Bridge name userUserModel | null User model or null for anonymous session info* <optional>
Extra information for the bridge Returns:
Resolves to session model- Type
- Promise
-
<async> load(name, token [, info])
-
Load session of a user
Parameters:
Name Type Argument Description namestring Bridge name token* User token info* <optional>
Extra information for the bridge Returns:
Resolves to session model or null- Type
- Promise
-
<async> loadAll(token [, info])
-
Load session of a user
Parameters:
Name Type Argument Description token* User token info* <optional>
Extra information for the bridge Returns:
Resolves to session model or null- Type
- Promise
-
<async> update(name, session [, info])
-
Update session of a user
Parameters:
Name Type Argument Description namestring Bridge name sessionSessionModel Session model info* <optional>
Extra information for the bridge Returns:
Resolves to true if updated- Type
- Promise
-
<async> updateAll(session [, info])
-
Update session of a user
Parameters:
Name Type Argument Description sessionSessionModel Session model info* <optional>
Extra information for the bridge Returns:
Resolves to true if updated- Type
- Promise
-
<async> remove(name, session)
-
Remove session of a user
Parameters:
Name Type Description namestring Bridge name sessionSessionModel Session model Returns:
Resolves to true if removed- Type
- Promise
-
<async> removeAll(session)
-
Remove session of a user
Parameters:
Name Type Description sessionSessionModel Session model Returns:
Resolves to true if removed- Type
- Promise
-
<async> destroy(name, session)
-
Destroy session of a user
Parameters:
Name Type Description namestring Bridge name sessionSessionModel Session model Returns:
- Type
- Promise
-
<async> destroyAll(session)
-
Destroy session of a user in all the bridges
Parameters:
Name Type Description sessionSessionModel Session model Returns:
- Type
- Promise
-
isEmpty(session)
-
Is session empty
Parameters:
Name Type Description sessionSessionModel Session model Returns:
- Type
- boolean
-
<async> encodeJwt(name, session [, payload])
-
Encode JWT
Parameters:
Name Type Argument Description namestring Bridge name sessionSessionModel Session model payloadobject <optional>
Token payload Returns:
Resolves to JWT string- Type
- Promise
-
<async> decodeJwt(name, token [, info])
-
Decode JWT
Parameters:
Name Type Argument Description namestring Bridge name tokenstring JWT string info* <optional>
Extra information for the bridge Returns:
Resolves to { session, payload }- Type
- Promise
-
<async> onTimer(name)
-
Delete expired sessions
Parameters:
Name Type Description namestring Bridge name -
_cacheAdd(bridge, session [, info])
-
Add session to the cache
Parameters:
Name Type Argument Description bridgeobject Bridge object sessionSessionModel Session model info* <optional>
Extra information for the bridge Returns:
Success or not- Type
- boolean
-
_cacheDel(bridge, session)
-
Remove session from the cache
Parameters:
Name Type Description bridgeobject Bridge object sessionSessionModel Session model Returns:
Success or not- Type
- boolean
-
<async> _doSave(bridge, session [, info])
-
Actual saving attempt
Parameters:
Name Type Argument Description bridgeobject Bridge object sessionSessionModel Session model info* <optional>
Extra information for the bridge Returns:
- Type
- Promise