This commit refactors the project to use a shared Prisma schema and restricts direct database access to the API service. Key changes: - Created a new shared package `core/prisma` containing the Prisma schema, generated client, and types. - Configured the monorepo to use NPM workspaces, including `core/prisma` and all services. - Updated all services (`api`, `ui`, `mcp`, `agent`, and the background processing service) to depend on `@empresa/prisma-schema`. - The API service now imports `PrismaClient` from `@empresa/prisma-schema/client`. - Other services import only types from `@empresa/prisma-schema`. - Removed redundant Prisma configurations from `api` and the background processing service. - Updated the background processing service's `sync-empleados.js` to fetch data via an API call instead of direct database access. - Updated TypeScript configurations (`tsconfig.base.json` and service-specific ones) to support the new structure and path aliases. - Updated `README.md` to reflect the new architecture and added convenience scripts for Prisma operations. This change promotes a single source of truth for data models, reduces code duplication, and improves the overall architecture by centralizing database operations within the API service.
24 lines
811 B
JSON
24 lines
811 B
JSON
{
|
|
"extends": "../tsconfig.base.json",
|
|
"compilerOptions": {
|
|
"composite": true,
|
|
"target": "esnext",
|
|
"module": "esnext",
|
|
"moduleResolution": "node",
|
|
"jsx": "preserve",
|
|
"resolveJsonModule": true,
|
|
"isolatedModules": true,
|
|
"noEmit": true, // Vite handles emission
|
|
// Add Vue-specific options if not in base
|
|
"allowJs": true, // If you have JS files too
|
|
// Vite projects often use this for path aliases like @/
|
|
// The base already has baseUrl: "."
|
|
// Paths for @empresa/prisma-schema are inherited from tsconfig.base.json
|
|
"paths": {
|
|
"@/*": ["src/*"] // Local alias for UI project
|
|
}
|
|
},
|
|
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
|
|
"references": [{ "path": "./tsconfig.node.json" }] // Common for Vite projects
|
|
}
|