diff --git a/src/api/repository/repository.service.ts b/src/api/repository/repository.service.ts index 9c9bbf0e..8f8db0c5 100644 --- a/src/api/repository/repository.service.ts +++ b/src/api/repository/repository.service.ts @@ -1,4 +1,6 @@ import { PrismaClient } from '@prisma/client'; +import fs from 'fs'; +import { join } from 'path'; import { ConfigService } from '../../config/env.config'; import { Logger } from '../../config/logger.config'; @@ -13,10 +15,29 @@ export class Query { export class PrismaRepository extends PrismaClient { constructor(private readonly configService: ConfigService) { super(); + + this.initStoreFolders(); } private readonly logger = new Logger(PrismaRepository.name); + private async initStoreFolders() { + try { + const storePath = join(process.cwd(), 'store'); + + this.logger.verbose('creating store path: ' + storePath); + + const tempDir = join(storePath, 'temp'); + + if (!fs.existsSync(tempDir)) { + this.logger.verbose('creating temp dir: ' + tempDir); + fs.mkdirSync(tempDir, { recursive: true }); + } + } catch (error) { + this.logger.error(error); + } + } + public async onModuleInit() { await this.$connect(); this.logger.info('Repository:Prisma - ON');