@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":["iot/fieldCategories.js"],"names":["FieldCategories","sdk","request","baseUrl","_baseUrl","_request","_sdk","fieldCategory","requiredFields","i","length","field","Promise","reject","Error","formattedCategory","post","then","categoryId","delete","get","paginationOptions","params","fieldCategories","facilityId","update","formattedUpdate","excludeKeys","put"],"mappings":"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","file":"fieldCategories.js","sourcesContent":["import isPlainObject from 'lodash.isplainobject';\nimport { toCamelCase, toSnakeCase } from '../utils/objects';\nimport { formatPaginatedDataFromServer } from '../utils/pagination';\n\n/**\n * @typedef {Object} FieldCategory\n * @property {String} description\n * @property {String} id UUID\n * @property {String} name\n * @property {String} organizationId\n * @property {String} [parentCategoryId] UUID\n */\n\n/**\n * @typedef {Object} FieldCategoriesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of asset types found\n * @property {FieldCategory[]} records\n */\n\n/**\n * Module that provides access to field category information\n *\n * @typicalname contxtSdk.iot.fieldCategories\n */\nclass FieldCategories {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate\n * with other modules\n * @param {Object} request An instance of the request module tied to this\n * module's audience\n * @param {string} baseUrl The base URL provided by the parent module\n */\n constructor(sdk, request, baseUrl) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Create a field category\n *\n * API Endpoint: '/categories'\n * Method: POST\n *\n * @param {Object} fieldCategory\n * @param {string} fieldCategory.description\n * @param {string} fieldCategory.name\n * @param {string} fieldCategory.organizationId\n * @param {string} [fieldCategory.parentCategoryId]\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .create({\n * description: 'Compressors in Room 2',\n * name: 'Room 2',\n * organizationId: '8a3cb818-0889-4674-b871-7ceadaecd26a',\n * parentCategoryId: 'e9f8f89c-609c-4c83-8ebc-cea928af661e'\n * })\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n create(fieldCategory) {\n const requiredFields = ['name', 'description', 'organizationId'];\n\n for (let i = 0; requiredFields.length > i; i++) {\n const field = requiredFields[i];\n if (!fieldCategory[field]) {\n return Promise.reject(\n new Error(`A ${field} is required to create a new field category.`)\n );\n }\n }\n\n const formattedCategory = toSnakeCase(fieldCategory);\n\n return this._request\n .post(`${this._baseUrl}/categories`, formattedCategory)\n .then((fieldCategory) => toCamelCase(fieldCategory));\n }\n\n /**\n * Deletes a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: DELETE\n *\n * @param {String} categoryId The UUID of a field category\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .delete('b3dbaae3-25dd-475b-80dc-66296630a8d0');\n */\n delete(categoryId) {\n if (!categoryId) {\n return Promise.reject(\n new Error('A categoryId is required for deleting a field category.')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/categories/${categoryId}`);\n }\n\n /**\n * Gets information about a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: GET\n *\n * @param {String} categoryId The UUID of a field category\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .get('b3dbaae3-25dd-475b-80dc-66296630a8d0')\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n get(categoryId) {\n if (!categoryId) {\n return Promise.reject(\n new Error(\n 'A categoryId is required for getting information about a field category.'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/categories/${categoryId}`)\n .then((fieldCategory) => toCamelCase(fieldCategory));\n }\n\n /**\n * Get a listing of all field categories available to the user.\n *\n * API Endpoint: '/categories'\n * Method: GET\n *\n * @param {PaginationOptions} [paginationOptions]\n *\n * @returns {Promise}\n * @fulfill {FieldCategoriesFromServer} Information about the field categories\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .getAll()\n * .then((fieldCategories) => console.log(fieldCategories))\n * .catch((err) => console.log(err));\n */\n getAll(paginationOptions) {\n return this._request\n .get(`${this._baseUrl}/categories`, {\n params: toSnakeCase(paginationOptions)\n })\n .then((fieldCategories) =>\n formatPaginatedDataFromServer(fieldCategories)\n );\n }\n\n /**\n * Get a listing of all field categories for a given facility ID.\n *\n * API Endpoint: '/facilities/:facilityId/categories'\n * Method: GET\n *\n * @param {String} facilityId\n *\n * @returns {Promise}\n * @fulfill {FieldCategory[]} Information about the field categories\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .getAllByFacility(187)\n * .then((fieldCategories) => console.log(fieldCategories))\n * .catch((err) => console.log(err));\n */\n getAllByFacility(facilityId) {\n if (!facilityId) {\n return Promise.reject(\n new Error(\n 'A facilityId is required for getting field categories by facility.'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/facilities/${facilityId}/categories`)\n .then((fieldCategories) => toCamelCase(fieldCategories));\n }\n\n /**\n * Updates information about a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: PUT\n *\n * @param {String} categoryId The UUID of a field category\n * @param {Object} update\n * @param {string} [update.description]\n * @param {string} [update.name]\n * @param {string} [update.parentCategoryId]\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .update('b3dbaae3-25dd-475b-80dc-66296630a8d0', {\n * description: 'Power usage from all compressors in Room 2',\n * parentCategoryId: 'e9f8f89c-609c-4c83-8ebc-cea928af661e',\n * name: 'Room 2 Compressors'\n * })\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n update(categoryId, update) {\n if (!categoryId) {\n return Promise.reject(\n new Error(\n 'A categoryId is required for updating information about a field category.'\n )\n );\n }\n\n if (!update) {\n return Promise.reject(\n new Error('An update is required to update a field category')\n );\n }\n\n if (!isPlainObject(update)) {\n return Promise.reject(\n new Error(\n 'The field category update must be a well-formed object with the data you wish to update.'\n )\n );\n }\n\n const formattedUpdate = toSnakeCase(update, {\n excludeKeys: ['id', 'organizationId']\n });\n\n return this._request\n .put(`${this._baseUrl}/categories/${categoryId}`, formattedUpdate)\n .then((fieldCategory) => toCamelCase(fieldCategory));\n }\n}\n\nexport default FieldCategories;\n"]}
1
+ {"version":3,"file":"fieldCategories.js","names":["_lodash","_interopRequireDefault","require","_objects","_pagination","e","__esModule","default","cov_23vzckr7l5","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","FieldCategories","constructor","sdk","request","baseUrl","_baseUrl","_request","_sdk","create","fieldCategory","requiredFields","i","length","field","Promise","reject","Error","formattedCategory","ObjectUtils","toSnakeCase","post","then","toCamelCase","delete","categoryId","get","getAll","paginationOptions","params","fieldCategories","PaginationUtils","formatPaginatedDataFromServer","getAllByFacility","facilityId","update","isPlainObject","formattedUpdate","excludeKeys","put","_default","exports"],"sources":["iot/fieldCategories.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\nimport ObjectUtils from '../utils/objects';\nimport PaginationUtils from '../utils/pagination';\n\n/**\n * @typedef {Object} FieldCategory\n * @property {String} description\n * @property {String} id UUID\n * @property {String} name\n * @property {String} organizationId\n * @property {String} [parentCategoryId] UUID\n */\n\n/**\n * @typedef {Object} FieldCategoriesFromServer\n * @property {Object} _metadata Metadata about the pagination settings\n * @property {number} _metadata.offset Offset of records in subsequent queries\n * @property {number} _metadata.totalRecords Total number of asset types found\n * @property {FieldCategory[]} records\n */\n\n/**\n * Module that provides access to field category information\n *\n * @typicalname contxtSdk.iot.fieldCategories\n */\nclass FieldCategories {\n /**\n * @param {Object} sdk An instance of the SDK so the module can communicate\n * with other modules\n * @param {Object} request An instance of the request module tied to this\n * module's audience\n * @param {string} baseUrl The base URL provided by the parent module\n */\n constructor(sdk, request, baseUrl) {\n this._baseUrl = baseUrl;\n this._request = request;\n this._sdk = sdk;\n }\n\n /**\n * Create a field category\n *\n * API Endpoint: '/categories'\n * Method: POST\n *\n * @param {Object} fieldCategory\n * @param {string} fieldCategory.description\n * @param {string} fieldCategory.name\n * @param {string} fieldCategory.organizationId\n * @param {string} [fieldCategory.parentCategoryId]\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .create({\n * description: 'Compressors in Room 2',\n * name: 'Room 2',\n * organizationId: '8a3cb818-0889-4674-b871-7ceadaecd26a',\n * parentCategoryId: 'e9f8f89c-609c-4c83-8ebc-cea928af661e'\n * })\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n create(fieldCategory) {\n const requiredFields = ['name', 'description', 'organizationId'];\n\n for (let i = 0; requiredFields.length > i; i++) {\n const field = requiredFields[i];\n if (!fieldCategory[field]) {\n return Promise.reject(\n new Error(`A ${field} is required to create a new field category.`)\n );\n }\n }\n\n const formattedCategory = ObjectUtils.toSnakeCase(fieldCategory);\n\n return this._request\n .post(`${this._baseUrl}/categories`, formattedCategory)\n .then((fieldCategory) => ObjectUtils.toCamelCase(fieldCategory));\n }\n\n /**\n * Deletes a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: DELETE\n *\n * @param {String} categoryId The UUID of a field category\n *\n * @returns {Promise}\n * @fulfill {undefined}\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .delete('b3dbaae3-25dd-475b-80dc-66296630a8d0');\n */\n delete(categoryId) {\n if (!categoryId) {\n return Promise.reject(\n new Error('A categoryId is required for deleting a field category.')\n );\n }\n\n return this._request.delete(`${this._baseUrl}/categories/${categoryId}`);\n }\n\n /**\n * Gets information about a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: GET\n *\n * @param {String} categoryId The UUID of a field category\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .get('b3dbaae3-25dd-475b-80dc-66296630a8d0')\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n get(categoryId) {\n if (!categoryId) {\n return Promise.reject(\n new Error(\n 'A categoryId is required for getting information about a field category.'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/categories/${categoryId}`)\n .then((fieldCategory) => ObjectUtils.toCamelCase(fieldCategory));\n }\n\n /**\n * Get a listing of all field categories available to the user.\n *\n * API Endpoint: '/categories'\n * Method: GET\n *\n * @param {PaginationOptions} [paginationOptions]\n *\n * @returns {Promise}\n * @fulfill {FieldCategoriesFromServer} Information about the field categories\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .getAll()\n * .then((fieldCategories) => console.log(fieldCategories))\n * .catch((err) => console.log(err));\n */\n getAll(paginationOptions) {\n return this._request\n .get(`${this._baseUrl}/categories`, {\n params: ObjectUtils.toSnakeCase(paginationOptions)\n })\n .then((fieldCategories) =>\n PaginationUtils.formatPaginatedDataFromServer(fieldCategories)\n );\n }\n\n /**\n * Get a listing of all field categories for a given facility ID.\n *\n * API Endpoint: '/facilities/:facilityId/categories'\n * Method: GET\n *\n * @param {String} facilityId\n *\n * @returns {Promise}\n * @fulfill {FieldCategory[]} Information about the field categories\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .getAllByFacility(187)\n * .then((fieldCategories) => console.log(fieldCategories))\n * .catch((err) => console.log(err));\n */\n getAllByFacility(facilityId) {\n if (!facilityId) {\n return Promise.reject(\n new Error(\n 'A facilityId is required for getting field categories by facility.'\n )\n );\n }\n\n return this._request\n .get(`${this._baseUrl}/facilities/${facilityId}/categories`)\n .then((fieldCategories) => ObjectUtils.toCamelCase(fieldCategories));\n }\n\n /**\n * Updates information about a field category\n *\n * API Endpoint: '/categories/:categoryId'\n * Method: PUT\n *\n * @param {String} categoryId The UUID of a field category\n * @param {Object} update\n * @param {string} [update.description]\n * @param {string} [update.name]\n * @param {string} [update.parentCategoryId]\n *\n * @returns {Promise}\n * @fulfill {FieldCategory} Information about the field category\n * @reject {Error}\n *\n * @example\n * contxtSdk.iot.fieldCategories\n * .update('b3dbaae3-25dd-475b-80dc-66296630a8d0', {\n * description: 'Power usage from all compressors in Room 2',\n * parentCategoryId: 'e9f8f89c-609c-4c83-8ebc-cea928af661e',\n * name: 'Room 2 Compressors'\n * })\n * .then((fieldCategory) => console.log(fieldCategory))\n * .catch((err) => console.log(err));\n */\n update(categoryId, update) {\n if (!categoryId) {\n return Promise.reject(\n new Error(\n 'A categoryId is required for updating information about a field category.'\n )\n );\n }\n\n if (!update) {\n return Promise.reject(\n new Error('An update is required to update a field category')\n );\n }\n\n if (!isPlainObject(update)) {\n return Promise.reject(\n new Error(\n 'The field category update must be a well-formed object with the data you wish to update.'\n )\n );\n }\n\n const formattedUpdate = ObjectUtils.toSnakeCase(update, {\n excludeKeys: ['id', 'organizationId']\n });\n\n return this._request\n .put(`${this._baseUrl}/categories/${categoryId}`, formattedUpdate)\n .then((fieldCategory) => ObjectUtils.toCamelCase(fieldCategory));\n }\n}\n\nexport default FieldCategories;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAkD,SAAAD,uBAAAI,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;QAA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","ignoreList":[]}