diff --git a/bridge/src/adapters/baserow-client.ts b/bridge/src/adapters/baserow-client.ts index 86644da..a49c51e 100644 --- a/bridge/src/adapters/baserow-client.ts +++ b/bridge/src/adapters/baserow-client.ts @@ -37,7 +37,12 @@ export class BaserowClient { private readonly logger: Logger; constructor(opts: { baseUrl: string; token: string; logger: Logger }) { - this.baseUrl = opts.baseUrl.replace(/\/$/, ''); + // Every path in this client is written with the `/api/...` prefix + // (e.g. `/api/database/rows/table/:id/`). BASEROW_API_URL is configured + // as `http://baserow:80/api`, so a naive join would yield a double + // `/api/api/...` and Baserow returns 404. Strip a trailing `/api` (and + // slashes) so the base is host-only, robust to either env form. + this.baseUrl = opts.baseUrl.replace(/\/+$/, '').replace(/\/api$/, ''); this.token = opts.token; this.logger = opts.logger.child({ adapter: 'baserow' }); }