@qikdev/sdk 1.0.1 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +1 -1
  2. package/dist/access.html +16371 -0
  3. package/dist/api.html +1503 -0
  4. package/dist/auth.html +8455 -0
  5. package/dist/cache.html +1135 -0
  6. package/dist/content.html +10067 -0
  7. package/dist/files.html +3415 -0
  8. package/dist/filter.html +4973 -0
  9. package/dist/geo.html +3851 -0
  10. package/dist/global.html +328 -0
  11. package/dist/index.html +96 -0
  12. package/dist/main.js +1100 -1126
  13. package/dist/module-QikStorage-CookieStorageAdapter.html +1177 -0
  14. package/dist/module-QikStorage-LocalStorageAdapter.html +329 -0
  15. package/dist/module-QikStorage-StorageAdapter.html +3457 -0
  16. package/dist/module-QikStorage.html +1445 -0
  17. package/dist/qik.access.js.html +904 -0
  18. package/dist/qik.api.js.html +409 -0
  19. package/dist/{docs/qik.auth.js.html → qik.auth.js.html} +142 -104
  20. package/dist/qik.cache.js.html +125 -0
  21. package/dist/qik.content.js.html +967 -0
  22. package/dist/qik.core.js.html +322 -0
  23. package/dist/qik.files.js.html +249 -0
  24. package/dist/{docs/qik.filter.js.html → qik.filter.js.html} +2 -2
  25. package/dist/qik.geo.js.html +963 -0
  26. package/dist/qik.socket.js.html +451 -0
  27. package/dist/qik.storage.js.html +375 -0
  28. package/dist/qik.system.js.html +117 -0
  29. package/dist/qik.utils.js.html +1542 -0
  30. package/dist/socket.html +2975 -0
  31. package/dist/{docs/styles → styles}/jsdoc.css +2 -2
  32. package/dist/system.html +523 -0
  33. package/package.json +2 -2
  34. package/src/api/qik.access.js +2 -53
  35. package/src/api/qik.socket.js +51 -10
  36. package/src/version.js +1 -1
  37. package/dist/docs/access.html +0 -3826
  38. package/dist/docs/api.html +0 -1356
  39. package/dist/docs/auth.html +0 -2180
  40. package/dist/docs/cache.html +0 -351
  41. package/dist/docs/content.html +0 -2560
  42. package/dist/docs/files.html +0 -779
  43. package/dist/docs/filter.html +0 -1355
  44. package/dist/docs/index.html +0 -96
  45. package/dist/docs/qik.access.js.html +0 -790
  46. package/dist/docs/qik.api.js.html +0 -511
  47. package/dist/docs/qik.cache.js.html +0 -131
  48. package/dist/docs/qik.content.js.html +0 -918
  49. package/dist/docs/qik.core.js.html +0 -301
  50. package/dist/docs/qik.files.js.html +0 -219
  51. package/dist/docs/qik.socket.js.html +0 -416
  52. package/dist/docs/qik.system.js.html +0 -117
  53. package/dist/docs/qik.utils.js.html +0 -1467
  54. package/dist/docs/socket.html +0 -810
  55. package/dist/docs/system.html +0 -197
  56. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Bold.eot +0 -0
  57. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Bold.ttf +0 -0
  58. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Bold.woff +0 -0
  59. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Bold.woff2 +0 -0
  60. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Regular.eot +0 -0
  61. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Regular.ttf +0 -0
  62. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Regular.woff +0 -0
  63. /package/dist/{docs/fonts → fonts}/Montserrat/Montserrat-Regular.woff2 +0 -0
  64. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-light-webfont.eot +0 -0
  65. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-light-webfont.svg +0 -0
  66. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-light-webfont.ttf +0 -0
  67. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-light-webfont.woff +0 -0
  68. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-light-webfont.woff2 +0 -0
  69. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-regular-webfont.eot +0 -0
  70. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-regular-webfont.svg +0 -0
  71. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-regular-webfont.ttf +0 -0
  72. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-regular-webfont.woff +0 -0
  73. /package/dist/{docs/fonts → fonts}/Source-Sans-Pro/sourcesanspro-regular-webfont.woff2 +0 -0
  74. /package/dist/{docs/scripts → scripts}/collapse.js +0 -0
  75. /package/dist/{docs/scripts → scripts}/linenumber.js +0 -0
  76. /package/dist/{docs/scripts → scripts}/nav.js +0 -0
  77. /package/dist/{docs/scripts → scripts}/polyfill.js +0 -0
  78. /package/dist/{docs/scripts → scripts}/prettify/Apache-License-2.0.txt +0 -0
  79. /package/dist/{docs/scripts → scripts}/prettify/lang-css.js +0 -0
  80. /package/dist/{docs/scripts → scripts}/prettify/prettify.js +0 -0
  81. /package/dist/{docs/scripts → scripts}/search.js +0 -0
  82. /package/dist/{docs/styles → styles}/prettify.css +0 -0
@@ -27,7 +27,7 @@
27
27
 
28
28
  <nav >
29
29
 
