fix(02): fix prisma client in docker, resolve typescript errors
This commit is contained in:
@@ -14,6 +14,7 @@ COPY --from=deps /app/ ./
|
|||||||
COPY apps/api/ ./apps/api/
|
COPY apps/api/ ./apps/api/
|
||||||
COPY packages/shared/ ./packages/shared/
|
COPY packages/shared/ ./packages/shared/
|
||||||
COPY tsconfig.base.json ./
|
COPY tsconfig.base.json ./
|
||||||
|
RUN pnpm --filter=@tessera/api exec prisma generate
|
||||||
RUN pnpm --filter=@tessera/api build
|
RUN pnpm --filter=@tessera/api build
|
||||||
|
|
||||||
FROM base AS runner
|
FROM base AS runner
|
||||||
@@ -27,6 +28,8 @@ COPY --from=deps /app/apps/api/node_modules ./apps/api/node_modules
|
|||||||
COPY --from=deps /app/apps/api/package.json ./apps/api/
|
COPY --from=deps /app/apps/api/package.json ./apps/api/
|
||||||
COPY --from=deps /app/packages/shared/package.json ./packages/shared/
|
COPY --from=deps /app/packages/shared/package.json ./packages/shared/
|
||||||
COPY --from=builder /app/apps/api/dist ./apps/api/dist
|
COPY --from=builder /app/apps/api/dist ./apps/api/dist
|
||||||
|
COPY --from=builder /app/node_modules/.pnpm/@prisma+client@6.19.3_prisma@6.19.3_typescript@5.9.3__typescript@5.9.3/node_modules/.prisma ./node_modules/.pnpm/@prisma+client@6.19.3_prisma@6.19.3_typescript@5.9.3__typescript@5.9.3/node_modules/.prisma
|
||||||
|
COPY --from=builder /app/apps/api/prisma ./apps/api/prisma
|
||||||
COPY --from=builder /app/packages/shared/src ./packages/shared/src
|
COPY --from=builder /app/packages/shared/src ./packages/shared/src
|
||||||
USER nestjs
|
USER nestjs
|
||||||
EXPOSE 3001
|
EXPOSE 3001
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { PrismaClient } from '@prisma/client';
|
|||||||
export function forTenant(prisma: PrismaClient, tenantId: string) {
|
export function forTenant(prisma: PrismaClient, tenantId: string) {
|
||||||
return prisma.$extends({
|
return prisma.$extends({
|
||||||
query: {
|
query: {
|
||||||
$allOperations({ args, query }) {
|
$allOperations({ args, query }: { args: any; query: (args: any) => any }) {
|
||||||
return (prisma as any).$transaction(async (tx: any) => {
|
return (prisma as any).$transaction(async (tx: any) => {
|
||||||
// Use parameterized query to avoid SQL injection
|
// Use parameterized query to avoid SQL injection
|
||||||
await tx.$executeRawUnsafe(
|
await tx.$executeRawUnsafe(
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ export class TenantController {
|
|||||||
orderBy: { name: 'asc' },
|
orderBy: { name: 'asc' },
|
||||||
});
|
});
|
||||||
|
|
||||||
return tenants.map((t) => ({
|
return tenants.map((t: any) => ({
|
||||||
id: t.id,
|
id: t.id,
|
||||||
name: t.name,
|
name: t.name,
|
||||||
slug: t.slug,
|
slug: t.slug,
|
||||||
|
|||||||
Reference in New Issue
Block a user