fix: resolve QueryFailedError in api - #3138
Draft
oneuptime-test[bot] wants to merge 1 commit into
Draft
Conversation
This commit fixes an exception detected by OneUptime. Exception Type: QueryFailedError Exception ID: b505f507-2772-491c-8f6c-d7d4cef8e999 Automatically generated by OneUptime AI Agent.
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
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.
Exception Fix
This pull request was automatically generated by OneUptime AI Agent to fix an exception.
Exception Details
Service: api
Type: QueryFailedError
Message (dynamic values and secrets redacted): invalid input syntax for type uuid: "<HEX_ID>-63b"
Stack Trace
Summary of Changes
Summary
Root Cause: The
QueryFailedError: invalid input syntax for type uuid: "<HEX_ID>-63b"occurred becauseIncidentService.onBeforeCreate()was usingcreateBy.data.createdIncidentTemplateIdas a UUID in a database query (IncidentTemplateService.findOneBy), but this field can contain two different types of values:IncidentTemplatedatabase record<HEX_ID>-63b) — when set automatically byMonitorIncident.tsduring probe-driven incident creation. This is just a short identifier for the monitor criteria template, NOT a database UUID.When the value was a criteria template ID, it was passed directly to PostgreSQL as a UUID parameter, causing the
invalid input syntax for type uuiderror.Fix Applied: In
Common/Server/Services/IncidentService.ts, line ~716, the condition that gates theIncidentTemplatelookup was changed from:to:
This ensures the template lookup block only executes when
createdIncidentTemplateIdis both present AND a valid UUID. When the value is a criteria template ID (non-UUID), the block is skipped, and the incident creation proceeds normally using the default "created" incident state fallback.What was NOT done (budget exhausted): TypeScript compilation verification could not be completed due to npm cache permission issues, but the fix uses the existing
ObjectID.isValidUUID()static method which is already imported in the file and follows the same patterns used elsewhere in the codebase.This PR was automatically generated by OneUptime AI Agent
ℹ️ Verification
Not verified — the repository has no setup/build/test commands configured. Configure them on the code repository to have fixes verified before the pull request opens.