30
- <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="access.html">access</a><ul class='methods'><li data-type='method'><a href="access.html#.actionableScopes">actionableScopes</a></li><li data-type='method'><a href="access.html#.allPermissions">allPermissions</a></li><li data-type='method'><a href="access.html#.allPermissionTypes">allPermissionTypes</a></li><li data-type='method'><a href="access.html#.allUserScopes">allUserScopes</a></li><li data-type='method'><a href="access.html#.canCreate">canCreate</a></li><li data-type='method'><a href="access.html#.canDeleteItem">canDeleteItem</a></li><li data-type='method'><a href="access.html#.canEditItem">canEditItem</a></li><li data-type='method'><a href="access.html#.canEraseItem">canEraseItem</a></li><li data-type='method'><a href="access.html#.canKnowOf">canKnowOf</a></li><li data-type='method'><a href="access.html#.canListItem">canListItem</a></li><li data-type='method'><a href="access.html#.canRestoreItem">canRestoreItem</a></li><li data-type='method'><a href="access.html#.canViewItem">canViewItem</a></li><li data-type='method'><a href="access.html#.checkActionAccess">checkActionAccess</a></li><li data-type='method'><a href="access.html#.getAllDescendants">getAllDescendants</a></li><li data-type='method'><a href="access.html#.has">has</a></li><li data-type='method'><a href="access.html#.hashPermissions">hashPermissions</a></li><li data-type='method'><a href="access.html#.isAdministrator">isAdministrator</a></li><li data-type='method'><a href="access.html#.isOwner">isOwner</a></li></ul></li><li><a href="api.html">api</a><ul class='methods'><li data-type='method'><a href="api.html#.delete">delete</a></li><li data-type='method'><a href="api.html#.generateEndpointURL">generateEndpointURL</a></li><li data-type='method'><a href="api.html#.get">get</a></li><li data-type='method'><a href="api.html#.patch">patch</a></li><li data-type='method'><a href="api.html#.post">post</a></li><li data-type='method'><a href="api.html#.put">put</a></li></ul></li><li><a href="auth.html">auth</a><ul class='methods'><li data-type='method'><a href="auth.html#.changeOrganisation">changeOrganisation</a></li><li data-type='method'><a href="auth.html#.ensureValidToken">ensureValidToken</a></li><li data-type='method'><a href="auth.html#.getCurrentToken">getCurrentToken</a></li><li data-type='method'><a href="auth.html#.getCurrentUser">getCurrentUser</a></li><li data-type='method'><a href="auth.html#.impersonate">impersonate</a></li><li data-type='method'><a href="auth.html#.login">login</a></li><li data-type='method'><a href="auth.html#.logout">logout</a></li><li data-type='method'><a href="auth.html#.retrieveUserFromResetToken">retrieveUserFromResetToken</a></li><li data-type='method'><a href="auth.html#.sendResetPasswordRequest">sendResetPasswordRequest</a></li><li data-type='method'><a href="auth.html#.set">set</a></li><li data-type='method'><a href="auth.html#.sync">sync</a></li><li data-type='method'><a href="auth.html#.updateUserWithToken">updateUserWithToken</a></li></ul></li><li><a href="cache.html">cache</a><ul class='methods'><li data-type='method'><a href="cache.html#.get">get</a></li><li data-type='method'><a href="cache.html#.reset">reset</a></li></ul></li><li><a href="content.html">content</a><ul class='methods'><li data-type='method'><a href="content.html#.create">create</a></li><li data-type='method'><a href="content.html#.delete">delete</a></li><li data-type='method'><a href="content.html#.get">get</a></li><li data-type='method'><a href="content.html#.getFromSlug">getFromSlug</a></li><li data-type='method'><a href="content.html#.glossary">glossary</a></li><li data-type='method'><a href="content.html#.list">list</a></li><li data-type='method'><a href="content.html#.patch">patch</a></li><li data-type='method'><a href="content.html#.restore">restore</a></li><li data-type='method'><a href="content.html#.scopeGlossary">scopeGlossary</a></li><li data-type='method'><a href="content.html#.update">update</a></li><li data-type='method'><a href="content.html#.validateField">validateField</a></li><li data-type='method'><a href="content.html#.variables">variables</a></li></ul></li><li><a href="files.html">files</a><ul class='methods'><li data-type='method'><a href="files.html#.downloadUrl">downloadUrl</a></li><li data-type='method'><a href="files.html#.filesize">filesize</a></li><li data-type='method'><a href="files.html#.getBinaryTypeFromMime">getBinaryTypeFromMime</a></li><li data-type='method'><a href="files.html#.mediaUrl">mediaUrl</a></li></ul></li><li><a href="filter.html">filter</a><ul class='methods'><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterOperators">activeFilterOperators</a></li><li data-type='method'><a href="filter.html#.activeFilters">activeFilters</a></li><li data-type='method'><a href="filter.html#.activeFilterValues">activeFilterValues</a></li><li data-type='method'><a href="filter.html#.filterChangeString">filterChangeString</a></li><li data-type='method'><a href="filter.html#.isValidFilter">isValidFilter</a></li></ul></li><li><a href="socket.html">socket</a><ul class='methods'><li data-type='method'><a href="socket.html#.channel">channel</a></li><li data-type='method'><a href="socket.html#.close">close</a></li><li data-type='method'><a href="socket.html#.connect">connect</a></li><li data-type='method'><a href="socket.html#.reconnect">reconnect</a></li><li data-type='method'><a href="socket.html#.subscribe">subscribe</a></li><li data-type='method'><a href="socket.html#.unsubscribe">unsubscribe</a></li></ul></li><li><a href="system.html">system</a><ul class='methods'><li data-type='method'><a href="system.html#.countries">countries</a></li></ul></li></ul>
30
+ <h2><a href="index.html">Home</a></h2><h3>Classes</h3><ul><li><a href="access.html">access</a><ul class='methods'><li data-type='method'><a href="access.html#.actionableScopes">actionableScopes</a></li><li data-type='method'><a href="access.html#.actionableScopes">actionableScopes</a></li><li data-type='method'><a href="access.html#.allPermissions">allPermissions</a></li><li data-type='method'><a href="access.html#.allPermissions">allPermissions</a></li><li data-type='method'><a href="access.html#.allPermissionTypes">allPermissionTypes</a></li><li data-type='method'><a href="access.html#.allPermissionTypes">allPermissionTypes</a></li><li data-type='method'><a href="access.html#.allUserScopes">allUserScopes</a></li><li data-type='method'><a href="access.html#.allUserScopes">allUserScopes</a></li><li data-type='method'><a href="access.html#.canCreate">canCreate</a></li><li data-type='method'><a href="access.html#.canCreate">canCreate</a></li><li data-type='method'><a href="access.html#.canDeleteItem">canDeleteItem</a></li><li data-type='method'><a href="access.html#.canDeleteItem">canDeleteItem</a></li><li data-type='method'><a href="access.html#.canEditItem">canEditItem</a></li><li data-type='method'><a href="access.html#.canEditItem">canEditItem</a></li><li data-type='method'><a href="access.html#.canEraseItem">canEraseItem</a></li><li data-type='method'><a href="access.html#.canEraseItem">canEraseItem</a></li><li data-type='method'><a href="access.html#.canKnowOf">canKnowOf</a></li><li data-type='method'><a href="access.html#.canKnowOf">canKnowOf</a></li><li data-type='method'><a href="access.html#.canListItem">canListItem</a></li><li data-type='method'><a href="access.html#.canListItem">canListItem</a></li><li data-type='method'><a href="access.html#.canRestoreItem">canRestoreItem</a></li><li data-type='method'><a href="access.html#.canRestoreItem">canRestoreItem</a></li><li data-type='method'><a href="access.html#.canViewItem">canViewItem</a></li><li data-type='method'><a href="access.html#.canViewItem">canViewItem</a></li><li data-type='method'><a href="access.html#.checkActionAccess">checkActionAccess</a></li><li data-type='method'><a href="access.html#.checkActionAccess">checkActionAccess</a></li><li data-type='method'><a href="access.html#.getAllDescendants">getAllDescendants</a></li><li data-type='method'><a href="access.html#.getAllDescendants">getAllDescendants</a></li><li data-type='method'><a href="access.html#.has">has</a></li><li data-type='method'><a href="access.html#.has">has</a></li><li data-type='method'><a href="access.html#.hasFeature">hasFeature</a></li><li data-type='method'><a href="access.html#.hasFeature">hasFeature</a></li><li data-type='method'><a href="access.html#.hashPermissions">hashPermissions</a></li><li data-type='method'><a href="access.html#.hashPermissions">hashPermissions</a></li><li data-type='method'><a href="access.html#.isAdministrator">isAdministrator</a></li><li data-type='method'><a href="access.html#.isAdministrator">isAdministrator</a></li><li data-type='method'><a href="access.html#.isAssignee">isAssignee</a></li><li data-type='method'><a href="access.html#.isAssignee">isAssignee</a></li><li data-type='method'><a href="access.html#.isOwner">isOwner</a></li><li data-type='method'><a href="access.html#.isOwner">isOwner</a></li></ul></li><li></li><li><a href="api.html">api</a><ul class='methods'><li data-type='method'><a href="api.html#.generateEndpointURL">generateEndpointURL</a></li><li data-type='method'><a href="api.html#.generateEndpointURL">generateEndpointURL</a></li></ul></li><li></li><li><a href="auth.html">auth</a><ul class='methods'><li data-type='method'><a href="auth.html#.changeOrganisation">changeOrganisation</a></li><li data-type='method'><a href="auth.html#.changeOrganisation">changeOrganisation</a></li><li data-type='method'><a href="auth.html#.ensureValidToken">ensureValidToken</a></li><li data-type='method'><a href="auth.html#.ensureValidToken">ensureValidToken</a></li><li data-type='method'><a href="auth.html#.getCurrentToken">getCurrentToken</a></li><li data-type='method'><a href="auth.html#.getCurrentToken">getCurrentToken</a></li><li data-type='method'><a href="auth.html#.getCurrentUser">getCurrentUser</a></li><li data-type='method'><a href="auth.html#.getCurrentUser">getCurrentUser</a></li><li data-type='method'><a href="auth.html#.impersonate">impersonate</a></li><li data-type='method'><a href="auth.html#.impersonate">impersonate</a></li><li data-type='method'><a href="auth.html#.login">login</a></li><li data-type='method'><a href="auth.html#.login">login</a></li><li data-type='method'><a href="auth.html#.logout">logout</a></li><li data-type='method'><a href="auth.html#.logout">logout</a></li><li data-type='method'><a href="auth.html#.retrieveUserFromResetToken">retrieveUserFromResetToken</a></li><li data-type='method'><a href="auth.html#.retrieveUserFromResetToken">retrieveUserFromResetToken</a></li><li data-type='method'><a href="auth.html#.sendResetPasswordRequest">sendResetPasswordRequest</a></li><li data-type='method'><a href="auth.html#.sendResetPasswordRequest">sendResetPasswordRequest</a></li><li data-type='method'><a href="auth.html#.set">set</a></li><li data-type='method'><a href="auth.html#.set">set</a></li><li data-type='method'><a href="auth.html#.sync">sync</a></li><li data-type='method'><a href="auth.html#.sync">sync</a></li><li data-type='method'><a href="auth.html#.updateUserWithToken">updateUserWithToken</a></li><li data-type='method'><a href="auth.html#.updateUserWithToken">updateUserWithToken</a></li></ul></li><li></li><li><a href="cache.html">cache</a><ul class='methods'><li data-type='method'><a href="cache.html#.get">get</a></li><li data-type='method'><a href="cache.html#.get">get</a></li><li data-type='method'><a href="cache.html#.reset">reset</a></li><li data-type='method'><a href="cache.html#.reset">reset</a></li></ul></li><li></li><li><a href="content.html">content</a><ul class='methods'><li data-type='method'><a href="content.html#.create">create</a></li><li data-type='method'><a href="content.html#.create">create</a></li><li data-type='method'><a href="content.html#.delete">delete</a></li><li data-type='method'><a href="content.html#.delete">delete</a></li><li data-type='method'><a href="content.html#.get">get</a></li><li data-type='method'><a href="content.html#.get">get</a></li><li data-type='method'><a href="content.html#.getFromSlug">getFromSlug</a></li><li data-type='method'><a href="content.html#.getFromSlug">getFromSlug</a></li><li data-type='method'><a href="content.html#.glossary">glossary</a></li><li data-type='method'><a href="content.html#.glossary">glossary</a></li><li data-type='method'><a href="content.html#.list">list</a></li><li data-type='method'><a href="content.html#.list">list</a></li><li data-type='method'><a href="content.html#.patch">patch</a></li><li data-type='method'><a href="content.html#.patch">patch</a></li><li data-type='method'><a href="content.html#.restore">restore</a></li><li data-type='method'><a href="content.html#.restore">restore</a></li><li data-type='method'><a href="content.html#.scopeGlossary">scopeGlossary</a></li><li data-type='method'><a href="content.html#.scopeGlossary">scopeGlossary</a></li><li data-type='method'><a href="content.html#.update">update</a></li><li data-type='method'><a href="content.html#.update">update</a></li><li data-type='method'><a href="content.html#.validateField">validateField</a></li><li data-type='method'><a href="content.html#.validateField">validateField</a></li><li data-type='method'><a href="content.html#.variables">variables</a></li><li data-type='method'><a href="content.html#.variables">variables</a></li></ul></li><li></li><li><a href="files.html">files</a><ul class='methods'><li data-type='method'><a href="files.html#.downloadUrl">downloadUrl</a></li><li data-type='method'><a href="files.html#.downloadUrl">downloadUrl</a></li><li data-type='method'><a href="files.html#.duration">duration</a></li><li data-type='method'><a href="files.html#.duration">duration</a></li><li data-type='method'><a href="files.html#.filesize">filesize</a></li><li data-type='method'><a href="files.html#.filesize">filesize</a></li><li data-type='method'><a href="files.html#.getBinaryTypeFromMime">getBinaryTypeFromMime</a></li><li data-type='method'><a href="files.html#.getBinaryTypeFromMime">getBinaryTypeFromMime</a></li><li data-type='method'><a href="files.html#.mediaUrl">mediaUrl</a></li><li data-type='method'><a href="files.html#.mediaUrl">mediaUrl</a></li></ul></li><li></li><li><a href="filter.html">filter</a><ul class='methods'><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterKeys">activeFilterKeys</a></li><li data-type='method'><a href="filter.html#.activeFilterOperators">activeFilterOperators</a></li><li data-type='method'><a href="filter.html#.activeFilterOperators">activeFilterOperators</a></li><li data-type='method'><a href="filter.html#.activeFilters">activeFilters</a></li><li data-type='method'><a href="filter.html#.activeFilters">activeFilters</a></li><li data-type='method'><a href="filter.html#.activeFilterValues">activeFilterValues</a></li><li data-type='method'><a href="filter.html#.activeFilterValues">activeFilterValues</a></li><li data-type='method'><a href="filter.html#.filterChangeString">filterChangeString</a></li><li data-type='method'><a href="filter.html#.filterChangeString">filterChangeString</a></li><li data-type='method'><a href="filter.html#.isValidFilter">isValidFilter</a></li><li data-type='method'><a href="filter.html#.isValidFilter">isValidFilter</a></li></ul></li><li></li><li><a href="geo.html">geo</a><ul class='methods'><li data-type='method'><a href="geo.html#.distance">distance</a></li><li data-type='method'><a href="geo.html#.distance">distance</a></li><li data-type='method'><a href="geo.html#.getDefaultCountry">getDefaultCountry</a></li><li data-type='method'><a href="geo.html#.getDefaultCountry">getDefaultCountry</a></li><li data-type='method'><a href="geo.html#.getDefaultTimezone">getDefaultTimezone</a></li><li data-type='method'><a href="geo.html#.getDefaultTimezone">getDefaultTimezone</a></li><li data-type='method'><a href="geo.html#.getPosition">getPosition</a></li><li data-type='method'><a href="geo.html#.getPosition">getPosition</a></li><li data-type='method'><a href="geo.html#.stopWatchPosition">stopWatchPosition</a></li><li data-type='method'><a href="geo.html#.stopWatchPosition">stopWatchPosition</a></li><li data-type='method'><a href="geo.html#.stopWatchPosition">stopWatchPosition</a></li><li data-type='method'><a href="geo.html#.stopWatchPosition">stopWatchPosition</a></li></ul></li><li></li><li><a href="module-QikStorage-CookieStorageAdapter.html">CookieStorageAdapter</a><ul class='methods'><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#getCookieOptions">getCookieOptions</a></li><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#getCookieOptions">getCookieOptions</a></li><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#isCookieMode">isCookieMode</a></li><li data-type='method'><a href="module-QikStorage-CookieStorageAdapter.html#isCookieMode">isCookieMode</a></li></ul></li><li></li><li><a href="module-QikStorage-LocalStorageAdapter.html">LocalStorageAdapter</a></li><li></li><li><a href="module-QikStorage-StorageAdapter.html">StorageAdapter</a><ul class='methods'><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#clearUser">clearUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#clearUser">clearUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getAccessToken">getAccessToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getAccessToken">getAccessToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getRefreshToken">getRefreshToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getRefreshToken">getRefreshToken</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getTokenExpiry">getTokenExpiry</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getTokenExpiry">getTokenExpiry</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getUser">getUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#getUser">getUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#isAvailable">isAvailable</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#isAvailable">isAvailable</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#setUser">setUser</a></li><li data-type='method'><a href="module-QikStorage-StorageAdapter.html#setUser">setUser</a></li></ul></li><li></li><li><a href="socket.html">socket</a><ul class='methods'><li data-type='method'><a href="socket.html#.channel">channel</a></li><li data-type='method'><a href="socket.html#.channel">channel</a></li><li data-type='method'><a href="socket.html#.close">close</a></li><li data-type='method'><a href="socket.html#.close">close</a></li><li data-type='method'><a href="socket.html#.connect">connect</a></li><li data-type='method'><a href="socket.html#.connect">connect</a></li><li data-type='method'><a href="socket.html#.reconnect">reconnect</a></li><li data-type='method'><a href="socket.html#.reconnect">reconnect</a></li><li data-type='method'><a href="socket.html#.subscribe">subscribe</a></li><li data-type='method'><a href="socket.html#.subscribe">subscribe</a></li><li data-type='method'><a href="socket.html#.unsubscribe">unsubscribe</a></li><li data-type='method'><a href="socket.html#.unsubscribe">unsubscribe</a></li></ul></li><li></li><li><a href="system.html">system</a><ul class='methods'><li data-type='method'><a href="system.html#.countries">countries</a></li><li data-type='method'><a href="system.html#.countries">countries</a></li></ul></li><li></li></ul><h3>Modules</h3><ul><li><a href="module-QikStorage.html">QikStorage</a><ul class='methods'><li data-type='method'><a href="module-QikStorage.html#.createStorageAdapter">createStorageAdapter</a></li><li data-type='method'><a href="module-QikStorage.html#.createStorageAdapter">createStorageAdapter</a></li></ul></li><li></li></ul><h3>Global</h3><ul><li><a href="global.html#EventDispatcher">EventDispatcher</a></li></ul>
31
31
  </nav>
