@esri/arcgis-rest-developer-credentials 4.9.1 → 4.10.1

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.
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/arcgis-rest-developer-credentials - v4.9.1 - Apache-2.0
2
+ * @esri/arcgis-rest-developer-credentials - v4.10.1 - Apache-2.0
3
3
  * Copyright (c) 2017-2026 Esri, Inc.
4
- * Wed Feb 25 2026 02:02:55 GMT+0000 (Coordinated Universal Time)
4
+ * Mon Mar 09 2026 17:09:21 GMT+0000 (Coordinated Universal Time)
5
5
  */
6
6
  import { getPortalUrl, createItem, updateItem, getItem } from '@esri/arcgis-rest-portal';
7
7
  import { request, appendCustomParams } from '@esri/arcgis-rest-request';
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/arcgis-rest-developer-credentials - v4.9.1 - Apache-2.0
2
+ * @esri/arcgis-rest-developer-credentials - v4.10.1 - Apache-2.0
3
3
  * Copyright (c) 2017-2026 Esri, Inc.
4
- * Wed Feb 25 2026 02:02:55 GMT+0000 (Coordinated Universal Time)
4
+ * Mon Mar 09 2026 17:09:21 GMT+0000 (Coordinated Universal Time)
5
5
  */
6
6
  import{getPortalUrl as t,createItem as e,updateItem as i,getItem as n}from"@esri/arcgis-rest-portal";import{request as a,appendCustomParams as s}from"@esri/arcgis-rest-request";async function c(e){const i=await e.authentication.getUsername(),n=t(e)+`/content/users/${i}/items/${e.itemId}/registeredAppInfo`;e.httpMethod="POST";return r(await a(n,Object.assign(Object.assign({},e),{params:{f:"json"}})))}const o=t=>{Object.entries(t.params).forEach(e=>{const[i,n]=e;"Array"===n.constructor.name&&(t.params[i]=JSON.stringify(n))})};function r(t){const e=["apnsProdCert","apnsSandboxCert","gcmApiKey","isBeta","customAppLoginShowTriage"],i=["modified","registered"];return Object.keys(t).filter(t=>!e.includes(t)).reduce((e,n)=>(i.includes(n)?e[n]=new Date(t[n]):e[n]=t[n],e),{})}function p(t){return delete t.client_secret,delete t.redirect_uris,delete t.appType,delete t.customAppLoginShowTriage,delete t.apiKey,t}function u(t){return delete t.appType,delete t.httpReferrers,delete t.privileges,delete t.apiKey,delete t.customAppLoginShowTriage,delete t.isPersonalAPIToken,delete t.apiToken1Active,delete t.apiToken2Active,t}function g(t){return h(t,["credentials","headers","hideToken","httpMethod","maxUrlLength","portal","rawResponse","signal","suppressWarnings"])}function h(t,e){return e.reduce((e,i)=>(i in t&&(e[i]=t[i]),e),{})}function d(t){const e=parseInt(t.substring(t.length-10,t.length-9));if(1===e||2===e)return e}function j(t){if(1===t||2===t)return t;if("string"!=typeof t)return;const e=d(t);return e||void 0}function O(e,i,n){return Promise.all(i.map(i=>async function(e){const i=`${t(e)}/oauth2/token`,n=await c({itemId:e.itemId,authentication:e.authentication}),s={client_id:n.client_id,client_secret:n.client_secret,apiToken:e.apiKey,regenerateApiToken:!0,grant_type:"client_credentials"};return a(i,{params:s})}(Object.assign({itemId:e,apiKey:i},n)))).then(t=>t.map(t=>t.access_token).reduce((t,e,i)=>(t[`accessToken${d(e)}`]=e,t),{}))}function b(t,e){const i=[];return t&&i.push(1),e&&i.push(2),i}function m(t,e){const i={};return t.apiToken1ExpirationDate&&(i.apiToken1ExpirationDate=t.apiToken1ExpirationDate),t.apiToken2ExpirationDate&&(i.apiToken2ExpirationDate=t.apiToken2ExpirationDate),e&&!i.apiToken1ExpirationDate&&(i.apiToken1ExpirationDate=-1),e&&!i.apiToken2ExpirationDate&&(i.apiToken2ExpirationDate=-1),i}async function l(e){const i=s(e,["itemId","appType","redirect_uris","httpReferrers","privileges"]);o(i);const n=t(i)+"/oauth2/registerApp";i.httpMethod="POST",i.params.f="json";return r(await a(n,i))}async function f(t){t.httpMethod="POST";const a=g(t),s=Object.assign(Object.assign({item:Object.assign(Object.assign({},h(t,["categories","culture","description","documentation","extent","owner","properties","snippet","spatialReference","tags","title","type","typeKeywords","url"])),{type:"Application"})},a),{authentication:t.authentication,params:{f:"json"}}),o=await e(s),r=Object.assign(Object.assign({itemId:o.id,appType:"multiple",redirect_uris:["urn:ietf:wg:oauth:2.0:oob"],httpReferrers:t.httpReferrers||[],privileges:t.privileges},a),{authentication:t.authentication}),u=await l(r);await i(Object.assign(Object.assign({},a),{item:Object.assign({id:o.id},m(t,!0)),authentication:t.authentication}));const d=await n(u.itemId,Object.assign(Object.assign({},a),{authentication:t.authentication,params:{f:"json"}})),j=await O(d.id,b(t.generateToken1,t.generateToken2),Object.assign(Object.assign({},a),{authentication:t.authentication})),f=await c(Object.assign(Object.assign({},a),{itemId:d.id,authentication:t.authentication}));return Object.assign(Object.assign(Object.assign({},j),p(f)),{item:d})}async function T(e){e.httpMethod="POST";const r=g(e);if(e.apiToken1ExpirationDate||e.apiToken2ExpirationDate){const t=m(e);await i(Object.assign(Object.assign({},r),{item:Object.assign({id:e.itemId},t),authentication:e.authentication}))}if(e.privileges||e.httpReferrers){const i=Object.assign(Object.assign({},r),{authentication:e.authentication,itemId:e.itemId}),n=await c(i),p=n.client_id,u=s(Object.assign(Object.assign({},n),e),["privileges","httpReferrers"]);u.params.f="json",o(u);const g=t(u)+`/oauth2/apps/${p}/update`;await a(g,Object.assign(Object.assign({},u),{authentication:e.authentication}))}const u=await n(e.itemId,Object.assign(Object.assign({},r),{authentication:e.authentication,params:{f:"json"}})),h=await O(e.itemId,b(e.generateToken1,e.generateToken2),Object.assign(Object.assign({},r),{authentication:e.authentication})),d=await c(Object.assign(Object.assign({},r),{itemId:e.itemId,authentication:e.authentication}));return Object.assign(Object.assign(Object.assign({},h),p(d)),{item:u})}async function w(t){const e=await c(t),i=await n(t.itemId,Object.assign(Object.assign({},g(t)),{authentication:t.authentication}));return Object.assign(Object.assign({},p(e)),{item:i})}async function y(e){const i=`${t(e)}/oauth2/revokeToken`,n=await c({itemId:e.itemId,authentication:e.authentication}),s={client_id:n.client_id,client_secret:n.client_secret,apiToken:j(e.apiKey),regenerateApiToken:!0,grant_type:"client_credentials"};return a(i,{params:s})}async function k(t){const e=await c(t),i=await n(t.itemId,Object.assign(Object.assign({},g(t)),{authentication:t.authentication}));return Object.assign(Object.assign({},u(e)),{item:i})}async function I(e){e.httpMethod="POST";const i=g(e),p=Object.assign(Object.assign({},i),{authentication:e.authentication,itemId:e.itemId}),h=await c(p);if("apikey"===h.appType)throw new Error("Item is not an OAuth 2.0 app.");const d=h.client_id,j=s(Object.assign(Object.assign({},h),e),["redirect_uris"]);j.params.f="json",j.params.appType="multiple",o(j);const O=t(j)+`/oauth2/apps/${d}/update`,b=r(await a(O,Object.assign(Object.assign({},j),{authentication:e.authentication}))),m=await n(e.itemId,Object.assign(Object.assign({},i),{authentication:e.authentication,params:{f:"json"}}));return Object.assign(Object.assign({},u(b)),{item:m})}async function _(t){t.httpMethod="POST";const i=g(t),a=Object.assign(Object.assign({item:Object.assign(Object.assign({},h(t,["categories","culture","description","documentation","extent","owner","properties","snippet","spatialReference","tags","title","type","typeKeywords","url"])),{type:"Application"})},i),{authentication:t.authentication,params:{f:"json"}}),s=await e(a),c=Object.assign(Object.assign({itemId:s.id,appType:"multiple",redirect_uris:t.redirect_uris||[],httpReferrers:[],privileges:[]},i),{authentication:t.authentication}),o=await l(c),r=await n(o.itemId,Object.assign(Object.assign({},i),{authentication:t.authentication,params:{f:"json"}}));return Object.assign(Object.assign({},u(o)),{item:r})}async function x(e){e.httpMethod="POST";const i=g(e),n=Object.assign(Object.assign({},i),{authentication:e.authentication,itemId:e.itemId}),s=(await c(n)).client_id,o=t(e)+`/oauth2/apps/${s}/unregister`;return await a(o,Object.assign(Object.assign({},i),{authentication:e.authentication,params:{f:"json"}}))}export{p as appToApiKeyProperties,u as appToOAuthAppProperties,m as buildExpirationDateParams,f as createApiKey,_ as createOAuthApp,g as extractBaseRequestOptions,h as filterKeys,O as generateApiKeyTokens,b as generateOptionsToSlots,w as getApiKey,k as getOAuthApp,c as getRegisteredAppInfo,y as invalidateApiKey,l as registerApp,r as registeredAppResponseToApp,j as slotForInvalidationKey,d as slotForKey,o as stringifyArrays,x as unregisterApp,T as updateApiKey,I as updateOAuthApp};
