@ndustrial/contxt-sdk 5.5.6 → 5.6.0

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 (233) hide show
  1. package/.nvmrc +1 -1
  2. package/CHANGELOG.md +6 -0
  3. package/eslint.config.mjs +44 -0
  4. package/esm/bus/channels.js +1883 -216
  5. package/esm/bus/channels.js.map +1 -1
  6. package/esm/bus/index.browser.js +218 -37
  7. package/esm/bus/index.browser.js.map +1 -1
  8. package/esm/bus/index.js +906 -94
  9. package/esm/bus/index.js.map +1 -1
  10. package/esm/bus/webSocketConnection.browser.js +86 -12
  11. package/esm/bus/webSocketConnection.browser.js.map +1 -1
  12. package/esm/bus/webSocketConnection.js +2464 -332
  13. package/esm/bus/webSocketConnection.js.map +1 -1
  14. package/esm/config/audiences.js +37 -1
  15. package/esm/config/audiences.js.map +1 -1
  16. package/esm/config/defaults.js +37 -1
  17. package/esm/config/defaults.js.map +1 -1
  18. package/esm/config/index.js +1622 -203
  19. package/esm/config/index.js.map +1 -1
  20. package/esm/coordinator/applications.js +1019 -172
  21. package/esm/coordinator/applications.js.map +1 -1
  22. package/esm/coordinator/consent.js +603 -76
  23. package/esm/coordinator/consent.js.map +1 -1
  24. package/esm/coordinator/edgeNodes.js +520 -40
  25. package/esm/coordinator/edgeNodes.js.map +1 -1
  26. package/esm/coordinator/index.js +811 -54
  27. package/esm/coordinator/index.js.map +1 -1
  28. package/esm/coordinator/organizations.js +533 -60
  29. package/esm/coordinator/organizations.js.map +1 -1
  30. package/esm/coordinator/permissions.js +914 -107
  31. package/esm/coordinator/permissions.js.map +1 -1
  32. package/esm/coordinator/roles.js +2146 -258
  33. package/esm/coordinator/roles.js.map +1 -1
  34. package/esm/coordinator/users.js +3393 -484
  35. package/esm/coordinator/users.js.map +1 -1
  36. package/esm/events/index.js +2301 -393
  37. package/esm/events/index.js.map +1 -1
  38. package/esm/files/index.js +2053 -410
  39. package/esm/files/index.js.map +1 -1
  40. package/esm/index.js +1002 -148
  41. package/esm/index.js.map +1 -1
  42. package/esm/iot/feedTypes.js +188 -25
  43. package/esm/iot/feedTypes.js.map +1 -1
  44. package/esm/iot/feeds.js +420 -59
  45. package/esm/iot/feeds.js.map +1 -1
  46. package/esm/iot/fieldCategories.js +1172 -195
  47. package/esm/iot/fieldCategories.js.map +1 -1
  48. package/esm/iot/fieldGroupings.js +1689 -255
  49. package/esm/iot/fieldGroupings.js.map +1 -1
  50. package/esm/iot/fields.js +254 -28
  51. package/esm/iot/fields.js.map +1 -1
  52. package/esm/iot/index.js +212 -34
  53. package/esm/iot/index.js.map +1 -1
  54. package/esm/iot/outputs.js +320 -31
  55. package/esm/iot/outputs.js.map +1 -1
  56. package/esm/nionic/index.js +1097 -97
  57. package/esm/nionic/index.js.map +1 -1
  58. package/esm/request.js +1313 -221
  59. package/esm/request.js.map +1 -1
  60. package/esm/sessionTypes/auth0WebAuth.js +3395 -409
  61. package/esm/sessionTypes/auth0WebAuth.js.map +1 -1
  62. package/esm/sessionTypes/index.js +213 -22
  63. package/esm/sessionTypes/index.js.map +1 -1
  64. package/esm/sessionTypes/machineAuth.js +1314 -144
  65. package/esm/sessionTypes/machineAuth.js.map +1 -1
  66. package/esm/sessionTypes/passwordGrantAuth.js +1060 -145
  67. package/esm/sessionTypes/passwordGrantAuth.js.map +1 -1
  68. package/esm/utils/events/formatEventUpdateToServer.js +107 -4
  69. package/esm/utils/events/formatEventUpdateToServer.js.map +1 -1
  70. package/esm/utils/events/index.js +54 -2
  71. package/esm/utils/events/index.js.map +1 -1
  72. package/esm/utils/iot/formatOutputFieldDataFromServer.js +227 -14
  73. package/esm/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  74. package/esm/utils/iot/index.js +56 -3
  75. package/esm/utils/iot/index.js.map +1 -1
  76. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js +207 -7
  77. package/esm/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  78. package/esm/utils/objects/createCaseChangeFn.js +449 -18
  79. package/esm/utils/objects/createCaseChangeFn.js.map +1 -1
  80. package/esm/utils/objects/index.js +56 -3
  81. package/esm/utils/objects/index.js.map +1 -1
  82. package/esm/utils/objects/map.js +520 -26
  83. package/esm/utils/objects/map.js.map +1 -1
  84. package/esm/utils/objects/toCamelCase.js +39 -3
  85. package/esm/utils/objects/toCamelCase.js.map +1 -1
  86. package/esm/utils/objects/toSnakeCase.js +39 -3
  87. package/esm/utils/objects/toSnakeCase.js.map +1 -1
  88. package/esm/utils/pagination/formatPaginatedDataFromServer.js +268 -11
  89. package/esm/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  90. package/esm/utils/pagination/index.js +54 -2
  91. package/esm/utils/pagination/index.js.map +1 -1
  92. package/esm/utils/url/index.js +47 -2
  93. package/esm/utils/url/index.js.map +1 -1
  94. package/esm/utils/url/stringifyParams.js +176 -10
  95. package/esm/utils/url/stringifyParams.js.map +1 -1
  96. package/lib/bus/channels.js +1880 -223
  97. package/lib/bus/channels.js.map +1 -1
  98. package/lib/bus/index.browser.js +215 -43
  99. package/lib/bus/index.browser.js.map +1 -1
  100. package/lib/bus/index.js +903 -106
  101. package/lib/bus/index.js.map +1 -1
  102. package/lib/bus/webSocketConnection.browser.js +83 -15
  103. package/lib/bus/webSocketConnection.browser.js.map +1 -1
  104. package/lib/bus/webSocketConnection.js +2461 -339
  105. package/lib/bus/webSocketConnection.js.map +1 -1
  106. package/lib/config/audiences.js +33 -2
  107. package/lib/config/audiences.js.map +1 -1
  108. package/lib/config/defaults.js +33 -2
  109. package/lib/config/defaults.js.map +1 -1
  110. package/lib/config/index.js +1619 -212
  111. package/lib/config/index.js.map +1 -1
  112. package/lib/coordinator/applications.js +1016 -174
  113. package/lib/coordinator/applications.js.map +1 -1
  114. package/lib/coordinator/consent.js +600 -78
  115. package/lib/coordinator/consent.js.map +1 -1
  116. package/lib/coordinator/edgeNodes.js +517 -42
  117. package/lib/coordinator/edgeNodes.js.map +1 -1
  118. package/lib/coordinator/index.js +808 -78
  119. package/lib/coordinator/index.js.map +1 -1
  120. package/lib/coordinator/organizations.js +530 -62
  121. package/lib/coordinator/organizations.js.map +1 -1
  122. package/lib/coordinator/permissions.js +911 -109
  123. package/lib/coordinator/permissions.js.map +1 -1
  124. package/lib/coordinator/roles.js +2143 -260
  125. package/lib/coordinator/roles.js.map +1 -1
  126. package/lib/coordinator/users.js +3389 -489
  127. package/lib/coordinator/users.js.map +1 -1
  128. package/lib/events/index.js +2297 -404
  129. package/lib/events/index.js.map +1 -1
  130. package/lib/files/index.js +2050 -418
  131. package/lib/files/index.js.map +1 -1
  132. package/lib/index.js +999 -183
  133. package/lib/index.js.map +1 -1
  134. package/lib/iot/feedTypes.js +185 -27
  135. package/lib/iot/feedTypes.js.map +1 -1
  136. package/lib/iot/feeds.js +417 -61
  137. package/lib/iot/feeds.js.map +1 -1
  138. package/lib/iot/fieldCategories.js +1169 -203
  139. package/lib/iot/fieldCategories.js.map +1 -1
  140. package/lib/iot/fieldGroupings.js +1686 -263
  141. package/lib/iot/fieldGroupings.js.map +1 -1
  142. package/lib/iot/fields.js +251 -30
  143. package/lib/iot/fields.js.map +1 -1
  144. package/lib/iot/index.js +209 -55
  145. package/lib/iot/index.js.map +1 -1
  146. package/lib/iot/outputs.js +317 -34
  147. package/lib/iot/outputs.js.map +1 -1
  148. package/lib/nionic/index.js +1094 -98
  149. package/lib/nionic/index.js.map +1 -1
  150. package/lib/request.js +1310 -228
  151. package/lib/request.js.map +1 -1
  152. package/lib/sessionTypes/auth0WebAuth.js +3391 -421
  153. package/lib/sessionTypes/auth0WebAuth.js.map +1 -1
  154. package/lib/sessionTypes/index.js +209 -26
  155. package/lib/sessionTypes/index.js.map +1 -1
  156. package/lib/sessionTypes/machineAuth.js +1311 -151
  157. package/lib/sessionTypes/machineAuth.js.map +1 -1
  158. package/lib/sessionTypes/passwordGrantAuth.js +1057 -156
  159. package/lib/sessionTypes/passwordGrantAuth.js.map +1 -1
  160. package/lib/utils/events/formatEventUpdateToServer.js +102 -4
  161. package/lib/utils/events/formatEventUpdateToServer.js.map +1 -1
  162. package/lib/utils/events/index.js +51 -10
  163. package/lib/utils/events/index.js.map +1 -1
  164. package/lib/utils/iot/formatOutputFieldDataFromServer.js +224 -18
  165. package/lib/utils/iot/formatOutputFieldDataFromServer.js.map +1 -1
  166. package/lib/utils/iot/index.js +53 -15
  167. package/lib/utils/iot/index.js.map +1 -1
  168. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js +203 -13
  169. package/lib/utils/iot/parseOutputFieldNextPageUrlMetadata.js.map +1 -1
  170. package/lib/utils/objects/createCaseChangeFn.js +446 -25
  171. package/lib/utils/objects/createCaseChangeFn.js.map +1 -1
  172. package/lib/utils/objects/index.js +53 -15
  173. package/lib/utils/objects/index.js.map +1 -1
  174. package/lib/utils/objects/map.js +517 -33
  175. package/lib/utils/objects/map.js.map +1 -1
  176. package/lib/utils/objects/toCamelCase.js +36 -11
  177. package/lib/utils/objects/toCamelCase.js.map +1 -1
  178. package/lib/utils/objects/toSnakeCase.js +36 -11
  179. package/lib/utils/objects/toSnakeCase.js.map +1 -1
  180. package/lib/utils/pagination/formatPaginatedDataFromServer.js +265 -14
  181. package/lib/utils/pagination/formatPaginatedDataFromServer.js.map +1 -1
  182. package/lib/utils/pagination/index.js +51 -10
  183. package/lib/utils/pagination/index.js.map +1 -1
  184. package/lib/utils/url/index.js +44 -7
  185. package/lib/utils/url/index.js.map +1 -1
  186. package/lib/utils/url/stringifyParams.js +172 -18
  187. package/lib/utils/url/stringifyParams.js.map +1 -1
  188. package/package.json +31 -35
  189. package/src/bus/channels.js +6 -6
  190. package/src/bus/channels.spec.js +1 -1
  191. package/src/coordinator/applications.js +7 -7
  192. package/src/coordinator/applications.spec.js +1 -1
  193. package/src/coordinator/consent.js +3 -3
  194. package/src/coordinator/edgeNodes.js +3 -3
  195. package/src/coordinator/edgeNodes.spec.js +1 -1
  196. package/src/coordinator/organizations.js +4 -4
  197. package/src/coordinator/organizations.spec.js +1 -1
  198. package/src/coordinator/permissions.js +6 -6
  199. package/src/coordinator/permissions.spec.js +1 -1
  200. package/src/coordinator/roles.js +9 -9
  201. package/src/coordinator/roles.spec.js +1 -1
  202. package/src/coordinator/users.js +12 -12
  203. package/src/coordinator/users.spec.js +1 -1
  204. package/src/events/index.js +18 -18
  205. package/src/events/index.spec.js +3 -3
  206. package/src/files/index.js +9 -9
  207. package/src/files/index.spec.js +2 -2
  208. package/src/index.js +3 -1
  209. package/src/iot/feedTypes.js +2 -2
  210. package/src/iot/feeds.js +4 -4
  211. package/src/iot/feeds.spec.js +1 -1
  212. package/src/iot/fieldCategories.js +10 -10
  213. package/src/iot/fieldCategories.spec.js +2 -2
  214. package/src/iot/fieldGroupings.js +10 -10
  215. package/src/iot/fieldGroupings.spec.js +2 -2
  216. package/src/iot/fields.js +2 -2
  217. package/src/iot/fields.spec.js +1 -1
  218. package/src/iot/outputs.js +2 -2
  219. package/src/iot/outputs.spec.js +1 -1
  220. package/src/request.js +2 -4
  221. package/src/request.spec.js +1 -1
  222. package/src/sessionTypes/auth0WebAuth.spec.js +1 -1
  223. package/src/utils/events/index.js +2 -1
  224. package/src/utils/iot/formatOutputFieldDataFromServer.js +5 -5
  225. package/src/utils/iot/formatOutputFieldDataFromServer.spec.js +2 -2
  226. package/src/utils/iot/index.js +2 -1
  227. package/src/utils/iot/parseOutputFieldNextPageUrlMetadata.js +3 -1
  228. package/src/utils/objects/index.js +2 -1
  229. package/src/utils/pagination/formatPaginatedDataFromServer.js +3 -3
  230. package/src/utils/pagination/formatPaginatedDataFromServer.spec.js +1 -1
  231. package/src/utils/pagination/index.js +2 -1
  232. package/support/mocharc.yml +1 -1
  233. package/.eslintrc +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["coordinator/permissions.js"],"names":["toCamelCase","Permissions","sdk","request","baseUrl","organizationId","_baseUrl","_request","_sdk","_organizationId","get","then","userPermissions","Promise","reject","Error","userId"],"mappings":";;;;AAAA,SAASA,WAAT,QAA4B,kBAA5B;;AAEA;;;;;;;;;;AAUA;;;;;;IAKMC,W;AACJ;;;;;;AAMA,uBAAYC,GAAZ,EAAiBC,OAAjB,EAA0BC,OAA1B,EAA0D;AAAA,QAAvBC,cAAuB,uEAAN,IAAM;;AAAA;;AACxD,SAAKC,QAAL,GAAgBF,OAAhB;AACA,SAAKG,QAAL,GAAgBJ,OAAhB;AACA,SAAKK,IAAL,GAAYN,GAAZ;AACA,SAAKO,eAAL,GAAuBJ,cAAvB;AACD;;AAED;;;;;;;;;;;;;;;;;;;;;;;2CAmBuBA,c,EAAgB;AACrC,UAAI,KAAKI,eAAT,EAA0B;AACxB,eAAO,KAAKF,QAAL,CACJG,GADI,CACG,KAAKJ,QADR,yBAEJK,IAFI,CAEC,UAACC,eAAD;AAAA,iBAAqBZ,YAAYY,eAAZ,CAArB;AAAA,SAFD,CAAP;AAGD;;AAED,UAAI,CAACP,cAAL,EAAqB;AACnB,eAAOQ,QAAQC,MAAR,CACL,IAAIC,KAAJ,CACE,kFADF,CADK,CAAP;AAKD;;AAED,aAAO,KAAKR,QAAL,CACJG,GADI,CACG,KAAKJ,QADR,uBACkCD,cADlC,yBAEJM,IAFI,CAEC,UAACC,eAAD;AAAA,eAAqBZ,YAAYY,eAAZ,CAArB;AAAA,OAFD,CAAP;AAGD;;AAED;;;;;;;;;;;;;;;;;;;;;;;2CAoBuBP,c,EAAgBW,M,EAAQ;AAC7C,UAAI,KAAKP,eAAT,EAA0B;AACxB,YAAI,CAACO,MAAL,EAAa;AACX,iBAAOH,QAAQC,MAAR,CACL,IAAIC,KAAJ,CACE,4EADF,CADK,CAAP;AAKD;;AAED,eAAO,KAAKR,QAAL,CACJG,GADI,CACG,KAAKJ,QADR,eAC0BU,MAD1B,mBAEJL,IAFI,CAEC,UAACC,eAAD;AAAA,iBAAqBZ,YAAYY,eAAZ,CAArB;AAAA,SAFD,CAAP;AAGD;;AAED,UAAI,CAACP,cAAL,EAAqB;AACnB,eAAOQ,QAAQC,MAAR,CACL,IAAIC,KAAJ,CACE,qFADF,CADK,CAAP;AAKD;;AAED,UAAI,CAACC,MAAL,EAAa;AACX,eAAOH,QAAQC,MAAR,CACL,IAAIC,KAAJ,CACE,4EADF,CADK,CAAP;AAKD;;AAED,aAAO,KAAKR,QAAL,CACJG,GADI,CAGD,KAAKJ,QAHJ,uBAIeD,cAJf,eAIuCW,MAJvC,mBAMJL,IANI,CAMC,UAACC,eAAD;AAAA,eAAqBZ,YAAYY,eAAZ,CAArB;AAAA,OAND,CAAP;AAOD;;AAED;;;;;;;;;;;;;;;;;;;;;;;;gCAqBYI,M,EAAQ;AAClB,UAAI,CAACA,MAAL,EAAa;AACX,eAAOH,QAAQC,MAAR,CACL,IAAIC,KAAJ,CACE,8EADF,CADK,CAAP;AAKD;;AAED;AACA;AACA,aAAO,KAAKR,QAAL,CAAcG,GAAd,CAAqB,KAAKJ,QAA1B,eAA4CU,MAA5C,kBAAP;AACD;;;;;;AAGH,eAAef,WAAf","file":"permissions.js","sourcesContent":["import { toCamelCase } from '../utils/objects';\n\n/**\n * @typedef {Object} ContxtUserPermissions\n * @property {number[]} applicationsExplicit Application ids the user has directly been given access to\n * @property {number[]} applicationsImplicit Application ids the user has access to from a role or being the owner\n * @property {string[]} roles Role ids that the user belongs to\n * @property {number[]} projectsExplicit Project ids the user has directly been given access to\n * @property {number[]} projectsImplicit Project ids the user has access to from a role or being the owner\n * @property {string} userId\n */\n\n/**\n * Module that provides access to contxt user permissions\n *\n * @typicalname contxtSdk.coordinator.permissions\n */\nclass Permissions {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n * @param {string} baseUrl The base URL provided by the parent module\n * @param {string} [organizationId] The organization ID to be used in tenant url requests\n */\n constructor(sdk, request, baseUrl, organizationId = null) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n this._organizationId = organizationId;\n }\n\n /**\n * Gets a list of user permissions for each user in an organization\n *\n * Legacy API Endpoint: '/organizations/:organizationId/users/permissions'\n * API Endpoint: '/users/permissions/'\n * Method: GET\n *\n * @param {string} organizationId The ID of the organization, optional when using the tenant API and an organization ID has been set\n *\n * @returns {Promise}\n * @fulfill {ContxtUserPermissions[]} A collection of user permissions\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')\n * .then((usersPermissions) => console.log(usersPermissions))\n * .catch((err) => console.log(err));\n */\n getAllByOrganizationId(organizationId) {\n if (this._organizationId) {\n return this._request\n .get(`${this._baseUrl}/users/permissions`)\n .then((userPermissions) => toCamelCase(userPermissions));\n }\n\n if (!organizationId) {\n return Promise.reject(\n new Error(\n 'An organization ID is required for getting users permissions for an organization'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/organizations/${organizationId}/users/permissions`)\n .then((userPermissions) => toCamelCase(userPermissions));\n }\n\n /**\n * Gets a single user's permissions within an organization\n *\n * Legacy API Endpoint: '/organizations/:organizationId/users/:userId/permissions'\n * API Endpoint: '/users/:userId/permissions'\n * Method: GET\n *\n * @param {string} organizationId The ID of the organization, optional when using the tenant API and an organization ID has been set\n * @param {string} userId The ID of the user\n *\n * @returns {Promise}\n * @fulfill {ContxtUserPermissions} A single user's permissions\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')\n * .then((usersPermissions) => console.log(usersPermissions))\n * .catch((err) => console.log(err));\n */\n getOneByOrganizationId(organizationId, userId) {\n if (this._organizationId) {\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/users/${userId}/permissions`)\n .then((userPermissions) => toCamelCase(userPermissions));\n }\n\n if (!organizationId) {\n return Promise.reject(\n new Error(\n \"An organization ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/users/${userId}/permissions`\n )\n .then((userPermissions) => toCamelCase(userPermissions));\n }\n\n /**\n * Gets a map of permission scopes to which the user has access\n *\n * API Endpoint: '/users/:userId/permissions'\n * Method: GET\n *\n * @param {string} userId The ID of the user\n *\n * @returns {Promise}\n * @fulfill {Object.<string, string[]>} A map of user permissions where the\n * key corresponds to a service ID (i.e. the ID generated by Auth0) and the\n * value is an array of permission scopes that are managed by Contxt (e.g.\n * `read:facilities` and `write:facilities`)\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getByUserId('auth0|12345')\n * .then((permissionsMap) => console.log(permissionsMap))\n * .catch((err) => console.log(err));\n */\n getByUserId(userId) {\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting information about a user's permissions map\"\n )\n );\n }\n\n // NOTE: This response is not run through the `toCamelCase` method because\n // it could errantly remove underscores from service IDs.\n return this._request.get(`${this._baseUrl}/users/${userId}/permissions`);\n }\n}\n\nexport default Permissions;\n"]}
