[Feature] Adding URL Shortener application#19
Conversation
Adding spec file and complete src handling for the URL Shortener product
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds a URL Shortener application to the project by implementing OpenAPI specification, SDK generation setup, and workspace configuration. It introduces a comprehensive REST API specification for a URL shortening service with support for redirect management, domain configuration, and RBAC controls.
- Adds complete OpenAPI 3.1.0 specification for URL Shortener API with endpoints for redirects, domains, banned terms, and RBAC management
- Sets up TypeScript SDK generation infrastructure using Kiota with authentication via Azure Identity
- Configures workspace integration for the new URL Shortener application
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| specs/Url-Shortener.json | Complete OpenAPI specification defining all API endpoints and schemas for the URL Shortener service |
| src/urlShortener/TypeScript/package.json | NPM package configuration for the TypeScript SDK with dependencies and build scripts |
| src/urlShortener/TypeScript/tsconfig.json | TypeScript compilation configuration for SDK generation |
| src/urlShortener/TypeScript/index.ts | Main SDK entry point with client factory function and input validation |
| src/urlShortener/TypeScript/README.md | Documentation for SDK usage and development |
| src/urlShortener/TypeScript/LICENSE | MIT license for the SDK package |
| src/urlShortener/TypeScript/.npmignore | NPM ignore configuration to exclude source files from published package |
| OpenAPI.code-workspace | VS Code workspace configuration updated to include URL Shortener project |
Files not reviewed (1)
- src/urlShortener/TypeScript/package-lock.json: Language not supported
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Fixing completely irrelevant typo in a pseudo-example
Regenerate lock Update version to reflect URL shortener version.
Ensure that it is listed in the render system.
Make it match the SUS app.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Update terminology for schemas so that they no longer contain a trailing "record" as that is tacky. Update example for URL configuration as the vanity and destinations were mixed up.
Ensure that IDs and immutable properties are not required during post operations and are properly marked in the retrieved data sets of the SDK.
Update the spec version to 3.1.1 to have some docs wording fixes.
The SUS version is currently at 0.0.1. This spec needs to match the server's version at all times.
Break down the SUS service's components. It isn't SHIELD and its sole purpose is to provide URL shortening. Not anything else, so it can have more tags in the redirect side of things.
Since SUS will run out of many different tenants, the UI needs to know how to authenticate. Expose the configurations via REST API call.
Copilot identified these items to have stricter typing info.
Makes it more clear.
elliot-huffman
left a comment
There was a problem hiding this comment.
Looks good to me!
Adding spec file for all endpoints used by the application based on OpenApi v3.1.0
Adding recognition of the application in the Workspace file
Adding dedicated folder under /src to build SDK for the application