Fix API build: shared package emits dist, fix type errors
- packages/shared: tsconfig adds outDir/declaration, package.json adds build script
- apps/api/tsconfig.json: paths now point to shared/dist (.d.ts) instead of source,
resolves TS6059 rootDir conflict
- apps/api/src/routes/{health,notifications,users}.ts: explicit Router type annotation
to fix TS2742 portable type inference
- apps/api/src/events/handler.ts: cast via 'as unknown as' to satisfy TS2352
- apps/api/Dockerfile: build shared package before api
This commit is contained in:
@@ -75,8 +75,8 @@ function buildChangesBlock(prev: Reservation, curr: Reservation): string {
|
||||
const changes: Array<{ label: string; from: string; to: string }> = [];
|
||||
|
||||
for (const [field, label] of Object.entries(FIELD_LABELS)) {
|
||||
const prevVal = (prev as Record<string, unknown>)[field];
|
||||
const currVal = (curr as Record<string, unknown>)[field];
|
||||
const prevVal = (prev as unknown as Record<string, unknown>)[field];
|
||||
const currVal = (curr as unknown as Record<string, unknown>)[field];
|
||||
const prevStr = formatFieldValue(field, prevVal);
|
||||
const currStr = formatFieldValue(field, currVal);
|
||||
if (prevStr !== currStr) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Router } from 'express';
|
||||
import { Router, type Router as ExpressRouter } from 'express';
|
||||
|
||||
const router = Router();
|
||||
const router: ExpressRouter = Router();
|
||||
|
||||
router.get('/', (_req, res) => {
|
||||
res.json({ status: 'ok', timestamp: new Date().toISOString() });
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { Router } from 'express';
|
||||
import { Router, type Router as ExpressRouter } from 'express';
|
||||
import { scheduleNotificationsForReservation } from '../jobs/runner.js';
|
||||
import { handleNotificationEvent } from '../events/handler.js';
|
||||
import { supabaseAdmin } from '../lib/supabase.js';
|
||||
import type { Reservation } from '@naturcalabacera/shared';
|
||||
|
||||
const router = Router();
|
||||
const router: ExpressRouter = Router();
|
||||
|
||||
/**
|
||||
* POST /api/notifications/reservation-event
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { Router, type Request, type Response, type NextFunction } from 'express';
|
||||
import { Router, type Request, type Response, type NextFunction, type Router as ExpressRouter } from 'express';
|
||||
import { supabaseAdmin } from '../lib/supabase.js';
|
||||
import type { UserRole } from '@naturcalabacera/shared';
|
||||
|
||||
const router = Router();
|
||||
const router: ExpressRouter = Router();
|
||||
|
||||
const VALID_ROLES: UserRole[] = ['admin', 'internal_staff', 'external_availability_viewer'];
|
||||
|
||||
|
||||
Reference in New Issue
Block a user