1
+ {"version":3,"file":"permissions.js","names":["_objects","_interopRequireDefault","require","e","__esModule","default","cov_2rafwvh61v","path","hash","global","Function","gcv","coverageData","statementMap","start","line","column","end","fnMap","name","decl","loc","branchMap","type","locations","undefined","s","f","b","_coverageSchema","coverage","actualCoverage","Permissions","constructor","sdk","request","baseUrl","organizationId","arguments","length","_baseUrl","_request","_sdk","_organizationId","getAllByOrganizationId","get","then","userPermissions","ObjectUtils","toCamelCase","Promise","reject","Error","getOneByOrganizationId","userId","getByUserId","_default","exports"],"sources":["coordinator/permissions.js"],"sourcesContent":["import ObjectUtils from '../utils/objects';\n\n/**\n * @typedef {Object} ContxtUserPermissions\n * @property {number[]} applicationsExplicit Application ids the user has directly been given access to\n * @property {number[]} applicationsImplicit Application ids the user has access to from a role or being the owner\n * @property {string[]} roles Role ids that the user belongs to\n * @property {number[]} projectsExplicit Project ids the user has directly been given access to\n * @property {number[]} projectsImplicit Project ids the user has access to from a role or being the owner\n * @property {string} userId\n */\n\n/**\n * Module that provides access to contxt user permissions\n *\n * @typicalname contxtSdk.coordinator.permissions\n */\nclass Permissions {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate with other modules\n * @param {Object} request An instance of the request module tied to this module's audience.\n * @param {string} baseUrl The base URL provided by the parent module\n * @param {string} [organizationId] The organization ID to be used in tenant url requests\n */\n constructor(sdk, request, baseUrl, organizationId = null) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n this._organizationId = organizationId;\n }\n\n /**\n * Gets a list of user permissions for each user in an organization\n *\n * Legacy API Endpoint: '/organizations/:organizationId/users/permissions'\n * API Endpoint: '/users/permissions/'\n * Method: GET\n *\n * @param {string} organizationId The ID of the organization, optional when using the tenant API and an organization ID has been set\n *\n * @returns {Promise}\n * @fulfill {ContxtUserPermissions[]} A collection of user permissions\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getAllByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b')\n * .then((usersPermissions) => console.log(usersPermissions))\n * .catch((err) => console.log(err));\n */\n getAllByOrganizationId(organizationId) {\n if (this._organizationId) {\n return this._request\n .get(`${this._baseUrl}/users/permissions`)\n .then((userPermissions) => ObjectUtils.toCamelCase(userPermissions));\n }\n\n if (!organizationId) {\n return Promise.reject(\n new Error(\n 'An organization ID is required for getting users permissions for an organization'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/organizations/${organizationId}/users/permissions`)\n .then((userPermissions) => ObjectUtils.toCamelCase(userPermissions));\n }\n\n /**\n * Gets a single user's permissions within an organization\n *\n * Legacy API Endpoint: '/organizations/:organizationId/users/:userId/permissions'\n * API Endpoint: '/users/:userId/permissions'\n * Method: GET\n *\n * @param {string} organizationId The ID of the organization, optional when using the tenant API and an organization ID has been set\n * @param {string} userId The ID of the user\n *\n * @returns {Promise}\n * @fulfill {ContxtUserPermissions} A single user's permissions\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getOneByOrganizationId('36b8421a-cc4a-4204-b839-1397374fb16b', 'auth0|12345')\n * .then((usersPermissions) => console.log(usersPermissions))\n * .catch((err) => console.log(err));\n */\n getOneByOrganizationId(organizationId, userId) {\n if (this._organizationId) {\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/users/${userId}/permissions`)\n .then((userPermissions) => ObjectUtils.toCamelCase(userPermissions));\n }\n\n if (!organizationId) {\n return Promise.reject(\n new Error(\n \"An organization ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting a user's permissions for an organization\"\n )\n );\n }\n\n return this._request\n .get(\n `${\n this._baseUrl\n }/organizations/${organizationId}/users/${userId}/permissions`\n )\n .then((userPermissions) => ObjectUtils.toCamelCase(userPermissions));\n }\n\n /**\n * Gets a map of permission scopes to which the user has access\n *\n * API Endpoint: '/users/:userId/permissions'\n * Method: GET\n *\n * @param {string} userId The ID of the user\n *\n * @returns {Promise}\n * @fulfill {Object.<string, string[]>} A map of user permissions where the\n * key corresponds to a service ID (i.e. the ID generated by Auth0) and the\n * value is an array of permission scopes that are managed by Contxt (e.g.\n * `read:facilities` and `write:facilities`)\n * @reject {Error}\n *\n * @example\n * contxtSdk.coordinator.permissions\n * .getByUserId('auth0|12345')\n * .then((permissionsMap) => console.log(permissionsMap))\n * .catch((err) => console.log(err));\n */\n getByUserId(userId) {\n if (!userId) {\n return Promise.reject(\n new Error(\n \"A user ID is required for getting information about a user's permissions map\"\n )\n );\n }\n\n // NOTE: This response is not run through the `ObjectUtils.toCamelCase` method because\n // it could errantly remove underscores from service IDs.\n return this._request.get(`${this._baseUrl}/users/${userId}/permissions`);\n }\n}\n\nexport default Permissions;\n"],"mappings":";;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA2C,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,eAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,IAAA;EAAA,IAAAC,MAAA,OAAAC,QAAA;EAAA,IAAAC,GAAA;EAAA,IAAAC,YAAA;IAAAL,IAAA;IAAAM,YAAA;MAAA;QAAAC,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,MAAA;QAAA;MAAA;MAAA;QAAAF,KAAA;UAAAC,IAAA;UAAAC,MAAA;QAAA;QAAAC,GAAA;UAAAF,IAAA;UAAAC,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","ignoreList":[]}