Skip to content

Commit

Permalink
feat: changed folder structure
Browse files Browse the repository at this point in the history
  • Loading branch information
saisilinus committed Dec 23, 2021
1 parent e38ee61 commit cf3b47d
Show file tree
Hide file tree
Showing 26 changed files with 52 additions and 52 deletions.
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import httpStatus from 'http-status';
import { Request, Response } from 'express';
import catchAsync from '../utils/catchAsync';
import { createUser } from '../Users/user.service';
import { generateAuthTokens, generateResetPasswordToken, generateVerifyEmailToken } from '../Tokens/token.service';
import catchAsync from '../../utils/catchAsync';
import { createUser } from '../user/user.service';
import { generateAuthTokens, generateResetPasswordToken, generateVerifyEmailToken } from '../token/token.service';
import { loginUserWithEmailAndPassword, logout, refreshAuth, resetPassword, verifyEmail } from './auth.service';
import {
sendAccountCreated,
sendResetPasswordEmail,
sendSuccessfulRegistration,
sendVerificationEmail,
} from '../Email/email.service';
import config from '../config/config';
import { AccessAndRefreshTokens } from '../Tokens/token.interfaces';
} from '../email/email.service';
import config from '../../config/config';
import { AccessAndRefreshTokens } from '../token/token.interfaces';

export const sendTokens = (res: Response, tokens: AccessAndRefreshTokens) => {
res.cookie('accessToken', tokens.access, config.jwt.cookieOptions);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Request, Response, NextFunction } from 'express';
import passport from 'passport';
import httpStatus from 'http-status';
import ApiError from '../utils/ApiError';
import { roleRights } from '../config/roles';
import { IUserDoc } from '../Users/user.interfaces';
import ApiError from '../../utils/ApiError';
import { roleRights } from '../../config/roles';
import { IUserDoc } from '../user/user.interfaces';

const verifyCallback =
(req: Request, resolve: any, reject: any, requiredRights: string[]) =>
Expand Down
14 changes: 7 additions & 7 deletions src/Auth/auth.service.ts → src/components/auth/auth.service.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import httpStatus from 'http-status';
import Token from '../Tokens/token.model';
import ApiError from '../utils/ApiError';
import tokenTypes from '../Tokens/token.types';
import { getUserByEmail, getUserById, updateUserById } from '../Users/user.service';
import { IUserDoc } from '../Users/user.interfaces';
import { generateAuthTokens, verifyToken } from '../Tokens/token.service';
import { AccessAndRefreshTokens } from '../Tokens/token.interfaces';
import Token from '../token/token.model';
import ApiError from '../../utils/ApiError';
import tokenTypes from '../token/token.types';
import { getUserByEmail, getUserById, updateUserById } from '../user/user.service';
import { IUserDoc } from '../user/user.interfaces';
import { generateAuthTokens, verifyToken } from '../token/token.service';
import { AccessAndRefreshTokens } from '../token/token.interfaces';

/**
* Login with username and password
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Joi from 'joi';
import { password } from '../utils/custom.validation';
import { NewRegisteredUser } from '../Users/user.interfaces';
import { password } from '../validate/custom.validation';
import { NewRegisteredUser } from '../user/user.interfaces';

const registerBody: Record<keyof NewRegisteredUser, any> = {
email: Joi.string().required().email(),
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import nodemailer from 'nodemailer';
import config from '../config/config';
import logger from '../config/logger';
import config from '../../config/config';
import logger from '../../config/logger';
import { Message } from './email.interfaces';

export const transport = nodemailer.createTransport(config.email.smtp);
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { version } from '../../package.json';
import config from '../config/config';
import { version } from '../../../package.json';
import config from '../../config/config';

const swaggerDefinition = {
openapi: '3.0.0',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Document } from 'mongoose';
* A mongoose schema plugin which allows user to hide fields dynamically using a hide option
*/

