mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-11 18:48:33 -05:00
- Use token API to get auth token before using other endpoints. Note this needs server updates before it'll work as expected (will only checkin after verifying this) - Add auth option in controller UI and plumb through connection save, load, and uses of the controller API Because the swagger spec is split in 2 created new file for the 2nd swagger spec including token auth endpoints. These come from a running cluster and instructions were updated to reflect this. New UI Changes: - Added authentication type field with "Basic" and "Windows Authentication" as the options - Moved error notifications to the dialog instead of separate notification window. That's the recommended pattern - Username / password aren't required for Windows Authentication. I couldn't find a way to change required status in form container on switching from Windows => Basic Auth so have error show on clicking OK. - Controller URL should use ":" not "," for IP:Port
26 lines
1.7 KiB
Plaintext
26 lines
1.7 KiB
Plaintext
How to update the Swagger-generated API to contact the controller
|
|
|
|
## BdcRouter API:
|
|
1. You need to get the API specification. Long-term you should be able to get from the server,
|
|
but for now go to the internal repository and find the checked in SwaggerClient.yaml there.
|
|
|
|
2. Copy the content from there, and add into https://editor.swagger.io/
|
|
3. Choose Generate Client, and choose Typescript-Node as the client to generate
|
|
4. This will download a zip file. Open it and copy contents of api.ts
|
|
5. Copy this content to apiGenerated.ts
|
|
- keep the copyright header and everything above the let defaultBasePath = xyz line,
|
|
- Override the rest of the file
|
|
6. Format the apiGenerated.ts file so it passes gulp hygiene
|
|
|
|
## TokenRouter and other APIs:
|
|
1. Get the API spec. This is available from a cluster at the address https://<ip>:30080/docs/swagger.json, where <ip> is the controller IP address.
|
|
2. Copy the content from there, and add convert from OpenApi 3.0 to Swagger 2.0 so we can use the Typescript-Node client generated by https://editor.swagger.io/.
|
|
Various converter tools are online. Alternatively, we might be able to use a different generator that has this client type (e.g. npm package @openapitools/openapi-generator-cli) but some require Java install.
|
|
3. Copy the converted Swagger 2.0 spec into https://editor.swagger.io/
|
|
4. Choose Generate Client, and choose Typescript-Node as the client to generate
|
|
5. This will download a zip file. Open it and copy contents of api.ts
|
|
6. Copy this content to tokenApiGenerated.ts
|
|
- keep the copyright header and everything above the let defaultBasePath = xyz line,
|
|
- Override the rest of the file
|
|
7. Format the tokenApiGenerated.ts file so it passes gulp hygiene
|