Repository navigation
Conversation
…used columns - Flatten modelMinimalListSelect to fix 500 error with nested selects + $dynamic() - Remove imageLocalPath and imageUrl references (columns dropped from DB) - Source primary image from model_images table; return presigned URL as imageUrl - Remove originalUrl from model_images response, schema, and insert - Add batch queryPrimaryImages + generateImagePresignedUrl helpers - Add "Available" status fallback for null status in all model endpoints - Add 416 code to httpStatusCodes to fix page_out_of_bounds serialization - Create migration 0010 for FULLTEXT index on models (name, models_text, ...)
feat(Devices): Categories, models and makers for known devices
…ching Enable experimentalDecorators in tsconfig and create CacheService (fail-open Redis wrapper), @cached, and @InvalidateCache decorators under src/shared/infra/cache/. Relates to FIXR-13
Apply @cached to queryModelById, queryModelBySlug, queryModelImages. Apply @InvalidateCache to insertModel, updateModel, deleteModel, insertModelImage, deleteModelImageRecord. Relates to FIXR-13
Replace manual redis.get/set/del with declarative decorators. Add @cached to queryUserById, queryUserByEmail, queryJWTPayloadByUserId. Add @InvalidateCache to setUserVerified, deleteUser, updateUserWithGoogleData. Relates to FIXR-13
Replace manual redis.get/set with @cached on queryAccountById. Relates to FIXR-13
Replace manual redis.get/set with @cached on queryCompanyById and queryCompanyBySubdomain. Add @InvalidateCache to createOrgWithAdmin. Relates to FIXR-13
Replace manual redis.del with @InvalidateCache on updateUserPassword. Relates to FIXR-13
…ers repos Add @cached decorators to read-heavy methods and @InvalidateCache to write methods across remaining repositories for transparent Redis caching. Relates to FIXR-13
All cache key helpers and CACHE_TTL have been replaced by @cached and @InvalidateCache decorator options. Relates to FIXR-13
- Public GET /health returning ok/degraded/unavailable per service - MySQL ping via SELECT 1, Redis ping via PING, Workers via BullMQ queue - Latency measurement with threshold-based health classification - OpenAPI docs under Health tag (visible in Scalar/Swagger) - Parallel health checks via Promise.allSettled FIXR-42
…rface Relates to FIXR-40
Relates to FIXR-39
- Use headers.getSetCookie() instead of headers.get('Set-Cookie')
to forward all Set-Cookie headers (was missing second cookie)
- Use NextResponse.next() instead of redirect on success to prevent loop
- Add !payload guard so malformed JWTs also trigger revalidation
Fixes FIXR-43
… spacings feat(UI): Improvements on forms UX, app colors, font sizes and spacings
refactor(Cache): Annotation abstracted cache and invalidation methods
… route - Unified three separate presign endpoints into a single /:purpose/presign - Added purpose enum (avatar, service_orders, model_image) to uploads table - Replaced model_images.r2Key with uploadId FK to uploads table - Removed redundant columns from service_order_images (imageUrl, fileName, sizeInBytes, contentType) - Made uploads.company_id and employee_id nullable for avatar uploads - Added upload size validation with UPLOAD_SIZE_EXCEEDED error - Simplified upload schemas and deprecated createModelImageUploadPresignSchema - Updated docs, repositories, services, and controllers to use unified flow
Merge conflict markers were left in the file after merging the cache refactor with the avatar upload feature, breaking type-checking. Uses the new InvalidateCache decorator, consistent with other repositories, instead of the removed core/lib/cache helpers. Co-Authored-By: Claude Sonnet 5 <[email protected]>
FIXR-53 Co-Authored-By: Claude Sonnet 5 <[email protected]>
docs(Repo): Add AGENTS.md, CLAUDE.md and per-app guardrails for AI agents
Adds LICENSE (MIT), CONTRIBUTING.md, CODE_OF_CONDUCT.md, GitHub issue and pull request templates, and links them from the README.
The README told contributors to create a single root .env, but each app/package loads its own local .env (no root .env.example exists). Also documents the missing env vars (ADMIN_URL, Turnstile, R2), adds the missing bun run dev:admin step, and lists bun run db:seed.
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
@Cached/@InvalidateCachedecorators across Account, Auth, Companies, Credentials, Models, Categories, Makers, Employees and ServiceOrders reposGET /healthendpoint with MySQL, Redis and Workers probes