PrismaP
Prisma2mo ago
5 replies
Consii

Nestjs Prisma Client Extension for Soft Delete in v7 with type-safety

How can I setup properly the soft delete extension after migrating to v7 with type-safety?
I am using this ext. https://github.com/olivierwilkinson/prisma-extension-soft-delete
It has type-safety before, but right now it gives me an 'any' type when using it on my services.
import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { PrismaClient } from '@src/generated/client';
import { createSoftDeleteExtension } from 'prisma-extension-soft-delete';

@Injectable()
export class DatabaseService extends PrismaClient implements OnModuleInit, OnModuleDestroy {
  async softDelete() {
    return this.$extends(
      createSoftDeleteExtension({
        models: { [models here] },
        defaultConfig: {
          field: 'deletedAt',
          createValue: (deleted) => (deleted ? new Date() : null),
          allowToOneUpdates: true,
        },
      }),
    );
  }

  async onModuleInit() {
    return await this.$connect();
  }

  async onModuleDestroy() {
    return await this.$disconnect();
  }
}
image.png
image.png
GitHub
Prisma extension for adding soft delete to Prisma models, even when using nested queries - GitHub - olivierwilkinson/prisma-extension-soft-delete: Prisma extension for adding soft delete to Prisma...
GitHub - olivierwilkinson/prisma-extension-soft-delete: Prisma exte...
Was this page helpful?