Skip to content

Commit 32473ae

Browse files
committed
fix: interface nameing
1 parent 59aea14 commit 32473ae

File tree

12 files changed

+70
-60
lines changed

12 files changed

+70
-60
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "express-mongodb-rest-api-boilerplate",
3-
"version": "1.0.1",
3+
"version": "1.0.2",
44
"description": "A boilerplate for Node.js apps / Rest API / Authentication from scratch - express, mongodb (mongoose).",
55
"main": "./src",
66
"repository": {

src/contracts/jwt.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { ObjectId } from 'mongoose'
22

3-
export interface JwtUser {
3+
export interface IJwtUser {
44
id: ObjectId
55
}
66

7-
export interface AccessToken {
7+
export interface IAccessToken {
88
accessToken: string
99
}

src/contracts/media.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@ export interface IMedia {
1313
refId?: ObjectId
1414
}
1515

16-
export type ICreateMediaPayload = Omit<
16+
export type CreateMediaPayload = Omit<
1717
IMedia,
1818
'refId' | 'refType' | 'orderColumn'
1919
>
2020

21-
export type IUpdateMediaPayload = Pick<IMedia, 'refId' | 'refType'>
21+
export type UpdateMediaPayload = Pick<IMedia, 'refId' | 'refType'>
2222

2323
export type MediaModel = Model<IMedia>

src/contracts/request.ts

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,36 @@
11
import { Request } from 'express'
22
import { ParamsDictionary } from 'express-serve-static-core'
33
import { Document } from 'mongoose'
4+
45
import { IUser } from './user'
56

6-
export interface ContextRequest<T> extends Omit<Request, 'context'> {
7+
export interface IContextRequest<T> extends Omit<Request, 'context'> {
78
context: T
89
}
910

10-
export interface BodyRequest<T> extends Omit<Request, 'body'> {
11+
export interface IBodyRequest<T> extends Omit<Request, 'body'> {
1112
body: T
1213
}
1314

14-
export interface ParamsRequest<T> extends Request {
15+
export interface IParamsRequest<T> extends Request {
1516
params: T & ParamsDictionary
1617
}
1718

18-
export interface CombinedRequest<
19+
export interface IQueryRequest<T> extends Request {
20+
query: T & ParamsDictionary
21+
}
22+
23+
export interface ICombinedRequest<
1924
Context,
2025
Body,
21-
Params = Record<string, unknown>
22-
> extends Pick<ContextRequest<Context>, 'context'>,
23-
Pick<BodyRequest<Body>, 'body'>,
24-
Pick<ParamsRequest<Params>, 'params'> {}
26+
Params = Record<string, unknown>,
27+
Query = Record<string, unknown>
28+
> extends Pick<IContextRequest<Context>, 'context'>,
29+
Pick<IBodyRequest<Body>, 'body'>,
30+
Pick<IParamsRequest<Params>, 'params'>,
31+
Pick<IQueryRequest<Query>, 'query'> {}
2532

26-
export interface UserRequest {
33+
export interface IUserRequest {
2734
user: Omit<IUser, 'id'> & Document
2835
accessToken: string
2936
}

src/controllers/authController.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ import {
1717
} from '@/services'
1818
import { jwtSign } from '@/utils/jwt'
1919
import {
20-
BodyRequest,
21-
CombinedRequest,
22-
ContextRequest,
23-
UserRequest
20+
IBodyRequest,
21+
ICombinedRequest,
22+
IContextRequest,
23+
IUserRequest
2424
} from '@/contracts/request'
2525
import { createCryptoString } from '@/utils/cryptoString'
2626
import { createDateAddDaysFromNow } from '@/utils/dates'
@@ -30,7 +30,7 @@ import { redis } from '@/dataSources'
3030

3131
export const authController = {
3232
signIn: async (
33-
{ body: { email, password } }: BodyRequest<SignInPayload>,
33+
{ body: { email, password } }: IBodyRequest<SignInPayload>,
3434
res: Response
3535
) => {
3636
try {
@@ -62,7 +62,7 @@ export const authController = {
6262
},
6363

6464
signUp: async (
65-
{ body: { email, password } }: BodyRequest<SignUpPayload>,
65+
{ body: { email, password } }: IBodyRequest<SignUpPayload>,
6666
res: Response
6767
) => {
6868
const session = await startSession()
@@ -146,7 +146,7 @@ export const authController = {
146146
},
147147

148148
signOut: async (
149-
{ context: { user, accessToken } }: ContextRequest<UserRequest>,
149+
{ context: { user, accessToken } }: IContextRequest<IUserRequest>,
150150
res: Response
151151
) => {
152152
try {
@@ -168,7 +168,7 @@ export const authController = {
168168
},
169169

170170
resetPassword: async (
171-
{ body: { email } }: BodyRequest<ResetPasswordPayload>,
171+
{ body: { email } }: IBodyRequest<ResetPasswordPayload>,
172172
res: Response
173173
) => {
174174
const session = await startSession()
@@ -238,7 +238,7 @@ export const authController = {
238238
{
239239
body: { password },
240240
params
241-
}: CombinedRequest<null, NewPasswordPayload, { accessToken: string }>,
241+
}: ICombinedRequest<null, NewPasswordPayload, { accessToken: string }>,
242242
res: Response
243243
) => {
244244
const session = await startSession()

src/controllers/mediaController.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ import winston from 'winston'
44

55
import { mediaService } from '@/services'
66
import { Image } from '@/infrastructure/image'
7-
import { ContextRequest, UserRequest } from '@/contracts/request'
7+
import { IContextRequest, IUserRequest } from '@/contracts/request'
88
import { appUrl } from '@/utils/paths'
99

1010
export const mediaController = {
11-
imageUpload: async ({ file }: ContextRequest<UserRequest>, res: Response) => {
11+
imageUpload: async (
12+
{ file }: IContextRequest<IUserRequest>,
13+
res: Response
14+
) => {
1215
try {
1316
const media = await mediaService.create(file as Express.Multer.File)
1417

src/controllers/userController.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import { StatusCodes, ReasonPhrases } from 'http-status-codes'
44
import winston from 'winston'
55

66
import {
7-
CombinedRequest,
8-
ContextRequest,
9-
ParamsRequest,
10-
UserRequest
7+
ICombinedRequest,
8+
IContextRequest,
9+
IParamsRequest,
10+
IUserRequest
1111
} from '@/contracts/request'
1212
import {
1313
DeleteProfilePayload,
@@ -33,7 +33,7 @@ import { appUrl } from '@/utils/paths'
3333

3434
export const userController = {
3535
me: async (
36-
{ context: { user } }: ContextRequest<UserRequest>,
36+
{ context: { user } }: IContextRequest<IUserRequest>,
3737
res: Response
3838
) => {
3939
if (!user) {
@@ -64,7 +64,7 @@ export const userController = {
6464
{
6565
context: { user },
6666
body: { email }
67-
}: CombinedRequest<UserRequest, VerificationRequestPayload>,
67+
}: ICombinedRequest<IUserRequest, VerificationRequestPayload>,
6868
res: Response
6969
) => {
7070
const session = await startSession()
@@ -146,7 +146,7 @@ export const userController = {
146146
},
147147

148148
verification: async (
149-
{ params }: ParamsRequest<{ accessToken: string }>,
149+
{ params }: IParamsRequest<{ accessToken: string }>,
150150
res: Response
151151
) => {
152152
const session = await startSession()
@@ -207,7 +207,7 @@ export const userController = {
207207
{
208208
context: { user },
209209
body: { firstName, lastName }
210-
}: CombinedRequest<UserRequest, UpdateProfilePayload>,
210+
}: ICombinedRequest<IUserRequest, UpdateProfilePayload>,
211211
res: Response
212212
) => {
213213
try {
@@ -238,7 +238,7 @@ export const userController = {
238238
{
239239
context: { user },
240240
body: { email, password }
241-
}: CombinedRequest<UserRequest, UpdateEmailPayload>,
241+
}: ICombinedRequest<IUserRequest, UpdateEmailPayload>,
242242
res: Response
243243
) => {
244244
const session = await startSession()
@@ -347,7 +347,7 @@ export const userController = {
347347
user: { email }
348348
},
349349
body: { oldPassword, newPassword }
350-
}: CombinedRequest<UserRequest, UpdatePasswordPayload>,
350+
}: ICombinedRequest<IUserRequest, UpdatePasswordPayload>,
351351
res: Response
352352
) => {
353353
try {
@@ -388,7 +388,7 @@ export const userController = {
388388
{
389389
context: { user },
390390
body: { imageId }
391-
}: CombinedRequest<UserRequest, { imageId: ObjectId }>,
391+
}: ICombinedRequest<IUserRequest, { imageId: ObjectId }>,
392392
res: Response
393393
) => {
394394
try {
@@ -419,7 +419,7 @@ export const userController = {
419419
user: { email }
420420
},
421421
body: { password }
422-
}: CombinedRequest<UserRequest, DeleteProfilePayload>,
422+
}: ICombinedRequest<IUserRequest, DeleteProfilePayload>,
423423
res: Response
424424
) => {
425425
const session = await startSession()

src/guards/authGuard.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { NextFunction, Response } from 'express'
22
import { StatusCodes, ReasonPhrases } from 'http-status-codes'
33

4-
import { ContextRequest, UserRequest } from '@/contracts/request'
4+
import { IContextRequest, IUserRequest } from '@/contracts/request'
55

66
export const authGuard = {
77
isAuth: (
8-
{ context: { user } }: ContextRequest<UserRequest>,
8+
{ context: { user } }: IContextRequest<IUserRequest>,
99
res: Response,
1010
next: NextFunction
1111
) => {
@@ -20,7 +20,7 @@ export const authGuard = {
2020
},
2121

2222
isGuest: (
23-
{ context: { user } }: ContextRequest<UserRequest>,
23+
{ context: { user } }: IContextRequest<IUserRequest>,
2424
res: Response,
2525
next: NextFunction
2626
) => {
@@ -39,7 +39,7 @@ export const authGuard = {
3939
context: {
4040
user: { verified }
4141
}
42-
}: ContextRequest<UserRequest>,
42+
}: IContextRequest<IUserRequest>,
4343
res: Response,
4444
next: NextFunction
4545
) => {
@@ -58,7 +58,7 @@ export const authGuard = {
5858
context: {
5959
user: { verified }
6060
}
61-
}: ContextRequest<UserRequest>,
61+
}: IContextRequest<IUserRequest>,
6262
res: Response,
6363
next: NextFunction
6464
) => {

src/services/mediaService.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ClientSession, ObjectId } from 'mongoose'
22

33
import { Media } from '@/models'
4-
import { ICreateMediaPayload, IUpdateMediaPayload } from '@/contracts/media'
4+
import { CreateMediaPayload, UpdateMediaPayload } from '@/contracts/media'
55
import { MediaRefType } from '@/constants'
66

77
export const mediaService = {
@@ -32,7 +32,7 @@ export const mediaService = {
3232
filename,
3333
path,
3434
size
35-
}: ICreateMediaPayload,
35+
}: CreateMediaPayload,
3636
session?: ClientSession
3737
) =>
3838
new Media({
@@ -47,7 +47,7 @@ export const mediaService = {
4747

4848
updateById: (
4949
mediaId: ObjectId,
50-
{ refType, refId }: IUpdateMediaPayload,
50+
{ refType, refId }: UpdateMediaPayload,
5151
session?: ClientSession
5252
) => {
5353
const data = [{ _id: mediaId }, { refType, refId }]

src/utils/jwt.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import jwt from 'jsonwebtoken'
22
import { ObjectId } from 'mongoose'
33

4-
import { AccessToken, JwtUser } from '@/contracts/jwt'
4+
import { IAccessToken, IJwtUser } from '@/contracts/jwt'
55

6-
export const jwtSign = (id: ObjectId): AccessToken => {
6+
export const jwtSign = (id: ObjectId): IAccessToken => {
77
const accessToken = jwt.sign({ id }, process.env.JWT_SECRET, {
88
expiresIn: process.env.JWT_EXPIRATION
99
})
@@ -12,5 +12,5 @@ export const jwtSign = (id: ObjectId): AccessToken => {
1212
}
1313

1414
export const jwtVerify = ({ accessToken }: { accessToken: string }) => {
15-
return jwt.verify(accessToken, process.env.JWT_SECRET) as JwtUser
15+
return jwt.verify(accessToken, process.env.JWT_SECRET) as IJwtUser
1616
}

src/validations/authValidation.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ import {
99
SignUpPayload,
1010
NewPasswordPayload
1111
} from '@/contracts/auth'
12-
import { BodyRequest } from '@/contracts/request'
12+
import { IBodyRequest } from '@/contracts/request'
1313

1414
export const authValidation = {
1515
signIn: (
16-
req: BodyRequest<SignInPayload>,
16+
req: IBodyRequest<SignInPayload>,
1717
res: Response,
1818
next: NextFunction
1919
) => {
@@ -55,7 +55,7 @@ export const authValidation = {
5555
},
5656

5757
signUp: (
58-
req: BodyRequest<SignUpPayload>,
58+
req: IBodyRequest<SignUpPayload>,
5959
res: Response,
6060
next: NextFunction
6161
) => {
@@ -101,7 +101,7 @@ export const authValidation = {
101101
},
102102

103103
resetPassword: (
104-
req: BodyRequest<ResetPasswordPayload>,
104+
req: IBodyRequest<ResetPasswordPayload>,
105105
res: Response,
106106
next: NextFunction
107107
) => {
@@ -142,7 +142,7 @@ export const authValidation = {
142142
},
143143

144144
newPassword: (
145-
req: BodyRequest<NewPasswordPayload>,
145+
req: IBodyRequest<NewPasswordPayload>,
146146
res: Response,
147147
next: NextFunction
148148
) => {

0 commit comments

Comments
 (0)