diff --git a/src/server/db/index.proxy-wrap.test.ts b/src/server/db/index.proxy-wrap.test.ts index 3909e87..f1a013b 100644 --- a/src/server/db/index.proxy-wrap.test.ts +++ b/src/server/db/index.proxy-wrap.test.ts @@ -81,6 +81,29 @@ describe('db proxy query wrapper', () => { }); }); + it('normalizes postgres inserts with returning ids for oauth route units', async () => { + const query = vi.fn(async () => ({ + rows: [{ id: 7 }], + rowCount: 1, + })); + const executor = { query }; + + const result = await testUtils.pgProxyQuery( + executor as any, + 'insert into "oauth_route_units" ("site_id", "provider", "name") values ($1, $2, $3)', + [1, 'codex', 'pool-a'], + 'execute', + ); + + expect(query).toHaveBeenCalledWith({ + text: 'insert into "oauth_route_units" ("site_id", "provider", "name") values ($1, $2, $3) returning id', + values: [1, 'codex', 'pool-a'], + }); + expect(result).toEqual({ + rows: [{ changes: 1, lastInsertRowid: 7 }], + }); + }); + it('builds mysql pool options with jsonStrings enabled', () => { expect(testUtils.buildMysqlPoolOptions('mysql://root:pass@db.example.com:3306/metapi', false)).toMatchObject({ uri: 'mysql://root:pass@db.example.com:3306/metapi', diff --git a/src/server/db/index.ts b/src/server/db/index.ts index bebadb2..100ab1d 100644 --- a/src/server/db/index.ts +++ b/src/server/db/index.ts @@ -33,6 +33,8 @@ const TABLES_WITH_NUMERIC_ID = new Set([ 'token_routes', 'route_group_sources', 'route_channels', + 'oauth_route_units', + 'oauth_route_unit_members', 'proxy_logs', 'proxy_debug_traces', 'proxy_debug_attempts',