Skip to content
This repository was archived by the owner on Jun 24, 2021. It is now read-only.

Commit 4103f9e

Browse files
committed
feat: re-ranger structures
1 parent a56a4b6 commit 4103f9e

37 files changed

+83
-50
lines changed

.vscode/settings.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"ponicode.testSettings.testLocation.locationType": "Same folder as source file",
3-
"ponicode.testSettings.testLocation.path": "{rootDir}/{filePath}/{fileName}.test.{ext}"
3+
"ponicode.testSettings.testLocation.path": "{rootDir}/{filePath}/{fileName}.test.{ext}",
4+
"exportall.config.relExclusion": ["/src/providers/email"]
45
}

src/@types/env.d.ts

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
declare namespace NodeJS {
2+
interface ProcessEnv {
3+
readonly NODE_ENV: 'development' | 'production' | 'test';
4+
readonly PORT: string;
5+
readonly SERVER_URL: string;
6+
readonly CLIENT_URL: string;
7+
readonly SESSION_SECRET: string;
8+
readonly SENDGRID_API_KEY: string;
9+
readonly EMAIL_HOST: string;
10+
readonly EMAIL_PORT: string;
11+
readonly EMAIL_AUTH_USER: string;
12+
readonly EMAIL_AUTH_PASSWORD: string;
13+
readonly COOKIE_SECRET: string;
14+
}
15+
}

src/@types/http.d.ts

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
declare namespace Express {
2+
interface Request {
3+
session?: {
4+
authToken?: {
5+
accessToken: string;
6+
refreshToken: string;
7+
};
8+
res: Response;
9+
};
10+
}
11+
// interface Session {
12+
// authToken?: {
13+
// accessToken: string;
14+
// refreshToken: string;
15+
// };
16+
// }
17+
}

src/app.module.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Global, Module } from '@nestjs/common';
22
import { GraphQLModule } from '@nestjs/graphql';
33
import { ConfigModule } from '@nestjs/config';
4-
import { PrismaModule } from '@modules/prisma/prisma.module';
4+
import { PrismaModule } from 'src/providers/prisma/prisma.module';
55
import { AppResolver } from '@app/app.resolver';
66
import { AppController } from './app/app.controller';
77
import { AppService } from './app/app.service';
@@ -13,8 +13,8 @@ import { graphqlModuleFactory } from '@common/configs/graphql-module.factory';
1313
import { I18nModule, I18nJsonParser } from 'nestjs-i18n';
1414
import { i18nModuleFactory } from '@common/configs/i18n-module.factory';
1515
import { AuthModule } from '@modules/auth/auth.module';
16-
import { RedisModule } from '@modules/redis/redis.module';
17-
import { EmailModule } from '@modules/email/email.module';
16+
import { RedisModule } from 'src/providers/redis/redis.module';
17+
import { EmailModule } from 'src/providers/email/email.module';
1818

