From 82f67debc176ee37208e1734a59b36e81a19c702 Mon Sep 17 00:00:00 2001 From: Jake Turner <52841588+jakeaturner@users.noreply.github.com> Date: Wed, 20 May 2026 09:21:36 -0700 Subject: [PATCH] fix(models): correct inverted belongsTo keys on ChatMessage.session (#921) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit foreignKey/localKey were swapped on the ChatMessage → ChatSession relation. Per Lucid's belongsTo contract, foreignKey is the column on the child model and localKey is on the parent — so this must be { foreignKey: 'session_id', localKey: 'id' }, mirroring the inverse hasMany on ChatSession. The relation is not currently preloaded anywhere in the codebase, so no runtime behavior changes today; this closes a latent bug that would have broken any future preload('session') call. --- admin/app/models/chat_message.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/app/models/chat_message.ts b/admin/app/models/chat_message.ts index da93e00..f0633ff 100644 --- a/admin/app/models/chat_message.ts +++ b/admin/app/models/chat_message.ts @@ -18,7 +18,7 @@ export default class ChatMessage extends BaseModel { @column() declare content: string - @belongsTo(() => ChatSession, { foreignKey: 'id', localKey: 'session_id' }) + @belongsTo(() => ChatSession, { foreignKey: 'session_id', localKey: 'id' }) declare session: BelongsTo @column.dateTime({ autoCreate: true })