32
32
 
33
33
  <div id="main">
@@ -42,8 +42,8 @@
42
42
 
43
43
  <section>
44
44
  <article>
45
- <pre class="prettyprint source linenums"><code>import axios from 'axios';
46
- import { EventDispatcher } from './qik.utils.js';
45
+ <pre class="prettyprint source linenums"><code>import { EventDispatcher } from './qik.utils.js';
46
+ import { createStorageAdapter } from './qik.storage.js';
47
47
 
48
48
  ///////////////////////////////////////////////////
49
49
 
@@ -67,19 +67,27 @@ var QikAuth = function(qik) {
67
67
 
68
68
  ///////////////////////////////////////////////////
69
69
 
70
- var sessionStorage = {};
71
- var store = sessionStorage;
70
+ // Create storage adapter based on configuration
71
+ const storageAdapter = createStorageAdapter({
72
+ useHttpOnlyCookies: qik.useHttpOnlyCookies,
73
+ cookieConfig: qik.cookieConfig
74
+ });
75
+
72
76
  const tokenBufferSeconds = 10;
73
77
 
74
78
  ///////////////////////////////////////////////////
75
79
 
76
80
  const service = {
77
81
  debug: false,
82
+ storageAdapter: storageAdapter,
78
83
  }
79
84
 
85
+ // Backwards compatibility - keep store reference
80
86
  Object.defineProperty(service, 'store', {
81
- value: store,
82
- writable: false,
87
+ get: function() {
88
+ return { user: storageAdapter.getUser() };
89
+ },
90
+ enumerable: true
83
91
  });
84
92
 
85
93
  //Create a new dispatcher
@@ -91,7 +99,7 @@ var QikAuth = function(qik) {
91
99
  function dispatch(parameters) {
92
100
 
93
101
  //Get the current user
94
- var user = store.user;
102
+ var user = storageAdapter.getUser();
95
103
 
96
104
  //Dispatch the change to the listeners
97
105
  if (service.onChange) {
@@ -119,8 +127,9 @@ var QikAuth = function(qik) {
119
127
 
120
128
  service.set = function(user, parameters, stopDispatch) {
121
129
 
122
- if (JSON.stringify(store.user) != JSON.stringify(user)) {
123
- store.user = user;
130
+ const currentUser = storageAdapter.getUser();
131
+ if (JSON.stringify(currentUser) != JSON.stringify(user)) {
132
+ storageAdapter.setUser(user);
124
133
  if (!stopDispatch) {
125
134
  return dispatch(parameters)
126
135
  }
@@ -139,7 +148,7 @@ var QikAuth = function(qik) {
139
148
  */
140
149
 
141
150
  service.logout = function() {
142
- delete store.user;
151
+ storageAdapter.clearUser();
143
152
  qik.cache.reset();
144
153
  return dispatch()
145
154
  }
@@ -310,19 +319,19 @@ var QikAuth = function(qik) {
310
319
 
311
320
  if (!credentials) {
312
321
  return reject({
313
- message: 'Missing credentials!',
322
+ message: 'Login requires an email and password',
314
323
  })
315
324
  }
316
325
 
317
326
  if (!credentials.email || !credentials.email.length) {
318
327
  return reject({
319
- message: 'Username was not provided',
328
+ message: 'An email address is required to log in',
320
329
  })
321
330
  }
322
331
 
323
332
  if (!credentials.password || !credentials.password.length) {
324
333
  return reject({
325
- message: 'Password was not provided',
334
+ message: 'A password is required to log in',
326
335
  })
327
336
  }
328
337
 
@@ -332,6 +341,15 @@ var QikAuth = function(qik) {
332
341
  bypassInterceptor: true
333
342
  }
334
343
 
344
+ // Check if we're in cookie mode
345
+ const isCookieMode = storageAdapter.isCookieMode &amp;&amp; storageAdapter.isCookieMode();
346
+
347
+ if (isCookieMode) {
348
+ // Signal to backend that we want cookie-based auth
349
+ credentials.useCookies = true;
350
+ postOptions.withCredentials = true;
351
+ }
352
+
335
353
  /////////////////////////////////////////////
336
354
 
337
355
  var url = `${qik.apiURL}/user/login`;
@@ -349,7 +367,6 @@ var QikAuth = function(qik) {
349
367
 
350
368
  if (autoAuthenticate) {
351
369
  service.set(res.data);
352
-
353
370
  }
354
371
 
355
372
  resolve(res);
@@ -388,44 +405,44 @@ var QikAuth = function(qik) {
388
405
 
389
406
  if (!credentials) {
390
407
  return reject({
391
- message: 'No details provided',
408
+ message: 'Signup details are required',
392
409
  })
393
410
  }
394
411
 
395
412
  if (!credentials.firstName || !credentials.firstName.length) {
396
413
  return reject({
397
- message: 'First Name was not provided',
414
+ message: 'Please provide a first name',
398
415
  })
399
416
  }
400
417
 
401
418
  if (!credentials.lastName || !credentials.lastName.length) {
402
419
  return reject({
403
- message: 'Last Name was not provided',
420
+ message: 'Please provide a last name',
404
421
  })
405
422
  }
406
423
 
407
424
  if (!credentials.email || !credentials.email.length) {
408
425
  return reject({
409
- message: 'Email/Username was not provided',
426
+ message: 'An email address is required to sign up',
410
427
  })
411
428
  }
412
429
 
413
430
 
414
431
  if (!credentials.password || !credentials.password.length) {
415
432
  return reject({
416
- message: 'Password was not provided',
433
+ message: 'A password is required to sign up',
417
434
  })
418
435
  }
419
436
 
420
437
  if (!credentials.confirmPassword || !credentials.confirmPassword.length) {
421
438
  return reject({
422
- message: 'Confirm Password was not provided',
439
+ message: 'Please confirm your password',
423
440
  })
424
441
  }
425
442
 
426
443
  if (credentials.confirmPassword != credentials.password) {
427
444
  return reject({
428
- message: 'Your passwords do not match',
445
+ message: 'Password and confirmation do not match',
429
446
  })
430
447
  }
431
448
 
@@ -435,6 +452,15 @@ var QikAuth = function(qik) {
435
452
  bypassInterceptor: true
436
453
  }
437
454
 
455
+ // Check if we're in cookie mode
456
+ const isCookieMode = storageAdapter.isCookieMode &amp;&amp; storageAdapter.isCookieMode();
457
+
458
+ if (isCookieMode) {
459
+ // Signal to backend that we want cookie-based auth
460
+ credentials.useCookies = true;
461
+ postOptions.withCredentials = true;
462
+ }
463
+
438
464
  /////////////////////////////////////////////
439
465
 
440
466
  var url = `${qik.apiURL}/user/signup`;
@@ -585,13 +611,13 @@ var QikAuth = function(qik) {
585
611
 
586
612
  if (!details) {
587
613
  return Promise.reject({
588
- message: 'No details were provided for password reset request',
614
+ message: 'Please provide your account details to reset your password',
589
615
  })
590
616
  }
591
617
 
592
618
  if (!details.email || !details.email.length) {
593
619
  return Promise.reject({
594
- message: 'Email is required but was not provided',
620
+ message: 'An email address is required for password reset',
595
621
  })
596
622
  }
597
623
 
@@ -625,18 +651,29 @@ var QikAuth = function(qik) {
625
651
 
626
652
  var currentUser = service.getCurrentUser();
627
653
  if (!currentUser) {
628
-
629
654
  return Promise.reject('No user');
630
655
  }
631
656
 
657
+ // Check if we're in cookie mode
658
+ const isCookieMode = storageAdapter.isCookieMode &amp;&amp; storageAdapter.isCookieMode();
659
+
660
+ if (isCookieMode) {
661
+ // In cookie mode, we can't check token expiry from JavaScript
662
+ // Just attempt a refresh if forced, otherwise let the server handle it
663
+ if (forceRefresh) {
664
+ return await service.refreshAccessToken();
665
+ } else {
666
+ // Return a placeholder - server will handle token validation
667
+ return 'cookie_mode_token';
668
+ }
669
+ }
670
+
671
+ // localStorage mode - existing token validation logic
632
672
  var { token } = currentUser;
633
673
  if (!token) {
634
-
635
674
  return Promise.reject('No token');
636
675
  }
637
676
 
638
- /////////////////////////////////////////////////////
639
-
640
677
  //Check our date
641
678
  var now = new Date();
642
679
 
@@ -644,25 +681,18 @@ var QikAuth = function(qik) {
644
681
  //retiring the token
645
682
  now.setSeconds(now.getSeconds() + tokenBufferSeconds);
646
683
 
647
- /////////////////////////////////////////////////////
648
-
649
684
  var expires = new Date(token.expires);
650
685
 
651
686
  if (forceRefresh) {
652
- console.log('force refresh valid token', token.refreshToken)
653
687
  return await service.refreshAccessToken(token.refreshToken);
654
688
  }
655
689
 
656
690
  //If the token is still fresh
657
691
  if (now &lt; expires) {
658
-
659
692
  return token;
660
693
  } else {
661
-
662
694
  return await service.refreshAccessToken(token.refreshToken);
663
695
  }
664
-
665
-
666
696
  }
667
697
 
668
698
  ///////////////////////////////////////////////////
@@ -671,78 +701,77 @@ var QikAuth = function(qik) {
671
701
 
672
702
  service.refreshAccessToken = async function(refreshToken) {
673
703
 
674
- // /////////////////////////////////////////////
675
-
676
- // if (appContext) {
677
-
678
- // } else {
679
-
680
- // }
681
-
682
- // /////////////////////////////////////////////
683
-
684
704
  //If there is already a request in progress
685
705
  if (refreshContext.inflightRefreshRequest) {
686
-
687
706
  return refreshContext.inflightRefreshRequest;
688
707
  }
689
708
 
690
709
  /////////////////////////////////////////////////////
691
710
 
692
- //Create an refresh request
711
+ // Check if we're in cookie mode
712
+ const isCookieMode = storageAdapter.isCookieMode &amp;&amp; storageAdapter.isCookieMode();
693
713
 
714
+ //Create a refresh request
694
715
  refreshContext.inflightRefreshRequest = new Promise(function(resolve, reject) {
695
716
 
696
- //Bypass the interceptor on all token refresh calls
697
- //Because we don't need to add the access token etc onto it
717
+ let requestBody = {};
718
+ let requestOptions = {
719
+ bypassInterceptor: true,
720
+ withoutToken: true,
721
+ };
698
722
 
699
- qik.api.post(`/user/refresh`, {
700
- refreshToken: refreshToken
701
- }, {
702
- bypassInterceptor: true,
703
- withoutToken: true,
704
- })
723
+ if (isCookieMode) {
724
+ // In cookie mode, refresh token is sent via httpOnly cookie
725
+ // No need to include it in the request body
726
+ requestOptions.withCredentials = true;
727
+ } else {
728
+ // In localStorage mode, send refresh token in request body
729
+ if (!refreshToken) {
730
+ refreshContext.inflightRefreshRequest = null;
731
+ return reject(new Error('No refresh token provided for localStorage mode'));
732
+ }
733
+ requestBody.refreshToken = refreshToken;
734
+ }
735
+
736
+ qik.api.post(`/user/refresh`, requestBody, requestOptions)
705
737
  .then(function tokenRefreshComplete(res) {
706
738
 
707
739
  //Update the user with any changes
708
740
  //returned back from the refresh request
709
- if (!res) {
710
-
741
+ if (!res || !res.data) {
711
742
  refreshContext.inflightRefreshRequest = null;
712
- return reject();
713
-
714
- } else {
715
- //Update with our new session
716
- service.set(res.data);
743
+ return reject(new Error('Invalid refresh response'));
744
+ }
717
745
 
746
+ //Update with our new session
747
+ service.set(res.data);
748
+ dispatch();
718
749
 
719
- dispatch();
750
+ // Return appropriate response based on mode
751
+ if (isCookieMode) {
752
+ // In cookie mode, just indicate success - tokens are in cookies
753
+ resolve('cookie_token_refreshed');
754
+ } else {
755
+ // In localStorage mode, return the actual access token
756
+ const newToken = res.data.token?.accessToken;
757
+ if (newToken) {
758
+ resolve(newToken);
759
+ } else {
760
+ reject(new Error('No access token in refresh response'));
761
+ }
720
762
  }
721
763
 
722
- //Resolve with the new token
723
- resolve(res.data.token);
724
-
725
764
  //Remove the inflight request
726
765
  setTimeout(function() {
727
766
  refreshContext.inflightRefreshRequest = null;
728
- })
729
-
767
+ });
730
768
 
731
769
  })
732
770
  .catch(function(err) {
733
-
734
-
735
- //TODO Check if invalid_refresh_token
736
-
737
-
738
-
739
771
  setTimeout(function() {
740
772
  refreshContext.inflightRefreshRequest = null;
741
773
  });
742
774
  reject(err);
743
-
744
-
745
-
746
775
  });
747
776
  });
748
777
 
@@ -752,8 +781,6 @@ var QikAuth = function(qik) {
752
781
 
753
782
  ///////////////////////////////////////////////////
754
783
 
755
- var retryCount = 0;
756
-
757
784
  /**
758
785
  * @alias auth.sync
759
786
  * @description A useful function to sync the current user session with the server.
@@ -767,33 +794,28 @@ var QikAuth = function(qik) {
767
794
  return qik.api.get('/user')
768
795
  .then(function(res) {
769
796
 
770
-
771
797
  if (res.data) {
772
- if (store.user) {
773
- Object.assign(store.user.session, res.data);
798
+ const currentUser = storageAdapter.getUser();
799
+ if (currentUser) {
800
+ const updatedUser = { ...currentUser };
801
+ if (updatedUser.session) {
802
+ Object.assign(updatedUser.session, res.data);
803
+ } else {
804
+ updatedUser.session = res.data;
805
+ }
806
+ service.set(updatedUser);
807
+ } else {
808
+ service.set(res.data);
774
809
  }
775
810
  } else {
776
811
  service.set(null);
777
812
  }
778
813
 
779
-
780
- retryCount = 0;
781
-
782
814
  dispatch();
783
815
  })
784
816
  .catch(function(err) {
785
-
786
- // if (retryCount > 2) {
787
817
  service.set(null);
788
- retryCount = 0;
789
818
  dispatch();
790
- // } else {
791
-
792
- // retryCount++;
793
- // service.sync();
794
- // }
795
-
796
-
797
819
  });
798
820
  }
799
821
 
@@ -807,7 +829,7 @@ var QikAuth = function(qik) {
807
829
  * const me = sdk.auth.getCurrentUser();
808
830
  */
809
831
  service.getCurrentUser = function() {
810
- return store.user;
832
+ return storageAdapter.getUser();
811
833
  }
812
834
 
813
835
 
@@ -821,7 +843,13 @@ var QikAuth = function(qik) {
821
843
  */
822
844
  service.getCurrentToken = function() {
823
845
 
846
+ // First try to get token from storage adapter
847
+ var accessToken = storageAdapter.getAccessToken();
848
+ if (accessToken) {
849
+ return accessToken;
850
+ }
824
851
 
852
+ // For localStorage mode, check user object for token
825
853
  var user = service.getCurrentUser();
826
854
 
827
855
  //User is not logged in
@@ -863,7 +891,21 @@ var QikAuth = function(qik) {
863
891
 
864
892
  //////////////////////////////
865
893
 
866
- var userDetails = await service.getCurrentUser();
894
+ // Check if we're in cookie mode
895
+ const isCookieMode = storageAdapter.isCookieMode &amp;&amp; storageAdapter.isCookieMode();
896
+
897
+ if (isCookieMode) {
898
+ // In cookie mode, browser automatically includes httpOnly cookies
899
+ // We don't need to manually add Authorization headers or handle token refresh
900
+ // Just ensure withCredentials is set for cross-origin requests
901
+ if (!originalRequest.withCredentials) {
902
+ originalRequest.withCredentials = true;
903
+ }
904
+ return originalRequest;
905
+ }
906
+
907
+ // localStorage mode - existing logic for manual token management
908
+ var userDetails = service.getCurrentUser();
867
909
  var accessToken;
868
910
  var refreshToken;
869
911
  var expiryDate;
@@ -883,11 +925,8 @@ var QikAuth = function(qik) {
883
925
  if (accessToken) {
884
926
  //Set the token of the request as the user's access token
885
927
  originalRequest.headers['Authorization'] = `Bearer ${accessToken}`;
886
-
887
-
888
928
  } else {
889
929
  //Return the original request without a token
890
-
891
930
  return originalRequest;
892
931
  }
893
932
 
@@ -895,8 +934,6 @@ var QikAuth = function(qik) {
895
934
 
896
935
  //If no refresh token
897
936
  if (!refreshToken) {
898
-
899
-
900
937
  //Continue with the original request
901
938
  return originalRequest;
902
939
  }
@@ -979,7 +1016,8 @@ var QikAuth = function(qik) {
979
1016
  }
980
1017
 
981
1018
 
982
- export default QikAuth;</code></pre>
1019
+ export default QikAuth;
1020
+ </code></pre>
983
1021
  </article>
984
1022
  </section>
985
1023
 
@@ -993,7 +1031,7 @@ export default QikAuth;</code></pre>
993
1031
  <br class="clear">
994
1032
 
995
1033
  <footer>
996
- Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a> on Thu Sep 28 2023 07:24:39 GMT+1000 (Australian Eastern Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
1034
+ Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.6.11</a> on Mon Jun 01 2026 23:37:17 GMT+1000 (Australian Eastern Standard Time) using the <a href="https://github.com/clenemt/docdash">docdash</a> theme.
997
1035
  </footer>
998
1036
 
999
1037
  <script>prettyPrint();</script>