1919
@Global()
2020
@Module({

src/common/configs/session-config.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ISessionOption } from '@common/environment/environment.interface';
2-
import { REDIS_AUTH_TOKEN_SESSION } from '@modules/redis/redis.constant';
2+
import { REDIS_AUTH_TOKEN_SESSION } from 'src/providers/redis/redis.constant';
33
import connectRedis from 'connect-redis';
44
import session from 'express-session';
55

src/modules/auth/auth.module.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
import { EmailService } from '@modules/email/email.service';
2-
import { PrismaModule } from '@modules/prisma/prisma.module';
3-
import { PrismaService } from '@modules/prisma/prisma.service';
4-
import { RedisModule } from '@modules/redis/redis.module';
5-
import { RedisService } from '@modules/redis/redis.service';
6-
import { PasswordService } from '@modules/user/services/password.service';
1+
import { EmailService } from 'src/providers/email/email.service';
2+
import { PrismaModule } from 'src/providers/prisma/prisma.module';
3+
import { PrismaService } from 'src/providers/prisma/prisma.service';
4+
import { RedisModule } from 'src/providers/redis/redis.module';
5+
import { RedisService } from 'src/providers/redis/redis.service';
6+
import { PasswordService } from '@modules/auth/services/password.service';
77
import { UserService } from '@modules/user/services/user.service';
88
import { UserModule } from '@modules/user/user.module';
99
import { Module } from '@nestjs/common';
1010
import { ConfigModule } from '@nestjs/config';
1111
import { JwtModule } from '@nestjs/jwt';
1212
import { PassportModule } from '@nestjs/passport';
1313
import { AuthResolver } from './auth.resolver';
14-
import { AuthService } from './auth.service';
14+
import { AuthService } from './services/auth.service';
1515
import { JwtRefreshTokenStrategy } from './strategies/jwt-refresh-token.strategy';
1616
import { JwtStrategy } from './strategies/jwt.strategy';
1717

src/modules/auth/auth.resolver.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { Args, Context, Mutation, Resolver } from '@nestjs/graphql';
22
import { User } from '@modules/user/user.model';
33
import { LoginUserInput, RegisterUserInput, ResetPasswordInput } from './dto';
4-
import { AuthService } from './auth.service';
4+
import { AuthService } from './services/auth.service';
55
import { BadRequestException, UseGuards } from '@nestjs/common';
66
import {
77
IHttpContext,
88
IPayloadUserJwt,
99
IRequestWithUser,
1010
ISessionAuthToken,
1111
} from '@common/global-interfaces';
12-
import { REDIS_AUTH_TOKEN_SESSION } from '@modules/redis/redis.constant';
12+
import { REDIS_AUTH_TOKEN_SESSION } from 'src/providers/redis/redis.constant';
1313
import { ChangePasswordInput } from '@modules/user/dto';
14-
import { EmailService } from '@modules/email/email.service';
14+
import { EmailService } from 'src/providers/email/email.service';
1515
import { JwtGuard, JwtRefreshTokenGuard } from './guards';
1616

1717
@Resolver(() => User)

src/modules/auth/auth.service.ts src/modules/auth/services/auth.service.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { UserWhereUniqueInput } from '@common/@generated/user';
22
import { environment } from '@common/environment';
33
import { IPayloadUserJwt, ISessionAuthToken } from '@common/global-interfaces';
4-
import { REDIS_FORGOT_PASSWORD_PREFIX } from '@modules/redis/redis.constant';
5-
import { RedisService } from '@modules/redis/redis.service';
4+
import { REDIS_FORGOT_PASSWORD_PREFIX } from 'src/providers/redis/redis.constant';
5+
import { RedisService } from 'src/providers/redis/redis.service';
66
import { ChangePasswordInput } from '@modules/user/dto';
7-
import { PasswordService } from '@modules/user/services/password.service';
7+
import { PasswordService } from '@modules/auth/services/password.service';
88
import { UserService } from '@modules/user/services/user.service';
99
import { User } from '@modules/user/user.model';
1010
import {
@@ -13,7 +13,7 @@ import {
1313
NotFoundException,
1414
} from '@nestjs/common';
1515
import { JwtService } from '@nestjs/jwt';
16-
import { RegisterUserInput, ResetPasswordInput } from './dto';
16+
import { RegisterUserInput, ResetPasswordInput } from '../dto';
1717
@Injectable()
1818
export class AuthService {
1919
constructor(

src/modules/auth/strategies/jwt-refresh-token.strategy.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { PassportStrategy } from '@nestjs/passport';
44
import { IPayloadUserJwt, IRequestWithUser } from '@common/global-interfaces';
55
import { UserWhereUniqueInput } from '@common/@generated/user';
66
import { UserService } from '@modules/user/services/user.service';
7-
import { PasswordService } from '@modules/user/services/password.service';
7+
import { PasswordService } from '@modules/auth/services/password.service';
88

99
@Injectable()
1010
export class JwtRefreshTokenStrategy extends PassportStrategy(

src/modules/category/category.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
2-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
2+
import { PrismaService } from 'src/providers/prisma/prisma.service';
33
import { Module } from '@nestjs/common';
44
import { CategoryResolver } from './category.resolver';
55
import { CategoryService } from './category.service';

src/modules/category/category.service.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { Post } from '@modules/post/post.model';
33
import { CreateCategoryInput, UpdateCategoryInput } from './dto';
44
import slugify from 'slugify';
@@ -9,7 +9,7 @@ import {
99
FindManyCategoryArgs,
1010
} from '@common/@generated/category';
1111
import { GraphQLResolveInfo } from 'graphql';
12-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
12+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
1313

1414
@Injectable()
1515
export class CategoryService {

src/modules/category/test/category.service.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { CategoryWhereUniqueInput } from '@common/@generated/category';
22
import { Post } from '@modules/post/post.model';
3-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
4-
import { PrismaService } from '@modules/prisma/prisma.service';
3+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
4+
import { PrismaService } from 'src/providers/prisma/prisma.service';
55
import { Test, TestingModule } from '@nestjs/testing';
66
import { Category } from '../category.model';
77
import { CategoryService } from '../category.service';

src/modules/post/post.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CategoryService } from '@modules/category/category.service';
2-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
3-
import { PrismaService } from '@modules/prisma/prisma.service';
2+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
3+
import { PrismaService } from 'src/providers/prisma/prisma.service';
44
import { Module } from '@nestjs/common';
55
import { PostResolver } from './post.resolver';
66
import { PostService } from './post.service';

src/modules/post/post.service.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
33
import { Post } from './post.model';
44
import { User } from '@modules/user/user.model';
@@ -12,7 +12,7 @@ import {
1212
PostWhereUniqueInput,
1313
} from '@common/@generated/post';
1414
import { GraphQLResolveInfo } from 'graphql';
15-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
15+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
1616

1717
@Injectable()
1818
export class PostService {

src/modules/post/test/post.service.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { Test, TestingModule } from '@nestjs/testing';
33
import { PostService } from '../post.service';
44
import { User } from '@modules/user/user.model';
55
import { CreatePostInput } from '../dto';
66
import { Post, PostWhereUniqueInput } from '@common/@generated/post';
77
import { CategoryService } from '@modules/category/category.service';
88
import { Category } from '@modules/category/category.model';
9-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
9+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
1010

1111
const oneUser = {
1212
id: 'some userId',

src/modules/profile/profile.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
2-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
2+
import { PrismaService } from 'src/providers/prisma/prisma.service';
33
import { Module } from '@nestjs/common';
44
import { ProfileResolver } from './profile.resolver';
55
import { ProfileService } from './profile.service';

src/modules/profile/profile.service.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
33
import { UpdateProfileInput } from './dto/update-profile.input';
44
import { Profile } from './profile.model';
@@ -7,7 +7,7 @@ import { Prisma } from '@prisma/client';
77
import { ProfileWhereUniqueInput } from '@common/@generated/profile';
88
import { CreateProfileInput } from './dto';
99
import { GraphQLResolveInfo } from 'graphql';
10-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
10+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
1111

1212
@Injectable()
1313
export class ProfileService {

src/modules/profile/test/profile.service.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { Test, TestingModule } from '@nestjs/testing';
33
import { Profile } from '../profile.model';
44
import { ProfileService } from '../profile.service';
55
import { User } from '@modules/user/user.model';
66
import { ProfileWhereUniqueInput } from '@common/@generated/profile';
77
import { CreateProfileInput } from '../dto';
8-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
8+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
99

1010
const oneProfile = {
1111
id: 'some profileId',

src/modules/user/services/user.service.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import {
33
BadRequestException,
44
HttpException,
55
HttpStatus,
66
Injectable,
77
} from '@nestjs/common';
88
import { ChangePasswordInput } from '../dto/change-password.input';
9-
import { PasswordService } from './password.service';
9+
import { PasswordService } from '../../auth/services/password.service';
1010
import { UpdateUserInput } from '../dto';
1111
import { User } from '../user.model';
1212
import { Post } from '@modules/post/post.model';
@@ -20,7 +20,7 @@ import {
2020
import { CreateUserInput } from '../dto/create-user.input';
2121
import { BatchPayload } from '@common/@generated/prisma';
2222
import { GraphQLResolveInfo } from 'graphql';
23-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
23+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
2424

2525
@Injectable()
2626
export class UserService {

src/modules/user/test/password.service.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Test, TestingModule } from '@nestjs/testing';
2-
import { PasswordService } from '../services/password.service';
2+
import { PasswordService } from '../../auth/services/password.service';
33

44
const plainPassword = '1234567';
55
const hashedPassword =

src/modules/user/test/user.service.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import {
66
UserWhereUniqueInput,
77
} from '@common/@generated/user';
88
import { Post } from '@modules/post/post.model';
9-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
10-
import { PrismaService } from '@modules/prisma/prisma.service';
9+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
10+
import { PrismaService } from 'src/providers/prisma/prisma.service';
1111
import { BadRequestException } from '@nestjs/common';
1212
import { Test, TestingModule } from '@nestjs/testing';
1313
import { ChangePasswordInput, UpdateUserInput } from '../dto';
14-
import { PasswordService } from '../services/password.service';
14+
import { PasswordService } from '../../auth/services/password.service';
1515
import { UserService } from '../services/user.service';
1616
import { User } from '../user.model';
1717

src/modules/user/user.module.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
import { PrismaService } from '@modules/prisma/prisma.service';
1+
import { PrismaService } from 'src/providers/prisma/prisma.service';
22
import { Module } from '@nestjs/common';
3-
import { PasswordService } from './services/password.service';
3+
import { PasswordService } from '../auth/services/password.service';
44
import { UserService } from './services/user.service';
55
import { UserResolver } from './resolvers/user.resolver';
66
import { AdminResolver } from './resolvers/admin-user.resolver';
7-
import { PrismaSelectService } from '@modules/prisma/prisma-select.service';
8-
import { PrismaModule } from '@modules/prisma/prisma.module';
7+
import { PrismaSelectService } from 'src/providers/prisma/prisma-select.service';
8+
import { PrismaModule } from 'src/providers/prisma/prisma.module';
99
import { UserExitsValidator } from './decorators';
1010

1111
@Module({
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"compilerOptions": {
33
"target": "esNext",
4-
"typeRoots": ["./node_modules/@types", "src/common/types"],
4+
"typeRoots": ["./node_modules/@types", "src/@types"],
55
"types": ["jest", "node"],
66
"module": "commonjs",
77
"pretty": true,

0 commit comments

Comments
 (0)