auth_user_info.js 755 Bytes
export const applyUserInfoAuth = (input, options = {}) => {
  const user_info = input && input.data && input.data.user_info ? input.data.user_info : input
  if (!user_info || typeof user_info !== 'object') {
    return false
  }

  const { user_id, HTTP_USER_TOKEN } = user_info
  if (!user_id || !HTTP_USER_TOKEN) {
    return false
  }

  const set_auth_headers = options.set_auth_headers
  if (typeof set_auth_headers === 'function') {
    set_auth_headers(user_id, HTTP_USER_TOKEN)
  }

  const storage = Object.prototype.hasOwnProperty.call(options, 'storage') ? options.storage : globalThis.localStorage
  if (storage && typeof storage.setItem === 'function') {
    storage.setItem('user_info', JSON.stringify(user_info || {}))
  }

  return true
}