autnam 1.0.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.
- package/.env.example +2 -0
- package/.eslintrc.json +37 -0
- package/.github/workflows/deploy-docs.yml +27 -0
- package/.github/workflows/pre-release-tests.yml +49 -0
- package/.github/workflows/pull-request-tests.yml +49 -0
- package/.github/workflows/release.yml +75 -0
- package/.prettierignore +2 -0
- package/.prettierrc +19 -0
- package/.vscode/launch.json +25 -0
- package/.vscode/settings.json +5 -0
- package/codecov.yml +7 -0
- package/commitlint.config.cjs +41 -0
- package/demos/.eslintrc.js +13 -0
- package/demos/ago-node-cli/README.md +30 -0
- package/demos/ago-node-cli/ago.js +31 -0
- package/demos/ago-node-cli/index.js +11 -0
- package/demos/ago-node-cli/lib/item-export-command.js +48 -0
- package/demos/ago-node-cli/lib/item-search-command.js +32 -0
- package/demos/ago-node-cli/package.json +29 -0
- package/demos/attachments-browser/README.md +7 -0
- package/demos/attachments-browser/index.html +165 -0
- package/demos/attachments-browser/package.json +15 -0
- package/demos/attachments-node/README.md +4 -0
- package/demos/attachments-node/image.jpg +0 -0
- package/demos/attachments-node/index.js +89 -0
- package/demos/attachments-node/package.json +19 -0
- package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
- package/demos/batch-geocoder-node/README.md +13 -0
- package/demos/batch-geocoder-node/batch-geocode.js +112 -0
- package/demos/batch-geocoder-node/config-template.js +18 -0
- package/demos/batch-geocoder-node/package.json +34 -0
- package/demos/browser-es-modules/README.md +7 -0
- package/demos/browser-es-modules/index.html +38 -0
- package/demos/browser-es-modules/package.json +15 -0
- package/demos/deno/README.md +1 -0
- package/demos/deno/import_map.json +8 -0
- package/demos/deno/index.js +5 -0
- package/demos/express/README.md +16 -0
- package/demos/express/config.json.template +3 -0
- package/demos/express/package.json +15 -0
- package/demos/express/server.js +37 -0
- package/demos/feature-service-browser/README.md +8 -0
- package/demos/feature-service-browser/index.html +122 -0
- package/demos/feature-service-browser/package.json +15 -0
- package/demos/geocoder-browser/README.md +12 -0
- package/demos/geocoder-browser/authenticate.html +29 -0
- package/demos/geocoder-browser/config.js.template +1 -0
- package/demos/geocoder-browser/index.html +139 -0
- package/demos/geocoder-browser/package.json +15 -0
- package/demos/jsapi-integration/README.md +26 -0
- package/demos/jsapi-integration/authenticate.html +29 -0
- package/demos/jsapi-integration/config.js +6 -0
- package/demos/jsapi-integration/index.html +91 -0
- package/demos/jsapi-integration/package.json +15 -0
- package/demos/node-cli-item-management/README.md +11 -0
- package/demos/node-cli-item-management/index.js +229 -0
- package/demos/node-cli-item-management/package.json +24 -0
- package/demos/node-cli-item-management/screenshot.png +0 -0
- package/demos/node-common-js/README.md +4 -0
- package/demos/node-common-js/index.js +5 -0
- package/demos/node-common-js/package.json +15 -0
- package/demos/node-es-modules/README.md +4 -0
- package/demos/node-es-modules/index.js +5 -0
- package/demos/node-es-modules/package.json +16 -0
- package/demos/oauth2-browser/README.md +17 -0
- package/demos/oauth2-browser/authenticate.html +29 -0
- package/demos/oauth2-browser/config.js.template +6 -0
- package/demos/oauth2-browser/index.html +223 -0
- package/demos/oauth2-browser/logo.svg +4 -0
- package/demos/oauth2-browser/package.json +15 -0
- package/demos/oauth2-browser/style.css +36 -0
- package/demos/oauth2-browser-retry/README.md +32 -0
- package/demos/oauth2-browser-retry/authenticate.html +21 -0
- package/demos/oauth2-browser-retry/index.html +114 -0
- package/demos/oauth2-browser-retry/logo.svg +4 -0
- package/demos/oauth2-browser-retry/package.json +15 -0
- package/demos/parcel/README.md +8 -0
- package/demos/parcel/index.html +16 -0
- package/demos/parcel/index.js +8 -0
- package/demos/parcel/package.json +20 -0
- package/demos/snowpack/README.md +8 -0
- package/demos/snowpack/index.html +16 -0
- package/demos/snowpack/index.js +8 -0
- package/demos/snowpack/package.json +20 -0
- package/demos/snowpack/snowpack.config.js +3 -0
- package/demos/stream-response-to-file/README.md +7 -0
- package/demos/stream-response-to-file/index.js +36 -0
- package/demos/stream-response-to-file/output/.gitkeep +0 -0
- package/demos/stream-response-to-file/package.json +31 -0
- package/demos/tree-shaking-rollup/.babelrc +3 -0
- package/demos/tree-shaking-rollup/README.md +9 -0
- package/demos/tree-shaking-rollup/index.html +11 -0
- package/demos/tree-shaking-rollup/package.json +22 -0
- package/demos/tree-shaking-rollup/rollup.config.js +13 -0
- package/demos/tree-shaking-rollup/src/index.js +8 -0
- package/demos/tree-shaking-webpack/README.md +9 -0
- package/demos/tree-shaking-webpack/index.html +11 -0
- package/demos/tree-shaking-webpack/package.json +26 -0
- package/demos/tree-shaking-webpack/src/index.js +8 -0
- package/demos/tree-shaking-webpack/webpack.config.js +29 -0
- package/demos/vite/README.md +6 -0
- package/demos/vite/favicon.svg +15 -0
- package/demos/vite/index.html +13 -0
- package/demos/vite/main.js +8 -0
- package/demos/vite/package.json +18 -0
- package/demos/vue/.env.example +11 -0
- package/demos/vue/.eslintrc.js +17 -0
- package/demos/vue/.postcssrc.js +5 -0
- package/demos/vue/README.md +17 -0
- package/demos/vue/babel.config.js +3 -0
- package/demos/vue/package.json +35 -0
- package/demos/vue/public/favicon.ico +0 -0
- package/demos/vue/public/index.html +24 -0
- package/demos/vue/src/assets/logo.svg +29 -0
- package/demos/vue/src/components/App.vue +303 -0
- package/demos/vue/src/components/Authenticate.vue +65 -0
- package/demos/vue/src/components/Loader.vue +230 -0
- package/demos/vue/src/main.js +92 -0
- package/demos/webmap-checker-sapper/.env.example +5 -0
- package/demos/webmap-checker-sapper/README.md +124 -0
- package/demos/webmap-checker-sapper/appveyor.yml +18 -0
- package/demos/webmap-checker-sapper/cypress/fixtures/example.json +5 -0
- package/demos/webmap-checker-sapper/cypress/integration/spec.js +19 -0
- package/demos/webmap-checker-sapper/cypress/plugins/index.js +17 -0
- package/demos/webmap-checker-sapper/cypress/support/commands.js +25 -0
- package/demos/webmap-checker-sapper/cypress/support/index.js +20 -0
- package/demos/webmap-checker-sapper/cypress.json +4 -0
- package/demos/webmap-checker-sapper/package.json +47 -0
- package/demos/webmap-checker-sapper/rollup.config.js +87 -0
- package/demos/webmap-checker-sapper/src/client.js +20 -0
- package/demos/webmap-checker-sapper/src/components/LayerStatus.html +108 -0
- package/demos/webmap-checker-sapper/src/components/Nav.html +21 -0
- package/demos/webmap-checker-sapper/src/components/WebMap.html +62 -0
- package/demos/webmap-checker-sapper/src/routes/_error.html +41 -0
- package/demos/webmap-checker-sapper/src/routes/_layout.html +21 -0
- package/demos/webmap-checker-sapper/src/routes/auth/authorize.js +18 -0
- package/demos/webmap-checker-sapper/src/routes/auth/exchange-token.js +20 -0
- package/demos/webmap-checker-sapper/src/routes/auth/post-sign-in.js +24 -0
- package/demos/webmap-checker-sapper/src/routes/auth/sign-out.js +10 -0
- package/demos/webmap-checker-sapper/src/routes/index.html +20 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/[webmapId].html +83 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/index.html +59 -0
- package/demos/webmap-checker-sapper/src/server.js +102 -0
- package/demos/webmap-checker-sapper/src/service-worker.js +82 -0
- package/demos/webmap-checker-sapper/src/template.html +33 -0
- package/demos/webmap-checker-sapper/src/userInfoMiddleware.js +21 -0
- package/demos/webmap-checker-sapper/src/utils.js +33 -0
- package/demos/webmap-checker-sapper/static/favicon.png +0 -0
- package/demos/webmap-checker-sapper/static/global.css +36 -0
- package/demos/webmap-checker-sapper/static/manifest.json +20 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-192.png +0 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-512.png +0 -0
- package/docs/.eslintrc.js +12 -0
- package/docs/FAQ.md +48 -0
- package/docs/HISTORY.md +62 -0
- package/docs/acetate.config.js +262 -0
- package/docs/build-typedoc.js +434 -0
- package/docs/generate-srihashes.js +61 -0
- package/docs/package.json +3 -0
- package/docs/src/_layout.html +86 -0
- package/docs/src/api/_declaration.html +600 -0
- package/docs/src/api/_layout.html +204 -0
- package/docs/src/api/_package.html +38 -0
- package/docs/src/api/index.html +16 -0
- package/docs/src/guides/_layout.html +24 -0
- package/docs/src/guides/amd-requirejs-dojo.md +40 -0
- package/docs/src/guides/browser-authentication.md +39 -0
- package/docs/src/guides/bundlers.md +52 -0
- package/docs/src/guides/cli-authentication.md +9 -0
- package/docs/src/guides/client-server-authentication.md +9 -0
- package/docs/src/guides/embedded-apps.md +106 -0
- package/docs/src/guides/from-a-cdn.md +38 -0
- package/docs/src/guides/index.md +59 -0
- package/docs/src/guides/node.md +84 -0
- package/docs/src/guides/package-overview.md +111 -0
- package/docs/src/guides/server-authentication.md +9 -0
- package/docs/src/guides/whats-new-v2-0.md +305 -0
- package/docs/src/img/icons.png +0 -0
- package/docs/src/img/icons@2x.png +0 -0
- package/docs/src/img/oauth-browser.png +0 -0
- package/docs/src/index.html +12 -0
- package/docs/src/js/api-search.js +112 -0
- package/docs/src/js/nav-toggle.js +41 -0
- package/docs/src/sass/_highlight.scss +96 -0
- package/docs/src/sass/_icons.scss +157 -0
- package/docs/src/sass/style.scss +242 -0
- package/jasmine.json +7 -0
- package/jasmine.live.json +7 -0
- package/karma.conf.cjs +128 -0
- package/package.json +87 -0
- package/packages/arcgis-rest-auth/CHANGELOG.md +80 -0
- package/packages/arcgis-rest-auth/README.md +71 -0
- package/packages/arcgis-rest-auth/package.json +66 -0
- package/packages/arcgis-rest-auth/src/index.ts +34 -0
- package/packages/arcgis-rest-auth/tsconfig.json +6 -0
- package/packages/arcgis-rest-demographics/CHANGELOG.md +14 -0
- package/packages/arcgis-rest-demographics/README.md +74 -0
- package/packages/arcgis-rest-demographics/package.json +69 -0
- package/packages/arcgis-rest-demographics/src/getAvailableCountries.ts +113 -0
- package/packages/arcgis-rest-demographics/src/getAvailableDataCollections.ts +161 -0
- package/packages/arcgis-rest-demographics/src/getAvailableGeographyLevels.ts +86 -0
- package/packages/arcgis-rest-demographics/src/getGeography.ts +152 -0
- package/packages/arcgis-rest-demographics/src/helpers.ts +27 -0
- package/packages/arcgis-rest-demographics/src/index.ts +16 -0
- package/packages/arcgis-rest-demographics/src/queryDemographicData.ts +108 -0
- package/packages/arcgis-rest-demographics/test/getAvailableCountries.test.ts +89 -0
- package/packages/arcgis-rest-demographics/test/getAvailableDataCollections.test.ts +114 -0
- package/packages/arcgis-rest-demographics/test/getAvailableGeographyLevels.test.ts +69 -0
- package/packages/arcgis-rest-demographics/test/getGeography.test.ts +150 -0
- package/packages/arcgis-rest-demographics/test/mocks/responses.ts +4 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.live.ts +50 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.ts +127 -0
- package/packages/arcgis-rest-demographics/tsconfig.json +6 -0
- package/packages/arcgis-rest-feature-service/CHANGELOG.md +44 -0
- package/packages/arcgis-rest-feature-service/README.md +75 -0
- package/packages/arcgis-rest-feature-service/package.json +70 -0
- package/packages/arcgis-rest-feature-service/src/add.ts +55 -0
- package/packages/arcgis-rest-feature-service/src/addAttachment.ts +53 -0
- package/packages/arcgis-rest-feature-service/src/addToServiceDefinition.ts +74 -0
- package/packages/arcgis-rest-feature-service/src/applyEdits.ts +94 -0
- package/packages/arcgis-rest-feature-service/src/createFeatureService.ts +191 -0
- package/packages/arcgis-rest-feature-service/src/decodeValues.ts +126 -0
- package/packages/arcgis-rest-feature-service/src/delete.ts +62 -0
- package/packages/arcgis-rest-feature-service/src/deleteAttachments.ts +52 -0
- package/packages/arcgis-rest-feature-service/src/getAllLayersAndTables.ts +30 -0
- package/packages/arcgis-rest-feature-service/src/getAttachments.ts +55 -0
- package/packages/arcgis-rest-feature-service/src/getLayer.ts +23 -0
- package/packages/arcgis-rest-feature-service/src/getService.ts +25 -0
- package/packages/arcgis-rest-feature-service/src/getServiceAdminInfo.ts +33 -0
- package/packages/arcgis-rest-feature-service/src/getViewSources.ts +19 -0
- package/packages/arcgis-rest-feature-service/src/helpers.ts +768 -0
- package/packages/arcgis-rest-feature-service/src/index.ts +37 -0
- package/packages/arcgis-rest-feature-service/src/query.ts +200 -0
- package/packages/arcgis-rest-feature-service/src/queryRelated.ts +86 -0
- package/packages/arcgis-rest-feature-service/src/update.ts +65 -0
- package/packages/arcgis-rest-feature-service/src/updateAttachment.ts +59 -0
- package/packages/arcgis-rest-feature-service/src/updateServiceDefinition.ts +53 -0
- package/packages/arcgis-rest-feature-service/test/addToServiceDefinition.test.ts +350 -0
- package/packages/arcgis-rest-feature-service/test/attachments.test.ts +188 -0
- package/packages/arcgis-rest-feature-service/test/createFeatureService.test.ts +279 -0
- package/packages/arcgis-rest-feature-service/test/crud.test.ts +196 -0
- package/packages/arcgis-rest-feature-service/test/decodeValues.test.ts +66 -0
- package/packages/arcgis-rest-feature-service/test/getAllLayersAndTables.test.ts +27 -0
- package/packages/arcgis-rest-feature-service/test/getLayer.test.ts +30 -0
- package/packages/arcgis-rest-feature-service/test/getService.test.ts +30 -0
- package/packages/arcgis-rest-feature-service/test/getServiceAdminInfo.test.ts +41 -0
- package/packages/arcgis-rest-feature-service/test/getViewSources.test.ts +45 -0
- package/packages/arcgis-rest-feature-service/test/helpers.test.ts +27 -0
- package/packages/arcgis-rest-feature-service/test/mocks/allLayersAndTablesResponse.ts +950 -0
- package/packages/arcgis-rest-feature-service/test/mocks/cvdQueryResponse.ts +225 -0
- package/packages/arcgis-rest-feature-service/test/mocks/feature.ts +302 -0
- package/packages/arcgis-rest-feature-service/test/mocks/fields.ts +779 -0
- package/packages/arcgis-rest-feature-service/test/mocks/foo.txt +1 -0
- package/packages/arcgis-rest-feature-service/test/mocks/layerDefinition.ts +80 -0
- package/packages/arcgis-rest-feature-service/test/mocks/service.ts +476 -0
- package/packages/arcgis-rest-feature-service/test/query.test.ts +166 -0
- package/packages/arcgis-rest-feature-service/test/updateServiceDefinition.test.ts +103 -0
- package/packages/arcgis-rest-feature-service/tsconfig.json +9 -0
- package/packages/arcgis-rest-fetch/README.md +17 -0
- package/packages/arcgis-rest-fetch/browser-ponyfill.js +8 -0
- package/packages/arcgis-rest-fetch/browser-ponyfill.mjs +8 -0
- package/packages/arcgis-rest-fetch/index.types.d.ts +8 -0
- package/packages/arcgis-rest-fetch/node-ponyfill.js +10 -0
- package/packages/arcgis-rest-fetch/node-ponyfill.mjs +10 -0
- package/packages/arcgis-rest-fetch/package.json +21 -0
- package/packages/arcgis-rest-form-data/README.md +15 -0
- package/packages/arcgis-rest-form-data/browser-ponyfill.js +5 -0
- package/packages/arcgis-rest-form-data/browser-ponyfill.mjs +3 -0
- package/packages/arcgis-rest-form-data/index.types.d.ts +9 -0
- package/packages/arcgis-rest-form-data/node-ponyfill.js +7 -0
- package/packages/arcgis-rest-form-data/node-ponyfill.mjs +5 -0
- package/packages/arcgis-rest-form-data/package.json +21 -0
- package/packages/arcgis-rest-geocoding/CHANGELOG.md +26 -0
- package/packages/arcgis-rest-geocoding/README.md +85 -0
- package/packages/arcgis-rest-geocoding/package.json +69 -0
- package/packages/arcgis-rest-geocoding/src/bulk.ts +106 -0
- package/packages/arcgis-rest-geocoding/src/geocode.ts +169 -0
- package/packages/arcgis-rest-geocoding/src/helpers.ts +56 -0
- package/packages/arcgis-rest-geocoding/src/index.ts +17 -0
- package/packages/arcgis-rest-geocoding/src/reverse.ts +82 -0
- package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
- package/packages/arcgis-rest-geocoding/test/bulk.test.ts +193 -0
- package/packages/arcgis-rest-geocoding/test/geocode.test.ts +254 -0
- package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
- package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +1031 -0
- package/packages/arcgis-rest-geocoding/test/reverse.test.ts +124 -0
- package/packages/arcgis-rest-geocoding/test/suggest.test.ts +53 -0
- package/packages/arcgis-rest-geocoding/tsconfig.json +6 -0
- package/packages/arcgis-rest-portal/CHANGELOG.md +73 -0
- package/packages/arcgis-rest-portal/README.md +72 -0
- package/packages/arcgis-rest-portal/package.json +68 -0
- package/packages/arcgis-rest-portal/src/groups/add-users.ts +140 -0
- package/packages/arcgis-rest-portal/src/groups/create.ts +42 -0
- package/packages/arcgis-rest-portal/src/groups/get.ts +187 -0
- package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
- package/packages/arcgis-rest-portal/src/groups/invite-users.ts +141 -0
- package/packages/arcgis-rest-portal/src/groups/join.ts +57 -0
- package/packages/arcgis-rest-portal/src/groups/notification.ts +77 -0
- package/packages/arcgis-rest-portal/src/groups/protect.ts +56 -0
- package/packages/arcgis-rest-portal/src/groups/remove-users.ts +84 -0
- package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
- package/packages/arcgis-rest-portal/src/groups/search.ts +48 -0
- package/packages/arcgis-rest-portal/src/groups/update-user-membership.ts +63 -0
- package/packages/arcgis-rest-portal/src/groups/update.ts +39 -0
- package/packages/arcgis-rest-portal/src/helpers.ts +83 -0
- package/packages/arcgis-rest-portal/src/index.ts +68 -0
- package/packages/arcgis-rest-portal/src/items/add.ts +145 -0
- package/packages/arcgis-rest-portal/src/items/content.ts +70 -0
- package/packages/arcgis-rest-portal/src/items/create.ts +149 -0
- package/packages/arcgis-rest-portal/src/items/export.ts +92 -0
- package/packages/arcgis-rest-portal/src/items/get.ts +444 -0
- package/packages/arcgis-rest-portal/src/items/helpers.ts +272 -0
- package/packages/arcgis-rest-portal/src/items/protect.ts +41 -0
- package/packages/arcgis-rest-portal/src/items/reassign.ts +59 -0
- package/packages/arcgis-rest-portal/src/items/remove.ts +139 -0
- package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/items/update.ts +188 -0
- package/packages/arcgis-rest-portal/src/items/upload.ts +124 -0
- package/packages/arcgis-rest-portal/src/orgs/notification.ts +148 -0
- package/packages/arcgis-rest-portal/src/services/get-unique-service-name.ts +35 -0
- package/packages/arcgis-rest-portal/src/services/is-service-name-available.ts +29 -0
- package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
- package/packages/arcgis-rest-portal/src/sharing/helpers.ts +80 -0
- package/packages/arcgis-rest-portal/src/sharing/is-item-shared-with-group.ts +42 -0
- package/packages/arcgis-rest-portal/src/sharing/share-item-with-group.ts +335 -0
- package/packages/arcgis-rest-portal/src/sharing/unshare-item-with-group.ts +114 -0
- package/packages/arcgis-rest-portal/src/users/get-user-tags.ts +52 -0
- package/packages/arcgis-rest-portal/src/users/get-user-url.ts +18 -0
- package/packages/arcgis-rest-portal/src/users/get-user.ts +60 -0
- package/packages/arcgis-rest-portal/src/users/invitation.ts +157 -0
- package/packages/arcgis-rest-portal/src/users/notification.ts +67 -0
- package/packages/arcgis-rest-portal/src/users/search-users.ts +35 -0
- package/packages/arcgis-rest-portal/src/users/update.ts +63 -0
- package/packages/arcgis-rest-portal/src/util/SearchQueryBuilder.ts +391 -0
- package/packages/arcgis-rest-portal/src/util/array.ts +16 -0
- package/packages/arcgis-rest-portal/src/util/generic-search.ts +111 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-settings.ts +44 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +32 -0
- package/packages/arcgis-rest-portal/src/util/get-portal.ts +53 -0
- package/packages/arcgis-rest-portal/src/util/get-subscription-info.ts +43 -0
- package/packages/arcgis-rest-portal/src/util/scrub-control-chars.ts +13 -0
- package/packages/arcgis-rest-portal/src/util/search.ts +48 -0
- package/packages/arcgis-rest-portal/test/groups/add-users.test.ts +238 -0
- package/packages/arcgis-rest-portal/test/groups/crud.test.ts +183 -0
- package/packages/arcgis-rest-portal/test/groups/get.test.ts +174 -0
- package/packages/arcgis-rest-portal/test/groups/invite-users.test.ts +146 -0
- package/packages/arcgis-rest-portal/test/groups/join.test.ts +71 -0
- package/packages/arcgis-rest-portal/test/groups/notification.test.ts +111 -0
- package/packages/arcgis-rest-portal/test/groups/protect.test.ts +71 -0
- package/packages/arcgis-rest-portal/test/groups/remove-users.test.ts +140 -0
- package/packages/arcgis-rest-portal/test/groups/search.test.ts +151 -0
- package/packages/arcgis-rest-portal/test/groups/update-user-membership.test.ts +64 -0
- package/packages/arcgis-rest-portal/test/items/add.test.ts +320 -0
- package/packages/arcgis-rest-portal/test/items/content.test.ts +161 -0
- package/packages/arcgis-rest-portal/test/items/create.test.ts +404 -0
- package/packages/arcgis-rest-portal/test/items/export.test.ts +115 -0
- package/packages/arcgis-rest-portal/test/items/get.test.ts +606 -0
- package/packages/arcgis-rest-portal/test/items/helpers.test.ts +60 -0
- package/packages/arcgis-rest-portal/test/items/protect.test.ts +120 -0
- package/packages/arcgis-rest-portal/test/items/reassign.test.ts +130 -0
- package/packages/arcgis-rest-portal/test/items/remove.test.ts +259 -0
- package/packages/arcgis-rest-portal/test/items/search.test.ts +274 -0
- package/packages/arcgis-rest-portal/test/items/update.test.ts +549 -0
- package/packages/arcgis-rest-portal/test/items/upload.test.ts +286 -0
- package/packages/arcgis-rest-portal/test/mocks/groups/responses.ts +208 -0
- package/packages/arcgis-rest-portal/test/mocks/items/foo.zip +0 -0
- package/packages/arcgis-rest-portal/test/mocks/items/item.ts +526 -0
- package/packages/arcgis-rest-portal/test/mocks/items/resources.ts +38 -0
- package/packages/arcgis-rest-portal/test/mocks/items/search.ts +121 -0
- package/packages/arcgis-rest-portal/test/mocks/portal/response.ts +126 -0
- package/packages/arcgis-rest-portal/test/mocks/portal/settings-response.ts +56 -0
- package/packages/arcgis-rest-portal/test/mocks/sharing/sharing.ts +18 -0
- package/packages/arcgis-rest-portal/test/mocks/users/invitation.ts +70 -0
- package/packages/arcgis-rest-portal/test/mocks/users/notification.ts +34 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user-search.ts +388 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user-tags.ts +5 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user.ts +174 -0
- package/packages/arcgis-rest-portal/test/orgs/notification.test.ts +142 -0
- package/packages/arcgis-rest-portal/test/services/get-unique-service-name.test.ts +64 -0
- package/packages/arcgis-rest-portal/test/services/is-service-name-available.test.ts +41 -0
- package/packages/arcgis-rest-portal/test/sharing/access.test.ts +162 -0
- package/packages/arcgis-rest-portal/test/sharing/helpers.test.ts +55 -0
- package/packages/arcgis-rest-portal/test/sharing/share-item-with-group.test.ts +1328 -0
- package/packages/arcgis-rest-portal/test/sharing/unshare-item-with-group.test.ts +288 -0
- package/packages/arcgis-rest-portal/test/users/get-user-tags.test.ts +71 -0
- package/packages/arcgis-rest-portal/test/users/get-user-url.test.ts +40 -0
- package/packages/arcgis-rest-portal/test/users/get-user.test.ts +90 -0
- package/packages/arcgis-rest-portal/test/users/invitation.test.ts +126 -0
- package/packages/arcgis-rest-portal/test/users/notification.test.ts +76 -0
- package/packages/arcgis-rest-portal/test/users/search.test.ts +41 -0
- package/packages/arcgis-rest-portal/test/users/update.test.ts +150 -0
- package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +295 -0
- package/packages/arcgis-rest-portal/test/util/array.test.ts +33 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-settings.test.ts +57 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-url.test.ts +37 -0
- package/packages/arcgis-rest-portal/test/util/portal.test.ts +137 -0
- package/packages/arcgis-rest-portal/test/util/scrub-control-chars.test.ts +25 -0
- package/packages/arcgis-rest-portal/tsconfig.json +6 -0
- package/packages/arcgis-rest-request/README.md +72 -0
- package/packages/arcgis-rest-request/package.json +69 -0
- package/packages/arcgis-rest-request/post-message-auth-spec.md +70 -0
- package/packages/arcgis-rest-request/src/ApiKeyManager.ts +60 -0
- package/packages/arcgis-rest-request/src/ApplicationCredentialsManager.ts +141 -0
- package/packages/arcgis-rest-request/src/ArcGISIdentityManager.ts +1470 -0
- package/packages/arcgis-rest-request/src/app-tokens.ts +132 -0
- package/packages/arcgis-rest-request/src/authenticated-request-options.ts +23 -0
- package/packages/arcgis-rest-request/src/federation-utils.ts +88 -0
- package/packages/arcgis-rest-request/src/fetch-token.ts +48 -0
- package/packages/arcgis-rest-request/src/generate-token.ts +32 -0
- package/packages/arcgis-rest-request/src/index.ts +46 -0
- package/packages/arcgis-rest-request/src/request.ts +446 -0
- package/packages/arcgis-rest-request/src/revoke-token.ts +73 -0
- package/packages/arcgis-rest-request/src/types/feature.ts +42 -0
- package/packages/arcgis-rest-request/src/types/geometry.ts +239 -0
- package/packages/arcgis-rest-request/src/types/group.ts +72 -0
- package/packages/arcgis-rest-request/src/types/service.ts +87 -0
- package/packages/arcgis-rest-request/src/types/symbol.ts +21 -0
- package/packages/arcgis-rest-request/src/types/user.ts +49 -0
- package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +82 -0
- package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
- package/packages/arcgis-rest-request/src/utils/GrantTypes.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/HTTPMethods.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IAuthenticationManager.ts +22 -0
- package/packages/arcgis-rest-request/src/utils/IFetchTokenParams.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/IGenerateTokenParams.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/IParamBuilder.ts +3 -0
- package/packages/arcgis-rest-request/src/utils/IParams.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IParamsBuilder.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/IRequestOptions.ts +59 -0
- package/packages/arcgis-rest-request/src/utils/ITokenRequestOptions.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/ResponseFormats.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +46 -0
- package/packages/arcgis-rest-request/src/utils/clean-url.ts +20 -0
- package/packages/arcgis-rest-request/src/utils/decode-query-string.ts +27 -0
- package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +41 -0
- package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +37 -0
- package/packages/arcgis-rest-request/src/utils/process-params.ts +109 -0
- package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/with-options.ts +48 -0
- package/packages/arcgis-rest-request/src/validate-app-access.ts +69 -0
- package/packages/arcgis-rest-request/test/ApiKey.test.ts +53 -0
- package/packages/arcgis-rest-request/test/ApplicationSession.test.ts +148 -0
- package/packages/arcgis-rest-request/test/ArcGISIdentityManager.test.ts +2579 -0
- package/packages/arcgis-rest-request/test/app-tokens.test.ts +91 -0
- package/packages/arcgis-rest-request/test/federation-utils.test.ts +323 -0
- package/packages/arcgis-rest-request/test/fetchToken.test.ts +110 -0
- package/packages/arcgis-rest-request/test/generateToken.test.ts +40 -0
- package/packages/arcgis-rest-request/test/mocks/errors.ts +76 -0
- package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
- package/packages/arcgis-rest-request/test/mocks/param-builder.ts +7 -0
- package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
- package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
- package/packages/arcgis-rest-request/test/request.test.ts +563 -0
- package/packages/arcgis-rest-request/test/revoke-token.test.ts +55 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +196 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
- package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
- package/packages/arcgis-rest-request/test/utils/clean-url.test.ts +50 -0
- package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +146 -0
- package/packages/arcgis-rest-request/test/utils/encode-query-string.test.ts +22 -0
- package/packages/arcgis-rest-request/test/utils/process-params.test.ts +205 -0
- package/packages/arcgis-rest-request/test/utils/with-options.test.ts +135 -0
- package/packages/arcgis-rest-request/test/validate-app-access.test.ts +44 -0
- package/packages/arcgis-rest-request/tsconfig.json +4 -0
- package/packages/arcgis-rest-routing/README.md +74 -0
- package/packages/arcgis-rest-routing/package.json +69 -0
- package/packages/arcgis-rest-routing/src/closestFacility.ts +223 -0
- package/packages/arcgis-rest-routing/src/helpers.ts +104 -0
- package/packages/arcgis-rest-routing/src/index.ts +20 -0
- package/packages/arcgis-rest-routing/src/originDestinationMatrix.ts +219 -0
- package/packages/arcgis-rest-routing/src/serviceArea.ts +169 -0
- package/packages/arcgis-rest-routing/src/solveRoute.ts +179 -0
- package/packages/arcgis-rest-routing/test/closestFacility.test.ts +686 -0
- package/packages/arcgis-rest-routing/test/mocks/inputs.ts +132 -0
- package/packages/arcgis-rest-routing/test/mocks/responses.ts +13316 -0
- package/packages/arcgis-rest-routing/test/originDestinationMatrix.test.ts +795 -0
- package/packages/arcgis-rest-routing/test/serviceArea.test.ts +601 -0
- package/packages/arcgis-rest-routing/test/solveRoute.test.ts +681 -0
- package/packages/arcgis-rest-routing/tsconfig.json +6 -0
- package/prettier-package-json.config.cjs +81 -0
- package/rollup.js +152 -0
- package/scripts/create-dist-package-jsons.js +17 -0
- package/scripts/deploy-doc-site.js +16 -0
- package/scripts/generate-sri-hashes.js +52 -0
- package/scripts/get-package-json.js +27 -0
- package/scripts/run-demo-server.js +21 -0
- package/scripts/test-helpers.ts +20 -0
- package/tsconfig.json +62 -0
- package/typedoc.json +14 -0
@@ -0,0 +1,91 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
|
6
|
+
<title>Share auth between ArcGIS REST JS and the ArcGIS API for JavaScript</title>
|
7
|
+
|
8
|
+
<style>
|
9
|
+
html,
|
10
|
+
body,
|
11
|
+
#viewDiv {
|
12
|
+
padding: 0;
|
13
|
+
margin: 0;
|
14
|
+
height: 100%;
|
15
|
+
width: 100%;
|
16
|
+
}
|
17
|
+
</style>
|
18
|
+
|
19
|
+
<link rel="stylesheet" href="https://js.arcgis.com/4.20/esri/css/main.css">
|
20
|
+
<script src="config.js"></script>
|
21
|
+
<script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
|
22
|
+
<script src="@esri/arcgis-rest-portal/dist/bundled/portal.umd.js"></script>
|
23
|
+
|
24
|
+
<!--
|
25
|
+
NOTE: rather than include the ArcGIS API for JavaScript via a <script> tag
|
26
|
+
typically you would using something like https://github.com/Esri/esri-loader
|
27
|
+
to lazy-load the API _after_ you had used the light-weight arcgis-rest-js
|
28
|
+
libraries above to log in and fetch some data (see NOTE below)
|
29
|
+
-->
|
30
|
+
<script src="https://js.arcgis.com/4.20/"></script>
|
31
|
+
</head>
|
32
|
+
|
33
|
+
<body>
|
34
|
+
<div id="viewDiv"></div>
|
35
|
+
<script>
|
36
|
+
// First, log in
|
37
|
+
const redirect_uri = window.location.origin + window.location.pathname + "authenticate.html";
|
38
|
+
|
39
|
+
arcgisRest.UserSession.beginOAuth2({
|
40
|
+
clientId: clientId,
|
41
|
+
redirectUri: redirect_uri,
|
42
|
+
popup: true
|
43
|
+
}).then(session => {
|
44
|
+
// Next, fetch a private item's data (not just the metadata)
|
45
|
+
//
|
46
|
+
// Change this to an itemId of a private webmap that you have access too.
|
47
|
+
const itemId = "75f08b51fa714d9c863aaf002dfba0c6";
|
48
|
+
|
49
|
+
return arcgisRest.getItemData(itemId, { authentication: session })
|
50
|
+
}).then(response => {
|
51
|
+
|
52
|
+
// once we have the private item, we can create a map
|
53
|
+
// NOTE: this is where you would lazy-load the ArcGIS API for JavaScript
|
54
|
+
require([
|
55
|
+
"esri/identity/IdentityManager",
|
56
|
+
"esri/views/MapView",
|
57
|
+
"esri/WebMap"
|
58
|
+
], function (
|
59
|
+
esriId, MapView, WebMap
|
60
|
+
) {
|
61
|
+
// Pass the authenticated session over to the ArcGIS API for
|
62
|
+
// JavaScript Identity Manager
|
63
|
+
esriId.registerToken(session.toCredential());
|
64
|
+
|
65
|
+
// display the title of its basemap
|
66
|
+
console.debug(response);
|
67
|
+
console.debug('baseMap title:', response.baseMap.title);
|
68
|
+
|
69
|
+
// create a map with the item
|
70
|
+
var webmap = new WebMap({
|
71
|
+
portalItem: {
|
72
|
+
id: itemId
|
73
|
+
}
|
74
|
+
});
|
75
|
+
|
76
|
+
// and pass it to the map view
|
77
|
+
var view = new MapView({
|
78
|
+
map: webmap,
|
79
|
+
container: "viewDiv"
|
80
|
+
});
|
81
|
+
|
82
|
+
// you can also pass credentials in the other direction if you have credentials in teh JS API IdentityManager class
|
83
|
+
esriId.getCredential("https://arcgis.com/sharing/rest/")
|
84
|
+
.then(cred => {
|
85
|
+
const session2 = arcgisRest.UserSession.fromCredential(cred);
|
86
|
+
});
|
87
|
+
});
|
88
|
+
});
|
89
|
+
</script>
|
90
|
+
</body>
|
91
|
+
</html>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"private": true,
|
3
|
+
"name": "@esri/jsapi-integration",
|
4
|
+
"version": "3.3.0",
|
5
|
+
"description": "to do",
|
6
|
+
"license": "Apache-2.0",
|
7
|
+
"scripts": {
|
8
|
+
"start": "node ../../scripts/run-demo-server.js"
|
9
|
+
},
|
10
|
+
"dependencies": {
|
11
|
+
"@esri/arcgis-rest-portal": "^3.3.0",
|
12
|
+
"@esri/arcgis-rest-request": "^3.3.0"
|
13
|
+
},
|
14
|
+
"author": ""
|
15
|
+
}
|
@@ -0,0 +1,229 @@
|
|
1
|
+
const prompts = require("prompts");
|
2
|
+
const chalk = require("chalk");
|
3
|
+
const { UserSession } = require("@esri/arcgis-rest-request");
|
4
|
+
const {
|
5
|
+
searchItems,
|
6
|
+
removeItem,
|
7
|
+
SearchQueryBuilder
|
8
|
+
} = require("@esri/arcgis-rest-portal");
|
9
|
+
|
10
|
+
// 1. Promt the user for sign in. Create a `UserSession`
|
11
|
+
authenticate()
|
12
|
+
.then((session) => {
|
13
|
+
console.log(chalk.blue(`Signed in as ${session.username}`));
|
14
|
+
// once the user is signed in search for items
|
15
|
+
return searchForItems(session);
|
16
|
+
})
|
17
|
+
.then(({ response, session }) => {
|
18
|
+
console.log(chalk.blue(`Found ${response.results.length} items\n`));
|
19
|
+
// take the items that were found and prompt the user if they want to delete them
|
20
|
+
return deleteItems(response.results, session);
|
21
|
+
})
|
22
|
+
.then(() => {
|
23
|
+
console.log(chalk.blue(`Done!`));
|
24
|
+
});
|
25
|
+
|
26
|
+
// Prompt the user for a `username` and `password` return a `UserSession`
|
27
|
+
// This function will run again on any error so it will retry until it works
|
28
|
+
function authenticate() {
|
29
|
+
const authPromtpts = [
|
30
|
+
{
|
31
|
+
type: "text",
|
32
|
+
name: "username",
|
33
|
+
message: "Username"
|
34
|
+
},
|
35
|
+
{
|
36
|
+
type: "password",
|
37
|
+
name: "password",
|
38
|
+
message: "Password"
|
39
|
+
}
|
40
|
+
];
|
41
|
+
|
42
|
+
let session;
|
43
|
+
|
44
|
+
// prompts returns a `Promise` that resolves with the users input
|
45
|
+
return prompts(authPromtpts)
|
46
|
+
.then(({ username, password }) => {
|
47
|
+
return UserSession.signIn({
|
48
|
+
username,
|
49
|
+
password
|
50
|
+
});
|
51
|
+
})
|
52
|
+
.catch((error) => {
|
53
|
+
// in case of an `ArcGISRequestError` assume the `username` and `password`
|
54
|
+
// are incorrect run the `authenticate` function again
|
55
|
+
if (error.name === "ArcGISRequestError") {
|
56
|
+
console.log(
|
57
|
+
chalk.bold.red("Incorrect username and/or password please try again")
|
58
|
+
);
|
59
|
+
return authenticate();
|
60
|
+
}
|
61
|
+
|
62
|
+
// if this is a different error just log the error message and exit
|
63
|
+
console.log(
|
64
|
+
`${chalk.bold.red(error.name)} ${chalk.bold.red(error.message)}`
|
65
|
+
);
|
66
|
+
});
|
67
|
+
}
|
68
|
+
|
69
|
+
// given a `UserSession` prompt the user for some search params and search for items
|
70
|
+
function searchForItems(session) {
|
71
|
+
const searchPrompts = [
|
72
|
+
{
|
73
|
+
type: "text",
|
74
|
+
name: "searchText",
|
75
|
+
message: "Search Query"
|
76
|
+
},
|
77
|
+
{
|
78
|
+
type: "list",
|
79
|
+
name: "itemTypes",
|
80
|
+
message: "Item Types"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
type: "list",
|
84
|
+
name: "itemTags",
|
85
|
+
message: "Tags"
|
86
|
+
},
|
87
|
+
{
|
88
|
+
type: "number",
|
89
|
+
name: "number",
|
90
|
+
message: "How Many?"
|
91
|
+
}
|
92
|
+
];
|
93
|
+
|
94
|
+
// prompts returns a `Promise` that resolves with the users input
|
95
|
+
return prompts(searchPrompts).then(
|
96
|
+
//use ES2015 destructuring so we don't make any extra variables
|
97
|
+
({ searchText, itemTypes, itemTags, number }) => {
|
98
|
+
const query = new SearchQueryBuilder()
|
99
|
+
.match(session.username)
|
100
|
+
.in("owner");
|
101
|
+
|
102
|
+
// format the search query for item types
|
103
|
+
const types = itemTypes.filter((type) => type.length);
|
104
|
+
|
105
|
+
// format the search query for item types
|
106
|
+
if (types.length) {
|
107
|
+
query.and().startGroup();
|
108
|
+
types.forEach((type, index, types) => {
|
109
|
+
query.match(type).in("type");
|
110
|
+
if (index !== types.length - 1) {
|
111
|
+
query.or();
|
112
|
+
}
|
113
|
+
});
|
114
|
+
query.endGroup();
|
115
|
+
}
|
116
|
+
|
117
|
+
// format the search query for item tags
|
118
|
+
const tags = itemTags.filter((tag) => tag.length);
|
119
|
+
|
120
|
+
if (tags.length) {
|
121
|
+
query.and().startGroup();
|
122
|
+
tags.forEach((tag, index, tags) => {
|
123
|
+
query.match(tag).in("tags");
|
124
|
+
if (index !== tags.length - 1) {
|
125
|
+
query.or();
|
126
|
+
}
|
127
|
+
});
|
128
|
+
query.endGroup();
|
129
|
+
}
|
130
|
+
|
131
|
+
// format the search query for the search text
|
132
|
+
if (searchText.length) {
|
133
|
+
query.and().match(searchText);
|
134
|
+
}
|
135
|
+
|
136
|
+
console.log(chalk.blue(`Searching ArcGIS Online: ${query.toParam()}`));
|
137
|
+
|
138
|
+
return searchItems({
|
139
|
+
authentication: session,
|
140
|
+
q: query,
|
141
|
+
num: number
|
142
|
+
})
|
143
|
+
.then((response) => {
|
144
|
+
return { response, session };
|
145
|
+
})
|
146
|
+
.catch((err) => {
|
147
|
+
console.warn(err);
|
148
|
+
});
|
149
|
+
}
|
150
|
+
);
|
151
|
+
}
|
152
|
+
|
153
|
+
// this give a list of `items` and a `UserSession` this will ask us 1 at a time
|
154
|
+
// if we want to delte this item. This uses the new async iteration syntax with
|
155
|
+
// `Symbol.asyncIterator` to perform an async function in a loop
|
156
|
+
async function deleteItems(items, session) {
|
157
|
+
// create our iterator which should return a `Promise`
|
158
|
+
const asyncIterable = {
|
159
|
+
[Symbol.asyncIterator]: () => ({
|
160
|
+
// every time we ask for a new item
|
161
|
+
next: function () {
|
162
|
+
// remove the next item from the array
|
163
|
+
const item = items.pop();
|
164
|
+
|
165
|
+
// we are done if there is no item
|
166
|
+
if (!item) {
|
167
|
+
return Promise.resolve({ done: true });
|
168
|
+
}
|
169
|
+
|
170
|
+
// prompt to delete this item.
|
171
|
+
return deleteItem(item, session);
|
172
|
+
}
|
173
|
+
})
|
174
|
+
};
|
175
|
+
|
176
|
+
// lets get our `next` function so we can itterate over it
|
177
|
+
const { next } = asyncIterable[Symbol.asyncIterator]();
|
178
|
+
|
179
|
+
for (
|
180
|
+
let { done, deleted, item } = await next(); // start condition, call next and wait for the `Promise` to resolve, results are destructed.
|
181
|
+
!done; // end condition,
|
182
|
+
{ done, deleted, item } = await next() // action on every loop, sets up the next round of checks
|
183
|
+
) {
|
184
|
+
if (deleted) {
|
185
|
+
console.log(chalk.green(`${item.title} deleted successfuly\n`));
|
186
|
+
} else {
|
187
|
+
console.log(chalk.gray(`${item.title} skipped\n`));
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
// since this is inside an async function code execution is stopped at the loop
|
192
|
+
// this will return an empty resolved `Promise` when the loop is done.
|
193
|
+
return Promise.resolve();
|
194
|
+
}
|
195
|
+
|
196
|
+
function deleteItem(item, session) {
|
197
|
+
console.log(`Title: ${chalk.bold.green(item.title)}`);
|
198
|
+
console.log(`Tags: ${item.tags.join(", ")}`);
|
199
|
+
console.log(`Type: ${item.type}`);
|
200
|
+
console.log(`ID: ${item.id}`);
|
201
|
+
console.log(`Owner: ${item.owner}`);
|
202
|
+
console.log(`Created: ${new Date(item.created).toLocaleDateString("en")}`);
|
203
|
+
console.log(`Modified: ${new Date(item.modified).toLocaleDateString("en")}`);
|
204
|
+
|
205
|
+
const deleteQuestions = [
|
206
|
+
{
|
207
|
+
type: "toggle",
|
208
|
+
name: "del",
|
209
|
+
message: "Delete this item?",
|
210
|
+
initial: false,
|
211
|
+
active: "yes",
|
212
|
+
inactive: "no"
|
213
|
+
}
|
214
|
+
];
|
215
|
+
|
216
|
+
return prompts(deleteQuestions).then(({ del }) => {
|
217
|
+
if (del) {
|
218
|
+
console.log(chalk.red.bold(`Deleting ${item.title}`));
|
219
|
+
return removeItem({
|
220
|
+
id: item.id,
|
221
|
+
authentication: session
|
222
|
+
}).then(() => {
|
223
|
+
return Promise.resolve({ done: false, deleted: del, item });
|
224
|
+
});
|
225
|
+
}
|
226
|
+
|
227
|
+
return Promise.resolve({ done: false, deleted: del, item });
|
228
|
+
});
|
229
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"private": true,
|
3
|
+
"name": "cli-item-management",
|
4
|
+
"version": "3.3.0",
|
5
|
+
"description": "Manage items in ArcGIS Online with a Node JS CLI and ArcGIS Rest JS",
|
6
|
+
"license": "Apache-2.0",
|
7
|
+
"keywords": [
|
8
|
+
"arcgis",
|
9
|
+
"arcgis-rest-js",
|
10
|
+
"node"
|
11
|
+
],
|
12
|
+
"main": "index.js",
|
13
|
+
"scripts": {
|
14
|
+
"start": "node index.js",
|
15
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
16
|
+
},
|
17
|
+
"dependencies": {
|
18
|
+
"@esri/arcgis-rest-portal": "^3.3.0",
|
19
|
+
"@esri/arcgis-rest-request": "^3.3.0",
|
20
|
+
"chalk": "^2.3.0",
|
21
|
+
"prompts": "^2.0.3"
|
22
|
+
},
|
23
|
+
"author": "Patrick Arlt <parlt@esri.com>"
|
24
|
+
}
|
Binary file
|
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"private": true,
|
3
|
+
"name": "arcgis-rest-js-node-common-js-integration-test",
|
4
|
+
"version": "1.0.0",
|
5
|
+
"description": "",
|
6
|
+
"license": "Apache-2.0",
|
7
|
+
"main": "index.js",
|
8
|
+
"scripts": {
|
9
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
10
|
+
},
|
11
|
+
"dependencies": {
|
12
|
+
"@esri/arcgis-rest-request": "^3.3.0"
|
13
|
+
},
|
14
|
+
"author": ""
|
15
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
{
|
2
|
+
"private": true,
|
3
|
+
"name": "arcgis-rest-js-node-es-modules-integration-test",
|
4
|
+
"version": "1.0.0",
|
5
|
+
"description": "",
|
6
|
+
"license": "Apache-2.0",
|
7
|
+
"type": "module",
|
8
|
+
"main": "index.js",
|
9
|
+
"scripts": {
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
11
|
+
},
|
12
|
+
"dependencies": {
|
13
|
+
"@esri/arcgis-rest-request": "^3.3.0"
|
14
|
+
},
|
15
|
+
"author": ""
|
16
|
+
}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# ArcGIS Rest JS / Vanilla JS Demo
|
2
|
+
|
3
|
+
This demo uses Vanilla JS to implement OAuth2 using
|
4
|
+
the `arcgis-rest-js` libraries.
|
5
|
+
|
6
|
+
See the ArcGIS Rest JS guide to [Authentication in Browser-based Apps](https://esri.github.io/arcgis-rest-js/guides/browser-authentication/) for more info.
|
7
|
+
|
8
|
+
## Running this demo
|
9
|
+
|
10
|
+
1. Run `npm run build` in the root directory
|
11
|
+
1. Register a new application using https://developers.arcgis.com/applications/new (you will be prompted to sign in or create a free account first).
|
12
|
+
1. Add a redirect URL of `http://localhost:8080/authenticate.html` to your new app.
|
13
|
+
1. Either copy the `config.js.template` file and rename it to `config.js` with your own ClientID or supply it in the prompt when the app is launched.
|
14
|
+
1. Run `npm start` to spin up the development server.
|
15
|
+
1. Visit [http://localhost:8080](http://localhost:8080).
|
16
|
+
|
17
|
+
**Note:** The server starts with a special configuration to serve URLs starting with `@esri/arcgis-rest-*` from their respective packages. In your application you will need to change these URLs to point to their respective locations.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>ArcGIS Rest JS OAuth redirect</title>
|
6
|
+
</head>
|
7
|
+
<body>
|
8
|
+
<script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
|
9
|
+
<script>
|
10
|
+
/* in a production app, clientId could be hardcoded. here we're using a regex to extract it from the state parameter in the OAuth2 server response to make the demo more interchangeable.
|
11
|
+
|
12
|
+
this relies on the fact that the ClientId is associated with the state parameter internally when another value isn't supplied manually.
|
13
|
+
*/
|
14
|
+
const match = window.location.href.match(
|
15
|
+
/&state=([^&]+)/
|
16
|
+
);
|
17
|
+
const clientId = match[1];
|
18
|
+
let session;
|
19
|
+
function processAuthentication() {
|
20
|
+
window.location.href = './';
|
21
|
+
session = arcgisRest.UserSession.completeOAuth2({
|
22
|
+
clientId: clientId,
|
23
|
+
});
|
24
|
+
localStorage.setItem('__ARCGIS_REST_USER_SESSION__', session.serialize());
|
25
|
+
}
|
26
|
+
processAuthentication();
|
27
|
+
</script>
|
28
|
+
</body>
|
29
|
+
</html>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*
|
2
|
+
You can generate your own clientid by creating an application on the ArcGIS for Developers site. Be sure to add http://localhost:8080/ as a redirect uri for your application
|
3
|
+
|
4
|
+
once you have a clientid of your own, copy/paste it here and rename this file 'config.js'
|
5
|
+
*/
|
6
|
+
let clientId = "QVQNb3XfDzoboWS0"
|