Skip to content

[Feature] Adding URL Shortener application#19

Merged
elliot-huffman merged 14 commits intomainfrom
pasha-sus-spec
Aug 23, 2025
Merged

[Feature] Adding URL Shortener application#19
elliot-huffman merged 14 commits intomainfrom
pasha-sus-spec

Conversation

@pasha-zayko
Copy link
Contributor

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

Adding spec file and complete src handling for the URL Shortener product
@pasha-zayko pasha-zayko self-assigned this Aug 20, 2025
Copilot AI review requested due to automatic review settings August 20, 2025 20:55
@pasha-zayko pasha-zayko added enhancement New feature or request good first issue Good for newcomers labels Aug 20, 2025
@socket-security
Copy link

socket-security bot commented Aug 20, 2025

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.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
@inquirer/external-editor@1.0.1 has a License Policy Violation.

Location: Package overview

From: src/urlShortener/TypeScript/package-lock.jsonnpm/typia@9.7.1npm/@inquirer/external-editor@1.0.1

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@inquirer/external-editor@1.0.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
@types/node@24.3.0 has a License Policy Violation.

Location: Package overview

From: src/urlShortener/TypeScript/package-lock.jsonnpm/@types/node@24.3.0

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@types/node@24.3.0. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
quansync@0.2.11 has a License Policy Violation.

Location: Package overview

From: src/urlShortener/TypeScript/package-lock.jsonnpm/typia@9.7.1npm/quansync@0.2.11

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/quansync@0.2.11. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
quansync@0.2.11 has Unstable ownership.

Author: [GitHub Actions](https://socket.dev/npm/user/GitHub Actions)

From: src/urlShortener/TypeScript/package-lock.jsonnpm/typia@9.7.1npm/quansync@0.2.11

ℹ Read more on: This package | This alert | What is unstable ownership?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Try to reduce the number of authors you depend on to reduce the risk to malicious actors gaining access to your supply chain. Packages should remove inactive collaborators with publishing rights from packages on npm.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/quansync@0.2.11. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
@elliot-huffman elliot-huffman changed the title Adding URL Shortener application [Feature] Adding URL Shortener application Aug 22, 2025
Regenerate lock
Update version to reflect URL shortener version.
Ensure that it is listed in the render system.
Make it match the SUS app.
@socket-security
Copy link

socket-security bot commented Aug 23, 2025

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Added@​types/​node@​24.3.01001008094100

View full report

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.
URL had a space in it which made it invalid.
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.
Copy link
Contributor

@elliot-huffman elliot-huffman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@elliot-huffman elliot-huffman requested a review from Copilot August 23, 2025 02:47
@elliot-huffman elliot-huffman merged commit df2416f into main Aug 23, 2025
6 checks passed
@elliot-huffman elliot-huffman deleted the pasha-sus-spec branch August 23, 2025 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request good first issue Good for newcomers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants