# syntax=docker/dockerfile:1.7
#
# Build a partir da raiz do monorepo (context: .), só com os pacotes que
# este serviço realmente usa. Roda via `tsx` direto (sem etapa de `tsc build`
# nem dist/): os pacotes internos (@b2bcall/shared, @b2bcall/telephony) ainda
# não tem pipeline de build próprio — ver docs/FREESWITCH_EVENTS.md.
FROM node:22-slim

RUN corepack enable && corepack prepare pnpm@11.24.0 --activate

WORKDIR /repo

COPY pnpm-workspace.yaml package.json pnpm-lock.yaml tsconfig.base.json ./
COPY packages/types packages/types
COPY packages/shared packages/shared
COPY packages/telephony packages/telephony
COPY apps/freeswitch-events apps/freeswitch-events

RUN pnpm install --frozen-lockfile --filter @b2bcall/freeswitch-events...

WORKDIR /repo/apps/freeswitch-events

CMD ["pnpm", "exec", "tsx", "src/main.ts"]
