diff --git a/server/src/app.controller.ts b/server/src/app.controller.ts index ede777b4e6..d5a57e0537 100644 --- a/server/src/app.controller.ts +++ b/server/src/app.controller.ts @@ -1,7 +1,7 @@ import { Controller, Get, Logger } from '@nestjs/common' import { ApiOperation, ApiTags } from '@nestjs/swagger' import { ResponseUtil } from './utils/response' -import { PrismaService } from './prisma.service' +import { PrismaService } from './prisma/prisma.service' @ApiTags('Public') @Controller() diff --git a/server/src/app.module.ts b/server/src/app.module.ts index fd318caf96..f5d94d6635 100644 --- a/server/src/app.module.ts +++ b/server/src/app.module.ts @@ -11,13 +11,14 @@ import { InitializerModule } from './initializer/initializer.module' import { InstanceModule } from './instance/instance.module' import { ScheduleModule } from '@nestjs/schedule' import { DatabaseModule } from './database/database.module' -import { PrismaService } from './prisma.service' +import { PrismaService } from './prisma/prisma.service' import { StorageModule } from './storage/storage.module' import { LogModule } from './log/log.module' import { DependencyModule } from './dependency/dependency.module' import { TriggerModule } from './trigger/trigger.module' import { RegionModule } from './region/region.module' import { GatewayModule } from './gateway/gateway.module' +import { PrismaModule } from './prisma/prisma.module' @Module({ imports: [ @@ -40,8 +41,9 @@ import { GatewayModule } from './gateway/gateway.module' TriggerModule, RegionModule, GatewayModule, + PrismaModule, ], controllers: [AppController], - providers: [AppService, PrismaService], + providers: [AppService], }) export class AppModule {} diff --git a/server/src/application/application.module.ts b/server/src/application/application.module.ts index 6f39d8da9f..c0bd2ca788 100644 --- a/server/src/application/application.module.ts +++ b/server/src/application/application.module.ts @@ -1,7 +1,6 @@ import { Module } from '@nestjs/common' import { ApplicationController } from './application.controller' import { ApplicationService } from './application.service' -import { PrismaService } from '../prisma.service' import { ApplicationTaskService } from './application-task.service' import { InstanceService } from '../instance/instance.service' import { JwtService } from '@nestjs/jwt' @@ -18,7 +17,6 @@ import { GatewayModule } from 'src/gateway/gateway.module' controllers: [ApplicationController, EnvironmentVariableController], providers: [ ApplicationService, - PrismaService, ApplicationTaskService, InstanceService, JwtService, diff --git a/server/src/application/application.service.ts b/server/src/application/application.service.ts index 4ff64ee8fe..9de8e73865 100644 --- a/server/src/application/application.service.ts +++ b/server/src/application/application.service.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common' import * as nanoid from 'nanoid' import { CreateApplicationDto } from './dto/create-application.dto' import { ApplicationPhase, ApplicationState, Prisma } from '@prisma/client' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { UpdateApplicationDto } from './dto/update-application.dto' import { APPLICATION_SECRET_KEY, diff --git a/server/src/application/environment.service.ts b/server/src/application/environment.service.ts index b797efd123..105f79597e 100644 --- a/server/src/application/environment.service.ts +++ b/server/src/application/environment.service.ts @@ -1,5 +1,5 @@ import { Injectable, Logger } from '@nestjs/common' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { CreateEnvironmentDto } from './dto/create-env.dto' @Injectable() diff --git a/server/src/auth/auth.module.ts b/server/src/auth/auth.module.ts index a56733576d..4e75202d10 100644 --- a/server/src/auth/auth.module.ts +++ b/server/src/auth/auth.module.ts @@ -9,7 +9,6 @@ import { JwtStrategy } from './jwt.strategy' import { AuthController } from './auth.controller' import { HttpModule } from '@nestjs/axios' import { PatService } from 'src/user/pat.service' -import { PrismaService } from 'src/prisma.service' @Module({ imports: [ @@ -21,13 +20,7 @@ import { PrismaService } from 'src/prisma.service' UserModule, HttpModule, ], - providers: [ - AuthService, - JwtStrategy, - CasdoorService, - PatService, - PrismaService, - ], + providers: [AuthService, JwtStrategy, CasdoorService, PatService], exports: [AuthService], controllers: [AuthController], }) diff --git a/server/src/database/database.module.ts b/server/src/database/database.module.ts index 8492519e1e..87b63e503a 100644 --- a/server/src/database/database.module.ts +++ b/server/src/database/database.module.ts @@ -5,7 +5,6 @@ import { PolicyController } from './policy/policy.controller' import { PolicyService } from './policy/policy.service' import { DatabaseService } from './database.service' import { DatabaseController } from './database.controller' -import { PrismaService } from 'src/prisma.service' import { PolicyRuleService } from './policy/policy-rule.service' import { PolicyRuleController } from './policy/policy-rule.controller' import { MongoService } from './mongo.service' @@ -24,7 +23,6 @@ import { ApplicationService } from 'src/application/application.service' CollectionService, PolicyService, DatabaseService, - PrismaService, PolicyRuleService, MongoService, ApplicationService, @@ -33,7 +31,6 @@ import { ApplicationService } from 'src/application/application.service' CollectionService, PolicyService, DatabaseService, - PrismaService, PolicyRuleService, MongoService, ], diff --git a/server/src/database/database.service.ts b/server/src/database/database.service.ts index c71e578f75..343b4e9895 100644 --- a/server/src/database/database.service.ts +++ b/server/src/database/database.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common' import * as assert from 'node:assert' import { MongoAccessor } from 'database-proxy' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { Database, DatabasePhase, DatabaseState, Region } from '@prisma/client' import { GenerateAlphaNumericPassword } from 'src/utils/random' import { MongoService } from './mongo.service' diff --git a/server/src/database/policy/policy-rule.service.ts b/server/src/database/policy/policy-rule.service.ts index 537058c8a7..ed472921b4 100644 --- a/server/src/database/policy/policy-rule.service.ts +++ b/server/src/database/policy/policy-rule.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common' import * as assert from 'node:assert' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { CreatePolicyRuleDto } from '../dto/create-rule.dto' import { UpdatePolicyRuleDto } from '../dto/update-rule.dto' import { PolicyService } from './policy.service' diff --git a/server/src/database/policy/policy.service.ts b/server/src/database/policy/policy.service.ts index 936b7969fd..79278f3b9f 100644 --- a/server/src/database/policy/policy.service.ts +++ b/server/src/database/policy/policy.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@nestjs/common' import { DatabasePolicy, DatabasePolicyRule } from '@prisma/client' import { CN_PUBLISHED_POLICIES } from 'src/constants' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { DatabaseService } from '../database.service' import { CreatePolicyDto } from '../dto/create-policy.dto' import { UpdatePolicyDto } from '../dto/update-policy.dto' diff --git a/server/src/dependency/dependency.module.ts b/server/src/dependency/dependency.module.ts index fe33a2875a..06d79104b3 100644 --- a/server/src/dependency/dependency.module.ts +++ b/server/src/dependency/dependency.module.ts @@ -1,12 +1,11 @@ import { Module } from '@nestjs/common' import { ApplicationModule } from 'src/application/application.module' -import { PrismaService } from 'src/prisma.service' import { DependencyController } from './dependency.controller' import { DependencyService } from './dependency.service' @Module({ imports: [ApplicationModule], controllers: [DependencyController], - providers: [DependencyService, PrismaService], + providers: [DependencyService], }) export class DependencyModule {} diff --git a/server/src/dependency/dependency.service.ts b/server/src/dependency/dependency.service.ts index ee2d1085af..8802ee3f9b 100644 --- a/server/src/dependency/dependency.service.ts +++ b/server/src/dependency/dependency.service.ts @@ -1,5 +1,5 @@ import { Injectable, Logger } from '@nestjs/common' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { RUNTIME_BUILTIN_DEPENDENCIES } from 'src/runtime-builtin-deps' import * as npa from 'npm-package-arg' import { CreateDependencyDto } from './dto/create-dependency.dto' diff --git a/server/src/function/function.module.ts b/server/src/function/function.module.ts index 0fc7960b1d..870078661b 100644 --- a/server/src/function/function.module.ts +++ b/server/src/function/function.module.ts @@ -1,7 +1,6 @@ import { Module } from '@nestjs/common' import { JwtService } from '@nestjs/jwt' import { ApplicationModule } from '../application/application.module' -import { PrismaService } from '../prisma.service' import { FunctionController } from './function.controller' import { FunctionService } from './function.service' import { DatabaseModule } from 'src/database/database.module' @@ -9,7 +8,7 @@ import { DatabaseModule } from 'src/database/database.module' @Module({ imports: [ApplicationModule, DatabaseModule], controllers: [FunctionController], - providers: [FunctionService, PrismaService, JwtService], + providers: [FunctionService, JwtService], exports: [FunctionService], }) export class FunctionModule {} diff --git a/server/src/function/function.service.ts b/server/src/function/function.service.ts index 39ffe273c6..ccb0910fbd 100644 --- a/server/src/function/function.service.ts +++ b/server/src/function/function.service.ts @@ -6,7 +6,7 @@ import { CN_FUNCTION_LOGS, CN_PUBLISHED_FUNCTIONS, } from '../constants' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { CreateFunctionDto } from './dto/create-function.dto' import { UpdateFunctionDto } from './dto/update-function.dto' import * as assert from 'node:assert' diff --git a/server/src/gateway/bucket-domain.service.ts b/server/src/gateway/bucket-domain.service.ts index 3485444083..40329c1d5a 100644 --- a/server/src/gateway/bucket-domain.service.ts +++ b/server/src/gateway/bucket-domain.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common' import { DomainPhase, DomainState, StorageBucket } from '@prisma/client' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { RegionService } from '../region/region.service' import * as assert from 'node:assert' import { TASK_LOCK_INIT_TIME } from 'src/constants' diff --git a/server/src/gateway/gateway.module.ts b/server/src/gateway/gateway.module.ts index 2223c2128b..df6595b692 100644 --- a/server/src/gateway/gateway.module.ts +++ b/server/src/gateway/gateway.module.ts @@ -2,7 +2,6 @@ import { Module } from '@nestjs/common' import { RuntimeDomainService } from './runtime-domain.service' import { ApisixService } from './apisix.service' import { RegionModule } from 'src/region/region.module' -import { PrismaService } from 'src/prisma.service' import { HttpModule } from '@nestjs/axios' import { BucketDomainService } from './bucket-domain.service' import { WebsiteTaskService } from './website-task.service' @@ -14,7 +13,6 @@ import { RuntimeDomainTaskService } from './runtime-domain-task.service' providers: [ RuntimeDomainService, ApisixService, - PrismaService, BucketDomainService, WebsiteTaskService, BucketDomainTaskService, diff --git a/server/src/gateway/runtime-domain.service.ts b/server/src/gateway/runtime-domain.service.ts index 793e771eed..50f235c05c 100644 --- a/server/src/gateway/runtime-domain.service.ts +++ b/server/src/gateway/runtime-domain.service.ts @@ -1,5 +1,5 @@ import { Injectable, Logger } from '@nestjs/common' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import * as assert from 'assert' import { RegionService } from '../region/region.service' import { ApisixService } from './apisix.service' diff --git a/server/src/initializer/initializer.module.ts b/server/src/initializer/initializer.module.ts index ed10ddd1d3..a06cbaf39a 100644 --- a/server/src/initializer/initializer.module.ts +++ b/server/src/initializer/initializer.module.ts @@ -1,10 +1,9 @@ import { Module } from '@nestjs/common' import { RegionService } from 'src/region/region.service' import { MinioService } from 'src/storage/minio/minio.service' -import { PrismaService } from '../prisma.service' import { InitializerService } from './initializer.service' @Module({ - providers: [InitializerService, PrismaService, MinioService, RegionService], + providers: [InitializerService, MinioService, RegionService], }) export class InitializerModule {} diff --git a/server/src/initializer/initializer.service.ts b/server/src/initializer/initializer.service.ts index a0d1a691a8..027ad52054 100644 --- a/server/src/initializer/initializer.service.ts +++ b/server/src/initializer/initializer.service.ts @@ -2,7 +2,7 @@ import { Injectable, Logger } from '@nestjs/common' import { RegionService } from 'src/region/region.service' import { MinioService } from 'src/storage/minio/minio.service' import { CPU_UNIT, ServerConfig } from '../constants' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import * as assert from 'assert' @Injectable() diff --git a/server/src/instance/instance.module.ts b/server/src/instance/instance.module.ts index 240ac8dc37..d517260a9c 100644 --- a/server/src/instance/instance.module.ts +++ b/server/src/instance/instance.module.ts @@ -1,13 +1,12 @@ import { Module } from '@nestjs/common' import { InstanceService } from './instance.service' import { InstanceTaskService } from './instance-task.service' -import { PrismaService } from '../prisma.service' import { StorageModule } from '../storage/storage.module' import { DatabaseModule } from '../database/database.module' import { RegionModule } from '../region/region.module' @Module({ imports: [StorageModule, DatabaseModule, RegionModule], - providers: [InstanceService, InstanceTaskService, PrismaService], + providers: [InstanceService, InstanceTaskService], }) export class InstanceModule {} diff --git a/server/src/instance/instance.service.ts b/server/src/instance/instance.service.ts index fe7948d228..de0bdd7f8f 100644 --- a/server/src/instance/instance.service.ts +++ b/server/src/instance/instance.service.ts @@ -2,7 +2,7 @@ import { V1Deployment } from '@kubernetes/client-node' import { Injectable, Logger } from '@nestjs/common' import { GetApplicationNamespaceByAppId } from '../utils/getter' import { MB, ResourceLabelKey } from '../constants' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { StorageService } from '../storage/storage.service' import { DatabaseService } from 'src/database/database.service' import { ClusterService } from 'src/region/cluster/cluster.service' diff --git a/server/src/log/log.module.ts b/server/src/log/log.module.ts index 3eaef4bcfa..8d3e897016 100644 --- a/server/src/log/log.module.ts +++ b/server/src/log/log.module.ts @@ -3,12 +3,11 @@ import { JwtService } from '@nestjs/jwt' import { DatabaseModule } from 'src/database/database.module' import { FunctionModule } from 'src/function/function.module' import { ApplicationModule } from '../application/application.module' -import { PrismaService } from '../prisma.service' import { LogController } from './log.controller' @Module({ imports: [ApplicationModule, FunctionModule, DatabaseModule], controllers: [LogController], - providers: [PrismaService, JwtService], + providers: [JwtService], }) export class LogModule {} diff --git a/server/src/prisma/prisma.module.ts b/server/src/prisma/prisma.module.ts new file mode 100644 index 0000000000..4501415d70 --- /dev/null +++ b/server/src/prisma/prisma.module.ts @@ -0,0 +1,9 @@ +import { Global, Module } from '@nestjs/common' +import { PrismaService } from './prisma.service' + +@Global() +@Module({ + providers: [PrismaService], + exports: [PrismaService], +}) +export class PrismaModule {} diff --git a/server/src/prisma.service.ts b/server/src/prisma/prisma.service.ts similarity index 100% rename from server/src/prisma.service.ts rename to server/src/prisma/prisma.service.ts diff --git a/server/src/region/region.module.ts b/server/src/region/region.module.ts index da4fb49bb4..d5ef141202 100644 --- a/server/src/region/region.module.ts +++ b/server/src/region/region.module.ts @@ -1,11 +1,10 @@ import { Module } from '@nestjs/common' import { RegionService } from './region.service' import { RegionController } from './region.controller' -import { PrismaService } from '../prisma.service' import { ClusterService } from './cluster/cluster.service' @Module({ - providers: [RegionService, PrismaService, ClusterService], + providers: [RegionService, ClusterService], controllers: [RegionController], exports: [RegionService, ClusterService], }) diff --git a/server/src/region/region.service.ts b/server/src/region/region.service.ts index 51adf4f59a..fe8e670ae7 100644 --- a/server/src/region/region.service.ts +++ b/server/src/region/region.service.ts @@ -1,5 +1,5 @@ import { Injectable } from '@nestjs/common' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' @Injectable() export class RegionService { diff --git a/server/src/storage/bucket.service.ts b/server/src/storage/bucket.service.ts index d56c8a59e6..139b599da9 100644 --- a/server/src/storage/bucket.service.ts +++ b/server/src/storage/bucket.service.ts @@ -6,7 +6,7 @@ import { StorageState, } from '@prisma/client' import { TASK_LOCK_INIT_TIME } from 'src/constants' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { RegionService } from '../region/region.service' import { CreateBucketDto } from './dto/create-bucket.dto' import { UpdateBucketDto } from './dto/update-bucket.dto' diff --git a/server/src/storage/storage.module.ts b/server/src/storage/storage.module.ts index 126ade1f45..91d4298d66 100644 --- a/server/src/storage/storage.module.ts +++ b/server/src/storage/storage.module.ts @@ -2,7 +2,6 @@ import { Module } from '@nestjs/common' import { BucketController } from './bucket.controller' import { MinioService } from './minio/minio.service' import { StorageService } from './storage.service' -import { PrismaService } from 'src/prisma.service' import { ApplicationService } from 'src/application/application.service' import { BucketService } from './bucket.service' import { RegionModule } from 'src/region/region.module' @@ -15,7 +14,6 @@ import { BucketTaskService } from './bucket-task.service' providers: [ MinioService, StorageService, - PrismaService, ApplicationService, BucketService, BucketTaskService, diff --git a/server/src/storage/storage.service.ts b/server/src/storage/storage.service.ts index 9b352d4ba2..b38447b272 100644 --- a/server/src/storage/storage.service.ts +++ b/server/src/storage/storage.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common' import { Region, StoragePhase, StorageState, StorageUser } from '@prisma/client' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { GenerateAlphaNumericPassword } from 'src/utils/random' import { MinioService } from './minio/minio.service' import { AssumeRoleCommand, STSClient } from '@aws-sdk/client-sts' diff --git a/server/src/trigger/trigger.module.ts b/server/src/trigger/trigger.module.ts index bfecbd2864..8f198ba4c0 100644 --- a/server/src/trigger/trigger.module.ts +++ b/server/src/trigger/trigger.module.ts @@ -1,7 +1,6 @@ import { Module } from '@nestjs/common' import { TriggerService } from './trigger.service' import { TriggerController } from './trigger.controller' -import { PrismaService } from 'src/prisma.service' import { JwtService } from '@nestjs/jwt' import { ApplicationService } from 'src/application/application.service' import { StorageModule } from 'src/storage/storage.module' @@ -18,7 +17,6 @@ import { MongoService } from 'src/database/mongo.service' controllers: [TriggerController], providers: [ TriggerService, - PrismaService, JwtService, ApplicationService, CronJobService, diff --git a/server/src/trigger/trigger.service.ts b/server/src/trigger/trigger.service.ts index f49c59d4a6..8a75058529 100644 --- a/server/src/trigger/trigger.service.ts +++ b/server/src/trigger/trigger.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common' import { TriggerPhase, TriggerState } from '@prisma/client' import { TASK_LOCK_INIT_TIME } from 'src/constants' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { CreateTriggerDto } from './dto/create-trigger.dto' import CronValidate from 'cron-validate' diff --git a/server/src/user/pat.service.ts b/server/src/user/pat.service.ts index 1f7b0e32a6..e3b515776d 100644 --- a/server/src/user/pat.service.ts +++ b/server/src/user/pat.service.ts @@ -1,6 +1,6 @@ import { Injectable, Logger } from '@nestjs/common' import { GenerateAlphaNumericPassword } from 'src/utils/random' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import { CreatePATDto } from './dto/create-pat.dto' @Injectable() diff --git a/server/src/user/user.module.ts b/server/src/user/user.module.ts index 061454cfdb..fc25d0eee9 100644 --- a/server/src/user/user.module.ts +++ b/server/src/user/user.module.ts @@ -1,11 +1,10 @@ import { Module } from '@nestjs/common' -import { PrismaService } from '../prisma.service' import { UserService } from './user.service' import { PatService } from './pat.service' import { PatController } from './pat.controller' @Module({ - providers: [UserService, PrismaService, PatService], + providers: [UserService, PatService], exports: [UserService], controllers: [PatController], }) diff --git a/server/src/user/user.service.ts b/server/src/user/user.service.ts index 43ede7e027..cb945e98e4 100644 --- a/server/src/user/user.service.ts +++ b/server/src/user/user.service.ts @@ -1,6 +1,6 @@ import { Injectable } from '@nestjs/common' import { Prisma, User } from '@prisma/client' -import { PrismaService } from '../prisma.service' +import { PrismaService } from '../prisma/prisma.service' import * as nanoid from 'nanoid' @Injectable() diff --git a/server/src/website/website.module.ts b/server/src/website/website.module.ts index cdb6907467..05d5ec4261 100644 --- a/server/src/website/website.module.ts +++ b/server/src/website/website.module.ts @@ -1,13 +1,12 @@ import { Module } from '@nestjs/common' import { WebsiteService } from './website.service' import { WebsiteController } from './website.controller' -import { PrismaService } from 'src/prisma.service' import { RegionModule } from 'src/region/region.module' import { ApplicationService } from 'src/application/application.service' @Module({ imports: [RegionModule], controllers: [WebsiteController], - providers: [WebsiteService, PrismaService, ApplicationService], + providers: [WebsiteService, ApplicationService], }) export class WebsiteModule {} diff --git a/server/src/website/website.service.ts b/server/src/website/website.service.ts index bb1d0ccd06..a70d6dcb05 100644 --- a/server/src/website/website.service.ts +++ b/server/src/website/website.service.ts @@ -1,7 +1,7 @@ import { Injectable, Logger } from '@nestjs/common' import { DomainPhase, DomainState, WebsiteHosting } from '@prisma/client' import { TASK_LOCK_INIT_TIME } from 'src/constants' -import { PrismaService } from 'src/prisma.service' +import { PrismaService } from 'src/prisma/prisma.service' import { RegionService } from 'src/region/region.service' import { CreateWebsiteDto } from './dto/create-website.dto' import * as assert from 'node:assert'