feat: integrate Redis and Database modules with necessary dependencies
This commit is contained in:
@ -1,10 +1,11 @@
|
||||
import { Module } from "@nestjs/common";
|
||||
import { TypeOrmModule } from "@nestjs/typeorm";
|
||||
import { ConfigModule } from "@nestjs/config";
|
||||
import { TestModule } from "../test/test.module";
|
||||
import { ApiModule } from "../api/api.module";
|
||||
import { QueryModule } from "src/query/query.module";
|
||||
import { ProjectModule } from "src/project/project.module";
|
||||
import { RedisModule } from "src/redis/redis.module";
|
||||
import { DatabaseModule } from "src/database/database.module";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@ -12,19 +13,8 @@ import { ProjectModule } from "src/project/project.module";
|
||||
isGlobal: true,
|
||||
envFilePath: ".env",
|
||||
}),
|
||||
TypeOrmModule.forRoot({
|
||||
type: "mariadb",
|
||||
host: process.env.DB_HOST || "localhost",
|
||||
port: parseInt(process.env.DB_PORT) || 3306,
|
||||
username: process.env.DB_USERNAME || "root",
|
||||
password: process.env.DB_PASSWORD || "",
|
||||
database: process.env.DB_DATABASE || "low_code_engine",
|
||||
entities: [__dirname + "/../**/*.entity{.ts,.js}"],
|
||||
migrations: [__dirname + "/../migrations/*{.ts,.js}"],
|
||||
synchronize: false,
|
||||
migrationsRun: process.env.NODE_ENV === "production",
|
||||
autoLoadEntities: true,
|
||||
}),
|
||||
DatabaseModule,
|
||||
RedisModule,
|
||||
ApiModule,
|
||||
ProjectModule,
|
||||
QueryModule,
|
||||
|
||||
22
src/database/database.module.ts
Normal file
22
src/database/database.module.ts
Normal file
@ -0,0 +1,22 @@
|
||||
import { Module } from "@nestjs/common";
|
||||
import { TypeOrmModule } from "@nestjs/typeorm";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forRoot({
|
||||
type: "mariadb",
|
||||
host: process.env.DB_HOST || "localhost",
|
||||
port: parseInt(process.env.DB_PORT) || 3306,
|
||||
username: process.env.DB_USERNAME || "root",
|
||||
password: process.env.DB_PASSWORD || "",
|
||||
database: process.env.DB_DATABASE || "low_code_engine",
|
||||
entities: [__dirname + "/../**/*.entity{.ts,.js}"],
|
||||
migrations: [__dirname + "/../migrations/*{.ts,.js}"],
|
||||
synchronize: false,
|
||||
migrationsRun: process.env.NODE_ENV === "production",
|
||||
autoLoadEntities: true,
|
||||
}),
|
||||
],
|
||||
exports: [TypeOrmModule],
|
||||
})
|
||||
export class DatabaseModule {}
|
||||
18
src/redis/redis.module.ts
Normal file
18
src/redis/redis.module.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { Module } from "@nestjs/common";
|
||||
import { RedisModule as NestRedisModule } from "@liaoliaots/nestjs-redis";
|
||||
import { RedisClient } from "./redis.service";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
NestRedisModule.forRoot({
|
||||
config: {
|
||||
host: process.env.REDIS_HOST || "localhost",
|
||||
port: parseInt(process.env.REDIS_PORT) || 6379,
|
||||
password: process.env.REDIS_PASSWORD || "authpassword",
|
||||
},
|
||||
}),
|
||||
],
|
||||
providers: [RedisClient],
|
||||
exports: [RedisClient],
|
||||
})
|
||||
export class RedisModule {}
|
||||
12
src/redis/redis.service.ts
Normal file
12
src/redis/redis.service.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { RedisService } from "@liaoliaots/nestjs-redis";
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import Redis from "ioredis";
|
||||
|
||||
@Injectable()
|
||||
export class RedisClient {
|
||||
private readonly redis: Redis | null;
|
||||
|
||||
constructor(private readonly redisService: RedisService) {
|
||||
this.redis = this.redisService.getOrThrow();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user