new EcomAuth(storeIdopt, langopt)
- Source:
Construct a new E-Com Plus admin account instance object.
Examples
// Default instance
const ecomAuth = new EcomAuth()
// Optionally defining Store ID and language
const storeId = 2000
const lang = 'en_us'
const customEcomAuth = new EcomAuth(storeId, lang)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
storeId |
number |
<optional> |
$ecomConfig.get('store_id')
|
Preset Store ID number |
lang |
string |
<optional> |
Snake case language code |
Members
(static) ecomAuth.Constructor :function
- Source:
- See:
Construct a new account instance object.
Type:
- function
(static) ecomAuth.lang :string
- Source:
Instance language code.
Type:
- string
(static) ecomAuth.storeId :number
- Source:
Respective Store ID number.
Type:
- number
Methods
checkLogin() → {boolean}
- Source:
Check if admin is logged and access token is not expired.
Example
if (ecomAuth.checkLogin()) {
console.log('Logged')
}
Returns:
- Type
- boolean
createEcomplusSession() → {Promise.<(response|error)>}
- Source:
Try set E-Com Plus cross domain session after login.
Example
ecomAuth.createEcomplusSession().then(() => console.log('User session created'))
Returns:
- Type
- Promise.<(response|error)>
fetchAuthentication(mustSkipSessionopt) → {Promise.<(authentication|error)>}
- Source:
Fetch current user authentication object from Store API.
Example
ecomAuth.fetchAuthentication().then(authentication => {
console.log(authentication._id)
})
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
mustSkipSession |
boolean |
<optional> |
false
|
Skips previously fetched result (refresh cache) |
Returns:
- Type
- Promise.<(authentication|error)>
fetchStore(mustSkipSessionopt) → {Promise.<(store|error)>}
- Source:
Fetch current store object from Store API.
Example
ecomAuth.fetchStore().then(store => {
console.log(store._id)
})
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
mustSkipSession |
boolean |
<optional> |
false
|
Skips previously fetched result (refresh cache) |
Returns:
- Type
- Promise.<(store|error)>
getAuthenticationId() → {string|null}
- Source:
Returns current session authentication ID.
Example
console.log(ecomAuth.getAuthenticationId())
Returns:
- Type
- string | null
getSession() → {object}
- Source:
Returns current session object (without token).
Example
const session = ecomAuth.getSession()
console.log(session.my_id, session.store_id)
Returns:
- Type
- object
login(userOrEmail, password, isMd5Hashopt) → {Promise.<(self|error)>}
- Source:
Try to login and authenticate admin with email or username and password.
Example
ecomAuth.login('leo', '1234567890').then(() => {
console.log(ecomAuth.getSession())
})
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
userOrEmail |
string | Admin username or email address | ||
password |
string | Password or MD5 hash | ||
isMd5Hash |
boolean |
<optional> |
false
|
If password argument is already the MD5 hash string |
Returns:
- Type
- Promise.<(self|error)>
logout() → {self}
- Source:
Reset admin session object.
Example
ecomAuth.logout()
Returns:
- Type
- self
requestApi(url, method, dataopt, axiosConfigopt) → {Promise.<(response|error)>}
- Source:
Send authenticated request to E-Com Plus Store API (or another).
Example
ecomAuth.requestApi('/orders/123456789012345678901234.json', 'patch', {
status: 'closed'
}).then(({ status }) => {
console.log(status)
})
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
url |
string | Store API endpoint or full URL | |
method |
string | Request HTTP method | |
data |
object |
<optional> |
Request body |
axiosConfig |
object |
<optional> |
Additional axios config settings |
Returns:
- Type
- Promise.<(response|error)>
setSession(newSession) → {self}
- Source:
Set instance session object.
Example
ecomAuth.setSession(session)
Parameters:
Name | Type | Description |
---|---|---|
newSession |
object | Session object to save |
Returns:
- Type
- self
Events
login
- Source:
Properties:
Name | Type | Description |
---|---|---|
self |
object |
Type:
- object
Example
ecomAuth.on('login', console.log)
logout
- Source:
Properties:
Name | Type | Description |
---|---|---|
self |
object |
Type:
- object
Example
ecomAuth.on('logout', console.log)
updateAuthentication
- Source:
Properties:
Name | Type | Description |
---|---|---|
self |
object |
Type:
- object
Example
ecomAuth.on('updateAuthentication', self => {
console.log('Session Authentication object from `fetchAuthentication` was updated')
})
updateStore
- Source:
Properties:
Name | Type | Description |
---|---|---|
self |
object |
Type:
- object
Example
ecomAuth.on('updateAuthentication', self => {
console.log('Session Store object from `fetchStore` was updated')
})