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 name
string Bridge name instance
object Bridge instance Returns:
- Type
- Promise
-
<async> removeBridge(name)
-
Destroy a bridge
Parameters:
Name Type Description name
string Bridge name Returns:
- Type
- Promise
-
<async> create(name, user [, info])
-
Create new session for a user
Parameters:
Name Type Argument Description name
string Bridge name user
UserModel | 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 name
string 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 name
string Bridge name session
SessionModel 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 session
SessionModel 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 name
string Bridge name session
SessionModel Session model Returns:
Resolves to true if removed- Type
- Promise
-
<async> removeAll(session)
-
Remove session of a user
Parameters:
Name Type Description session
SessionModel Session model Returns:
Resolves to true if removed- Type
- Promise
-
<async> destroy(name, session)
-
Destroy session of a user
Parameters:
Name Type Description name
string Bridge name session
SessionModel Session model Returns:
- Type
- Promise
-
<async> destroyAll(session)
-
Destroy session of a user in all the bridges
Parameters:
Name Type Description session
SessionModel Session model Returns:
- Type
- Promise
-
isEmpty(session)
-
Is session empty
Parameters:
Name Type Description session
SessionModel Session model Returns:
- Type
- boolean
-
<async> encodeJwt(name, session [, payload])
-
Encode JWT
Parameters:
Name Type Argument Description name
string Bridge name session
SessionModel Session model payload
object <optional>
Token payload Returns:
Resolves to JWT string- Type
- Promise
-
<async> decodeJwt(name, token [, info])
-
Decode JWT
Parameters:
Name Type Argument Description name
string Bridge name token
string 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 name
string Bridge name -
_cacheAdd(bridge, session [, info])
-
Add session to the cache
Parameters:
Name Type Argument Description bridge
object Bridge object session
SessionModel 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 bridge
object Bridge object session
SessionModel Session model Returns:
Success or not- Type
- boolean
-
<async> _doSave(bridge, session [, info])
-
Actual saving attempt
Parameters:
Name Type Argument Description bridge
object Bridge object session
SessionModel Session model info
* <optional>
Extra information for the bridge Returns:
- Type
- Promise