const inlineToJSON = (schema: any) => {
const hideToJSON = (schema: any) => {
schema.options.toJSON = {};
schema.options.toJSON.hide = '';
schema.options.toJSON.transform = function (_doc: Document, ret: any, options: Record<string, any>) {
Expand All @@ -23,4 +23,4 @@ const inlineToJSON = (schema: any) => {
};
};

export default inlineToJSON;
export default hideToJSON;
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import mongoose, { Schema, model } from 'mongoose';
import tokenTypes from './token.types';
import toJSON from '../plugins/toJSON';
import toJSON from '../toJSON/toJSON.plugin';
import { ITokenDoc, ITokenModel } from './token.interfaces';

const tokenSchema = new Schema<ITokenDoc, ITokenModel>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import jwt from 'jsonwebtoken';
import moment, { Moment } from 'moment';
import mongoose, { ObjectId } from 'mongoose';
import httpStatus from 'http-status';
import config from '../config/config';
import config from '../../config/config';
import Token from './token.model';
import ApiError from '../utils/ApiError';
import ApiError from '../../utils/ApiError';
import tokenTypes from './token.types';
import { AccessAndRefreshTokens, ITokenDoc } from './token.interfaces';
import { IUserDoc } from '../Users/user.interfaces';
import { getUserByEmail } from '../Users/user.service';
import { IUserDoc } from '../user/user.interfaces';
import { getUserByEmail } from '../user/user.service';

/**
* Generate token
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import httpStatus from 'http-status';
import { Request, Response } from 'express';
import mongoose from 'mongoose';
import catchAsync from '../utils/catchAsync';
import ApiError from '../utils/ApiError';
import pick from '../utils/pick';
import catchAsync from '../../utils/catchAsync';
import ApiError from '../../utils/ApiError';
import pick from '../../utils/pick';
import { createUser, queryUsers, getUserById, updateUserById, deleteUserById } from './user.service';
import { IOptions } from '../plugins/paginate';
import { IOptions } from '../paginate/paginate.plugin';

export const createUserController = catchAsync(async (req: Request, res: Response) => {
const user = await createUser(req.body);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Model, ObjectId, LeanDocument, Document } from 'mongoose';
import { QueryResult } from '../plugins/paginate';
import { QueryResult } from '../paginate/paginate.plugin';

export interface IUser {
name: string;
Expand Down
6 changes: 3 additions & 3 deletions src/Users/user.model.ts → src/components/user/user.model.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { Schema, model, ObjectId } from 'mongoose';
import validator from 'validator';
import bcrypt from 'bcryptjs';
import toJSON from '../plugins/toJSON';
import paginate from '../plugins/paginate';
import { roles } from '../config/roles';
import toJSON from '../toJSON/toJSON.plugin';
import paginate from '../paginate/paginate.plugin';
import { roles } from '../../config/roles';
import { IUserDoc, IUserModel } from './user.interfaces';

const userSchema = new Schema<IUserDoc, IUserModel>(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import httpStatus from 'http-status';
import { ObjectId } from 'mongoose';
import User from './user.model';
import ApiError from '../utils/ApiError';
import { IOptions, QueryResult } from '../plugins/paginate';
import ApiError from '../../utils/ApiError';
import { IOptions, QueryResult } from '../paginate/paginate.plugin';
import { NewCreatedUser, UpdateUserBody, IUserDoc } from './user.interfaces';

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Joi from 'joi';
import { password, objectId } from '../utils/custom.validation';
import { password, objectId } from '../validate/custom.validation';
import { NewCreatedUser } from './user.interfaces';

const createUserBody: Record<keyof NewCreatedUser, any> = {
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Request, Response, NextFunction } from 'express';
import Joi from 'joi';
import httpStatus from 'http-status';
import pick from '../utils/pick';
import ApiError from '../utils/ApiError';
import pick from '../../utils/pick';
import ApiError from '../../utils/ApiError';

const validate =
(schema: Record<string, any>) =>
Expand Down
2 changes: 1 addition & 1 deletion src/custom.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IUserDoc } from './Users/user.interfaces';
import { IUserDoc } from './components/user/user.interfaces';

declare module 'express-serve-static-core' {
export interface Request {
Expand Down
8 changes: 4 additions & 4 deletions src/routes/v1/auth.route.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import express, { Router } from 'express';
import validate from '../../middlewares/validate';
import auth from '../../middlewares/auth';
import validate from '../../components/validate/validate.middleware';
import auth from '../../components/auth/auth.middleware';
import {
forgotPasswordValidator,
loginValidator,
Expand All @@ -9,7 +9,7 @@ import {
registerValidator,
resetPasswordValidator,
verifyEmailValidator,
} from '../../Auth/auth.validation';
} from '../../components/auth/auth.validation';
import {
forgotPasswordController,
loginController,
Expand All @@ -19,7 +19,7 @@ import {
resetPasswordController,
sendVerificationEmailController,
verifyEmailController,
} from '../../Auth/auth.controller';
} from '../../components/auth/auth.controller';

const router: Router = express.Router();

Expand Down
2 changes: 1 addition & 1 deletion src/routes/v1/swagger.route.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import express from 'express';
import swaggerJsdoc from 'swagger-jsdoc';
import swaggerUi from 'swagger-ui-express';
import swaggerDefinition from '../../swagger/swagger.definition';
import swaggerDefinition from '../../components/swagger/swagger.definition';

const router = express.Router();

Expand Down
8 changes: 4 additions & 4 deletions src/routes/v1/user.route.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
import express, { Router } from 'express';
import validate from '../../middlewares/validate';
import auth from '../../middlewares/auth';
import validate from '../../components/validate/validate.middleware';
import auth from '../../components/auth/auth.middleware';
import {
createUserValidator,
deleteUserValidator,
getUsersValidator,
getUserValidator,
updateUserValidator,
} from '../../Users/user.validation';
} from '../../components/user/user.validation';
import {
createUserController,
deleteUserController,
getUserController,
getUsersController,
updateUserController,
} from '../../Users/user.controller';
} from '../../components/user/user.controller';

const router: Router = express.Router();

Expand Down

0 comments on commit cf3b47d

Please sign in to comment.