Example PR reivew#2
Open
quocbao19982009 wants to merge 7 commits into
Open
Conversation
added 7 commits
March 20, 2026 14:08
Add a CamelCaseQueryParameterFilter to rewrite query parameter names to camelCase in the generated OpenAPI spec and register it with Swagger. Configure controllers to use System.Text.Json camelCase naming for properties and dictionary keys so API payloads are consistently camelCase. Fix frontend assetUrl to ensure a slash separates API base URL and the relative path. Changed files: added Backend.Common.Swagger.CamelCaseQueryParameterFilter, updated backend Program.cs, and updated frontend/src/lib/utils.ts.
Rename API query parameters from PascalCase to camelCase across swagger and generated client types (page, pageSize, roomId, fromDate, toDate, search, locationId, sortBy, sortDir). Update generated zod schemas and model types to match. Replace manual API base URL concatenation with assetUrl helper in room form and rooms table. Add frontend typecheck script to package.json and include a new room image upload asset. Miscellaneous UI/formatting tweaks in the rooms calendar (layout/spacing, reduce pageSize to 100, adjust query options). These changes align parameter naming and asset handling between backend and frontend.
Replace local inline Zod schemas in room and booking form dialogs with generated PostApi*Body-based schemas and wire up i18n validation messages. Add imports for PostApiRoomsBody and PostApiBookingsBody, infer form value types from the extended schemas, and keep the same refinement for start/end times. Also change a query param fallback to undefined in rooms calendar and add corresponding validation message keys to en.json and fi.json.
Switch frontend TypeScript checks to the project tsconfig (tsconfig.app.json) across docs, CI/skill definitions and PR template. Add a convenient "typecheck" npm script in frontend/package.json that runs npx tsc --noEmit -p tsconfig.app.json. Also add frontend form validation guidance (Zod v4 notes, .extend() usage and cross-field .refine()) to feature-generation docs, update the workflow visual to reflect the new typecheck command, and expand .claude/settings.local.json permissions (mode: bypassPermissions) to allow local tooling commands. Minor PR template formatting/whitespace adjustments included.
Add src/api/generated/** to ESLint global ignores to avoid linting generated API client code. Update package.json format scripts to run Prettier only on ./src (format and format:check) to prevent formatting generated or unrelated files.
quocbao19982009
commented
Mar 24, 2026
Owner
Author
There was a problem hiding this comment.
Example: This is not correct, double check this
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Test Plan
Checklist
dotnet build)npm run lint) and type-checks (npx tsc --noEmit -p tsconfig.app.json)en.jsonandfi.json(if UI text changed)