hikari abb39c67f2
Node.js CI / CI (pull_request) Failing after 34s
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 1m9s
feat: apply comprehensive validation to all remaining services
Extended the comprehensive input validation pattern to Music, Art,
Show, and Manga services, completing security coverage across all
media types in the library.

Services Updated:

1. Music Service
   - Title validation (max 500 characters)
   - Artist validation (max 200 characters)
   - Notes validation (max 5000 characters)
   - Cover art URL validation (max 2048 characters, http/https only)
   - Rating validation (0-10 integers)
   - Tags validation (each max 50 characters)
   - Links validation (valid URLs, max lengths)

2. Art Service
   - Title validation (max 500 characters)
   - Artist validation (max 200 characters)
   - Description validation (max 5000 characters)
   - Image URL validation (required, valid URL)
   - Links validation (valid URLs, max lengths)

3. Show Service
   - Title validation (max 500 characters)
   - Notes validation (max 5000 characters)
   - Cover image URL validation (max 2048 characters, http/https only)
   - Rating validation (0-10 integers)
   - Tags validation (each max 50 characters)
   - Links validation (valid URLs, max lengths)

4. Manga Service
   - Title validation (max 500 characters)
   - Author validation (max 200 characters)
   - Notes validation (max 5000 characters)
   - Cover image URL validation (max 2048 characters, http/https only)
   - Rating validation (0-10 integers)
   - Tags validation (each max 50 characters)
   - Links validation (valid URLs, max lengths)

Security Improvements:

All services now protect against:
- XSS attacks via malicious URLs (javascript:, data:, vbscript:, file:)
- Buffer overflow via excessively long strings
- Invalid data formats
- DoS attacks via massive input

Validation Pattern:

Each service includes:
- Private validateData() method with comprehensive checks
- Validation calls at the start of create() and update() methods
- Descriptive error messages for all validation failures
- Consistent use of MAX_LENGTHS constants

Files Modified:
- api/src/app/services/music.service.ts
- api/src/app/services/art.service.ts
- api/src/app/services/show.service.ts
- api/src/app/services/manga.service.ts

The entire application now has consistent, comprehensive input
validation across all user-facing services!
2026-02-20 01:44:57 -08:00
2026-02-03 10:36:41 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 10:09:37 -08:00
2026-02-03 08:08:38 -08:00
2026-02-03 08:08:38 -08:00

Library

Your new, shiny Nx workspace is ready .

Learn more about this workspace setup and its capabilities or run npx nx graph to visually explore what was created. Now, let's get you up to speed!

Run tasks

To run the dev server for your app, use:

npx nx serve frontend

To create a production bundle:

npx nx build frontend

To see all available targets to run for a project, run:

npx nx show project frontend

These targets are either inferred automatically or defined in the project.json or package.json files.

More about running tasks in the docs »

Add new projects

While you could add new projects to your workspace manually, you might want to leverage Nx plugins and their code generation feature.

Use the plugin's generator to create new projects.

To generate a new application, use:

npx nx g @nx/angular:app demo

To generate a new library, use:

npx nx g @nx/angular:lib mylib

You can use npx nx list to get a list of installed plugins. Then, run npx nx list <plugin-name> to learn about more specific capabilities of a particular plugin. Alternatively, install Nx Console to browse plugins and generators in your IDE.

Learn more about Nx plugins » | Browse the plugin registry »

Set up CI!

Step 1

To connect to Nx Cloud, run the following command:

npx nx connect

Connecting to Nx Cloud ensures a fast and scalable CI pipeline. It includes features such as:

Step 2

Use the following command to configure a CI workflow for your workspace:

npx nx g ci-workflow

Learn more about Nx on CI

Install Nx Console

Nx Console is an editor extension that enriches your developer experience. It lets you run tasks, generate code, and improves code autocompletion in your IDE. It is available for VSCode and IntelliJ.

Install Nx Console »

Learn more:

And join the Nx community:

S
Description
No description provided
Readme 125 MiB
v1.1.1 Latest
2026-02-23 20:39:27 -08:00
Languages
TypeScript 97.5%
HTML 1%
SCSS 0.7%
CSS 0.4%
JavaScript 0.4%