Skip to content

Commit

Permalink
[Maps] Onboarding @azure-rest/maps-route (#23588)
Browse files Browse the repository at this point in the history
* Update maps dependency in pnpm-lock.yaml

* Fix sample metadata errors

* Fix linting errors

* Fix linting errors

* Fix run time error

* Update package.json in samples folder

* Fix linting errors

* Fix linting errors

* Add changelog for maps-common

* Update recording files for maps-search

* Add test.yml for maps-search

* Add tests.yml for render and route

* Update tests.yml

* Update test-resources.json for maps

* Fix tests.yml format error

* Update env vars and remove unused export var

* Remove unused code

* Fix lock file

* Remove route & render

* Replace `beginGet*Batch` with `resume*Batch`

We provide a `beginGet*Batch` method to resume the previous
request previously. This is not ideal because it need to get a
`batchId` which is store in the internal state of the LRO. Once
the LRO brings changes, our code will be broken.

We can achieve the same thing by using serialized state.
This change aims to leverage this approach and create convenience
methods `resume*Batch` for users

* Update recording

* Make the endpoint of `MapsSearchClient` configurable

* Change LatLon from an interface to a tuple

Also remove the `toLatLon` function since creating a tuple
is quite easy.

* Make the props `coordinates` and `countryCodeFilter` optional

Specifying `coordinates` and `countryCodeFilter` can narrow the results
of the fuzzy search. But considring the case like searching "Australia",
theese fields may have no use. We decided to make them optional so user
can decides if they want to narrow down the results or not.

* fixup! Remove route & render

* Adjust CHANGELOGs of maps-search & common

Following the keyvault-common, removing CHANGELOGs
from maps-common since it's not published.

* Update samples

* Add batchRequest sample

* Add a new sample searchAddressResult

* Update search.ts and its examples

* enhance code example in README.md

* comment unused import

* Update recording for maps-search

* remove redundant recording files

* Add maps-search

* Rename LatLong to LatLon

* Fix constructor Readme doc

* Update readme to new signature

* Add tests partially

* Change LatLon/BoundingBox to interfaces

* Reduce the number of constructor overloading

* Rename SearchClient as MapsSearchClient

* Add options mapper tests

* Add result type mapper tests (in progress)

* rename clientId to mapsAccountClientId

* listPolygons -> getPolygons

* getPointOfInterestCategoryTree -> getPointOfInterestCategories

* Expose missing model

* Add alternative input file for quick experiment

* Regenerate code and make changes accordingly

* Reduce number of overloads of fuzzy searches

* Add geojson types

* Adopting new geojson definitions

* Change test specs to align with new method names

* clean up models and tsconfig

* Expose Known* models

* Remove batch sync methods

* Add public tests (non-batch)

* move model

* Add docstrings

* Start polling in begin* method

* Refactor BatchPoller for retrieving batchId

* Finalize batch pollers

* Readd batch methods

* Update generated code

* Finalize batch signature

* Rebuild samples & clean up

* Add AAD tests

* Clean up Swagger readme

* Fix spelling

* Add initial files for @azure/maps-route module

* maps-search: change comments and perform formatting

* Methods options and testing skeleton for maps-route

* maps-search: refactor options

* Improve convenience layer for non-LRO methods

* Change variable names

* Complete batch methods

* update maps-search Readme

* Update maps-route Readme

* Add generated samples for maps-route

* Update samples for maps-search

* Delete backup file

* Add maps-common module

* Update maps-route/maps-search to use maps-common

* maps-render: first draft

* Use LatLon/BoundingBox from maps-common

* Complete maps-render with tests

* Expose required types from maps-route

* Expose required types from maps-search

* Complete unit tests for maps-render

* Update maps-render README

* Update samples

* Fix comment/strings

* Fix comment/strings

* Update Route comment/interface

* Regenerate code

* Update files

* Define required fields and fix code

* Remove non-poller batch methods

* Fix playback test failure

* Rename parts of model names

* Rename remaining parts of models according to review feedback

* Remove TODO comments

* Update Reamdme transform to reflect latest swagger

* Change key policy name

* Simplify batch item error model

* Add brower tests

* Turn maps-common into internal module

* Rearrange Readme

* Rewrite Readme for common

* Remove batch-sync methods

* Route required fields: part 1

* Route required fields: part 2

* Add AAD back

* Route model fixes #1

* Route model fixes #2 + geojson named tuples

* Refine geojson types

* Aliased a few method options

* maps-render required fields part 1

* Do not validate budget parameters

* Revert "Do not validate budget parameters"

This reverts commit 4ec3f5f.

* Rename MapTileset to TileJson

* Render: model rename & type improvement

* Explicitly transform image range

* Fix route record tests

* Update map account creation commands in Readme

* Update Readme/docstrings/samples for Search/Route/Render

* Remove rollup and use dev-tool instead

* Remove some empty tests

* Add AAD test case and make file name shorter

* Update test cases

* Update cspell rules

* Update recording files

* Simplify test cases

* Sync cspell.json from upstream

* Use test-recorder 2.0 and update unit test cases

* Push wrong browsers recording files

* Update settings to support recording

* Fix dependency errors

* Upgrade api-recorder and fix errors

* Code refinement

* Update maps search recording files

* Update karma.conf.js format

* Update recording files and settings

* Fix broken links

* Update maps dependency in pnpm-lock.yaml

* Fix sample metadata errors

* Fix linting errors

* Fix linting errors

* Fix run time error

* Update package.json in samples folder

* Fix linting errors

* Fix linting errors

* Add changelog for maps-common

* Update recording files for maps-search

* Add test.yml for maps-search

* Add tests.yml for render and route

* Update tests.yml

* Update test-resources.json for maps

* Fix tests.yml format error

* Update env vars and remove unused export var

* Remove unused code

* Fix lock file

* Remove maps-render

* fixup! Change LatLon from an interface to a tuple

* Comment the future doc link

* Update doc & fix type issue

* fix lint issues

* Regenerate API View

* Comment the whole [apiref] since the original syntax cannot pass the Analyze/Link verification

* Fix issue related to the change of maps-common

- Replace beginGet*Result with resume* methods
- Turn LatLon to a tuple
- Add mapper to transform the string to Date because resume* method will
return a serialized Date

* Update test recording

* Remove maps-common from the Artifacts

* remove unused dependencies

* Add impression in README so we can track the page views

* Remove `AZURE_LOG_LEVEL` in test.yml

* Update samples

- Move the option parameter to the right place
- Add comments & "break" for handling the type of the search result to make it clear for the user

* Patch {} to properties for GeoJsonPolygon

* rename maxDetourTime to maxDetourTimeInSeconds

* Update recordings

* Remove any

* Rename to detourTimeInSeconds to align the convention

* Change the test.yml EnvVar

See more explanation here:
- #23039 (comment)
- #23039 (comment)

* Rename numResults to numberResults

* Add document comment

* Add endpoint options to MapsRouteClient

* Remove unused dependencies in maps-route

* fixup! Change the test.yml EnvVar

* Update interfaces & documents

* Update changelog

* Merge getRouteDirection with the additional parameter one

* Update samples

* Make the `maps-common to a published package

* Update the import of `maps-common` in `maps-search`

* Fix CI Issue

* Add documents for geojson

* Update the samples & readme

* Leverage maps-common package in mpas-route

* chore update

- Remove the unnecessary rule setting of eslint
- Update the legacy type path

* Remove unnecessary eslint config

* WIP: Remove LRO generation

* WIP: refactor mapsRouteClient

* WIP: first generation

* Format the generated code

* Support AAD

* Transform the model name

* Add helper functions

* Add a sample - route.ts

* Add samples for lro

* Add test

* Generate samples

* Add api view

* Update the generation

* WIP: ReadMe

* Rename "computeBestOrder" to "computeBestWaypointOrder"

* Refine README

* Rename model

* Add test createRouteDirectionsBatchRequest

* Fix lint issue

* Add missing metadata

* Remove maps-route/

* Update CI issue

* Fix merged issue

* Update version rule for maps-common

* Update CI name

* Remove extra lint config

* Use `require` in the README for consistency

* Regenerate the samples

* Remove redundant recording files

* Remove unused parameters in test-resources.json

* Refine readme snippet

* Log something specific for the result

* Update samples

* Split the route.ts into 3

* Remove model rename

* Use default export for RLC factory function

Co-authored-by: Charlie Chen <charlie.chen@microsoft.com>
Co-authored-by: Charlie Chen <yuchungchen@microsoft.com>
Co-authored-by: --global <alankashiwa@gmail.com>
  • Loading branch information
4 people authored Oct 26, 2022
1 parent 2f5b32d commit ad48f52
Show file tree
Hide file tree
Showing 81 changed files with 111,451 additions and 3,426 deletions.
4 changes: 4 additions & 0 deletions .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,10 @@
"filename": "sdk/maps/maps-search/review/maps-search.api.md",
"words": ["bbox", "Neighbourhood", "Xstr"]
},
{
"filename": "sdk/maps/maps-route-rest/review/maps-route.api.md",
"words": ["bbox", "UTURN", "Hundredkm"]
},
{
"filename": "sdk/apimanagement/api-management-custom-widgets-scaffolder/review/api-management-custom-widgets-scaffolder.api.md",
"words": ["scaffolder", "APIM"]
Expand Down
Loading

0 comments on commit ad48f52

Please sign in to comment.