init studio admin backend

This commit is contained in:
2026-07-01 17:30:04 +09:00
commit 4437d9980d
144 changed files with 44964 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
import { Module } from '@nestjs/common';
import { PrismaService } from './prisma.service';
@Module({
providers: [PrismaService],
exports: [PrismaService],
})
export class PrismaModule {}
+32
View File
@@ -0,0 +1,32 @@
import { Injectable, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { ConfigService } from '@nestjs/config';
import { PrismaClient } from '@prisma/client';
@Injectable()
export class PrismaService
extends PrismaClient
implements OnModuleInit, OnModuleDestroy
{
constructor(private readonly configService: ConfigService) {
super();
}
async onModuleInit() {
try {
await this.$connect();
} catch (error) {
if (this.configService.get<string>('DATABASE_OPTIONAL') === 'true') {
console.warn(
'Database connection failed. Continuing because DATABASE_OPTIONAL=true.',
);
return;
}
throw error;
}
}
async onModuleDestroy() {
await this.$disconnect();
}
}