7
7
  //# sourceMappingURL=developer-credentials.esm.min.js.map
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/arcgis-rest-developer-credentials - v4.9.1 - Apache-2.0
2
+ * @esri/arcgis-rest-developer-credentials - v4.10.1 - Apache-2.0
3
3
  * Copyright (c) 2017-2026 Esri, Inc.
4
- * Wed Feb 25 2026 02:02:55 GMT+0000 (Coordinated Universal Time)
4
+ * Mon Mar 09 2026 17:09:21 GMT+0000 (Coordinated Universal Time)
5
5
  */
6
6
  (function (global, factory) {
7
7
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@esri/arcgis-rest-portal'), require('@esri/arcgis-rest-request')) :
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/arcgis-rest-developer-credentials - v4.9.1 - Apache-2.0
2
+ * @esri/arcgis-rest-developer-credentials - v4.10.1 - Apache-2.0
3
3
  * Copyright (c) 2017-2026 Esri, Inc.
4
- * Wed Feb 25 2026 02:02:55 GMT+0000 (Coordinated Universal Time)
4
+ * Mon Mar 09 2026 17:09:21 GMT+0000 (Coordinated Universal Time)
5
5
  */
6
6
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@esri/arcgis-rest-portal"),require("@esri/arcgis-rest-request")):"function"==typeof define&&define.amd?define(["exports","@esri/arcgis-rest-portal","@esri/arcgis-rest-request"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).arcgisRest=t.arcgisRest||{},t.arcgisRest,t.arcgisRest)}(this,function(t,e,i){"use strict";async function a(t){const a=await t.authentication.getUsername(),n=e.getPortalUrl(t)+`/content/users/${a}/items/${t.itemId}/registeredAppInfo`;t.httpMethod="POST";return s(await i.request(n,Object.assign(Object.assign({},t),{params:{f:"json"}})))}const n=t=>{Object.entries(t.params).forEach(e=>{const[i,a]=e;"Array"===a.constructor.name&&(t.params[i]=JSON.stringify(a))})};function s(t){const e=["apnsProdCert","apnsSandboxCert","gcmApiKey","isBeta","customAppLoginShowTriage"],i=["modified","registered"];return Object.keys(t).filter(t=>!e.includes(t)).reduce((e,a)=>(i.includes(a)?e[a]=new Date(t[a]):e[a]=t[a],e),{})}function r(t){return delete t.client_secret,delete t.redirect_uris,delete t.appType,delete t.customAppLoginShowTriage,delete t.apiKey,t}function c(t){return delete t.appType,delete t.httpReferrers,delete t.privileges,delete t.apiKey,delete t.customAppLoginShowTriage,delete t.isPersonalAPIToken,delete t.apiToken1Active,delete t.apiToken2Active,t}function o(t){return p(t,["credentials","headers","hideToken","httpMethod","maxUrlLength","portal","rawResponse","signal","suppressWarnings"])}function p(t,e){return e.reduce((e,i)=>(i in t&&(e[i]=t[i]),e),{})}function u(t){const e=parseInt(t.substring(t.length-10,t.length-9));if(1===e||2===e)return e}function g(t){if(1===t||2===t)return t;if("string"!=typeof t)return;const e=u(t);return e||void 0}function d(t,n,s){return Promise.all(n.map(n=>async function(t){const n=`${e.getPortalUrl(t)}/oauth2/token`,s=await a({itemId:t.itemId,authentication:t.authentication}),r={client_id:s.client_id,client_secret:s.client_secret,apiToken:t.apiKey,regenerateApiToken:!0,grant_type:"client_credentials"};return i.request(n,{params:r})}(Object.assign({itemId:t,apiKey:n},s)))).then(t=>t.map(t=>t.access_token).reduce((t,e,i)=>(t[`accessToken${u(e)}`]=e,t),{}))}function h(t,e){const i=[];return t&&i.push(1),e&&i.push(2),i}function l(t,e){const i={};return t.apiToken1ExpirationDate&&(i.apiToken1ExpirationDate=t.apiToken1ExpirationDate),t.apiToken2ExpirationDate&&(i.apiToken2ExpirationDate=t.apiToken2ExpirationDate),e&&!i.apiToken1ExpirationDate&&(i.apiToken1ExpirationDate=-1),e&&!i.apiToken2ExpirationDate&&(i.apiToken2ExpirationDate=-1),i}async function m(t){const a=i.appendCustomParams(t,["itemId","appType","redirect_uris","httpReferrers","privileges"]);n(a);const r=e.getPortalUrl(a)+"/oauth2/registerApp";a.httpMethod="POST",a.params.f="json";return s(await i.request(r,a))}t.appToApiKeyProperties=r,t.appToOAuthAppProperties=c,t.buildExpirationDateParams=l,t.createApiKey=async function(t){t.httpMethod="POST";const i=o(t),n=Object.assign(Object.assign({item:Object.assign(Object.assign({},p(t,["categories","culture","description","documentation","extent","owner","properties","snippet","spatialReference","tags","title","type","typeKeywords","url"])),{type:"Application"})},i),{authentication:t.authentication,params:{f:"json"}}),s=await e.createItem(n),c=Object.assign(Object.assign({itemId:s.id,appType:"multiple",redirect_uris:["urn:ietf:wg:oauth:2.0:oob"],httpReferrers:t.httpReferrers||[],privileges:t.privileges},i),{authentication:t.authentication}),u=await m(c);await e.updateItem(Object.assign(Object.assign({},i),{item:Object.assign({id:s.id},l(t,!0)),authentication:t.authentication}));const g=await e.getItem(u.itemId,Object.assign(Object.assign({},i),{authentication:t.authentication,params:{f:"json"}})),O=await d(g.id,h(t.generateToken1,t.generateToken2),Object.assign(Object.assign({},i),{authentication:t.authentication})),j=await a(Object.assign(Object.assign({},i),{itemId:g.id,authentication:t.authentication}));return Object.assign(Object.assign(Object.assign({},O),r(j)),{item:g})},t.createOAuthApp=async function(t){t.httpMethod="POST";const i=o(t),a=Object.assign(Object.assign({item:Object.assign(Object.assign({},p(t,["categories","culture","description","documentation","extent","owner","properties","snippet","spatialReference","tags","title","type","typeKeywords","url"])),{type:"Application"})},i),{authentication:t.authentication,params:{f:"json"}}),n=await e.createItem(a),s=Object.assign(Object.assign({itemId:n.id,appType:"multiple",redirect_uris:t.redirect_uris||[],httpReferrers:[],privileges:[]},i),{authentication:t.authentication}),r=await m(s),u=await e.getItem(r.itemId,Object.assign(Object.assign({},i),{authentication:t.authentication,params:{f:"json"}}));return Object.assign(Object.assign({},c(r)),{item:u})},t.extractBaseRequestOptions=o,t.filterKeys=p,t.generateApiKeyTokens=d,t.generateOptionsToSlots=h,t.getApiKey=async function(t){const i=await a(t),n=await e.getItem(t.itemId,Object.assign(Object.assign({},o(t)),{authentication:t.authentication}));return Object.assign(Object.assign({},r(i)),{item:n})},t.getOAuthApp=async function(t){const i=await a(t),n=await e.getItem(t.itemId,Object.assign(Object.assign({},o(t)),{authentication:t.authentication}));return Object.assign(Object.assign({},c(i)),{item:n})},t.getRegisteredAppInfo=a,t.invalidateApiKey=async function(t){const n=`${e.getPortalUrl(t)}/oauth2/revokeToken`,s=await a({itemId:t.itemId,authentication:t.authentication}),r={client_id:s.client_id,client_secret:s.client_secret,apiToken:g(t.apiKey),regenerateApiToken:!0,grant_type:"client_credentials"};return i.request(n,{params:r})},t.registerApp=m,t.registeredAppResponseToApp=s,t.slotForInvalidationKey=g,t.slotForKey=u,t.stringifyArrays=n,t.unregisterApp=async function(t){t.httpMethod="POST";const n=o(t),s=Object.assign(Object.assign({},n),{authentication:t.authentication,itemId:t.itemId}),r=(await a(s)).client_id,c=e.getPortalUrl(t)+`/oauth2/apps/${r}/unregister`;return await i.request(c,Object.assign(Object.assign({},n),{authentication:t.authentication,params:{f:"json"}}))},t.updateApiKey=async function(t){t.httpMethod="POST";const s=o(t);if(t.apiToken1ExpirationDate||t.apiToken2ExpirationDate){const i=l(t);await e.updateItem(Object.assign(Object.assign({},s),{item:Object.assign({id:t.itemId},i),authentication:t.authentication}))}if(t.privileges||t.httpReferrers){const r=Object.assign(Object.assign({},s),{authentication:t.authentication,itemId:t.itemId}),c=await a(r),o=c.client_id,p=i.appendCustomParams(Object.assign(Object.assign({},c),t),["privileges","httpReferrers"]);p.params.f="json",n(p);const u=e.getPortalUrl(p)+`/oauth2/apps/${o}/update`;await i.request(u,Object.assign(Object.assign({},p),{authentication:t.authentication}))}const c=await e.getItem(t.itemId,Object.assign(Object.assign({},s),{authentication:t.authentication,params:{f:"json"}})),p=await d(t.itemId,h(t.generateToken1,t.generateToken2),Object.assign(Object.assign({},s),{authentication:t.authentication})),u=await a(Object.assign(Object.assign({},s),{itemId:t.itemId,authentication:t.authentication}));return Object.assign(Object.assign(Object.assign({},p),r(u)),{item:c})},t.updateOAuthApp=async function(t){t.httpMethod="POST";const r=o(t),p=Object.assign(Object.assign({},r),{authentication:t.authentication,itemId:t.itemId}),u=await a(p);if("apikey"===u.appType)throw new Error("Item is not an OAuth 2.0 app.");const g=u.client_id,d=i.appendCustomParams(Object.assign(Object.assign({},u),t),["redirect_uris"]);d.params.f="json",d.params.appType="multiple",n(d);const h=e.getPortalUrl(d)+`/oauth2/apps/${g}/update`,l=s(await i.request(h,Object.assign(Object.assign({},d),{authentication:t.authentication}))),m=await e.getItem(t.itemId,Object.assign(Object.assign({},r),{authentication:t.authentication,params:{f:"json"}}));return Object.assign(Object.assign({},c(l)),{item:m})}});
7
7
  //# sourceMappingURL=developer-credentials.umd.min.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/arcgis-rest-developer-credentials",
3
- "version": "4.9.1",
3
+ "version": "4.10.1",
4
4
  "description": "Developer Credentials for @esri/arcgis-rest-js",
5
5
  "license": "Apache-2.0",
6
6
  "keywords": [
@@ -43,12 +43,12 @@
43
43
  "node": ">=12.20.0"
44
44
  },
45
45
  "dependencies": {
46
- "@esri/arcgis-rest-portal": "^4.9.1",
47
- "@esri/arcgis-rest-request": "^4.9.1"
46
+ "@esri/arcgis-rest-portal": "^4.10.1",
47
+ "@esri/arcgis-rest-request": "^4.10.1"
48
48
  },
49
49
  "devDependencies": {
50
- "@esri/arcgis-rest-portal": "^4.9.1",
51
- "@esri/arcgis-rest-request": "^4.9.1"
50
+ "@esri/arcgis-rest-portal": "^4.10.1",
51
+ "@esri/arcgis-rest-request": "^4.10.1"
52
52
  },
53
53
  "contributors": [
54
54
  "Patrick Arlt <parlt@esri.com> (http://patrickarlt.com/)",