Skip to content

Commit c400335

Browse files
committed
fix: update minor
1 parent 0c9f2f9 commit c400335

File tree

13 files changed

+86
-155
lines changed

13 files changed

+86
-155
lines changed

src/config/axios.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import axios, { type AxiosError, type AxiosInstance } from 'axios'
22
import { red } from 'colorette'
33
import { ms } from 'expresso-core'
44
import _ from 'lodash'
5-
import ResponseError from '~/core/modules/response/ResponseError'
5+
import ErrorResponse from '~/core/modules/response/ErrorResponse'
66
import { env } from './env'
77
import { logger } from './pino'
88

@@ -39,21 +39,21 @@ function createAxios(baseURL: string): AxiosInstance {
3939
const errType = errAxios('Unauhtorized')
4040
logger.error(`${errType}, ${message}`)
4141

42-
throw new ResponseError.Unauthorized(`${message}`)
42+
throw new ErrorResponse.Unauthorized(`${message}`)
4343
}
4444

4545
if (statusCode === 400) {
4646
const errType = errAxios('Bad Request')
4747
logger.error(`${errType}, ${message}`)
4848

49-
throw new ResponseError.BadRequest(`${message}`)
49+
throw new ErrorResponse.BadRequest(`${message}`)
5050
}
5151

5252
if (statusCode === 404) {
5353
const errType = errAxios('Not Found')
5454
logger.error(`${errType}, ${message}`)
5555

56-
throw new ResponseError.NotFound(`${message}`)
56+
throw new ErrorResponse.NotFound(`${message}`)
5757
}
5858

5959
const handleError = error?.response?.headers?.handleError
@@ -63,13 +63,13 @@ function createAxios(baseURL: string): AxiosInstance {
6363
const errType = errAxios('Service Unavailable')
6464
logger.error(`${errType}, ${message}`)
6565

66-
throw new ResponseError.InternalServer('Service Unavailable')
66+
throw new ErrorResponse.InternalServer('Service Unavailable')
6767
}
6868

6969
const errMessage: any = error.response?.data ?? error.message
7070
console.log(errAxios(errMessage))
7171

72-
throw new ResponseError.BadRequest(errMessage)
72+
throw new ErrorResponse.BadRequest(errMessage)
7373
}
7474

7575
return await Promise.reject(error)

src/config/pino.ts

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,17 @@ import { blue, green } from 'colorette'
22
import { randomUUID } from 'node:crypto'
33
import { pino } from 'pino'
44
import PinoHttp, { type HttpLogger } from 'pino-http'
5-
import { formatDate } from '~/core/utils/date'
65
import { env } from './env'
76

8-
export const logger = pino(
9-
{
10-
level: env.NODE_ENV === 'production' ? 'info' : 'debug',
11-
transport: {
12-
target: 'pino-pretty',
13-
options: {
14-
colorize: true,
15-
},
7+
export const logger = pino({
8+
level: env.NODE_ENV === 'production' ? 'info' : 'debug',
9+
transport: {
10+
target: 'pino-pretty',
11+
options: {
12+
colorize: true,
1613
},
1714
},
18-
pino.destination(`./logs/pino-${formatDate(new Date())}.log`)
19-
)
15+
})
2016

2117
/**
2218
* Http Logger

src/core/modules/getRoutes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { green } from 'colorette'
22
import fs from 'fs'
33
import { logger } from '~/config/pino'
4-
import { capitalizeFirstLetter } from '../utils/formatter'
4+
import { capitalizeFirstLetter } from '../utils/string'
55

66
/**
77
* Get Controller from Route Path

src/core/modules/response/ResponseError.ts renamed to src/core/modules/response/ErrorResponse.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import InternalServer from '../errors/InternalServer'
55
import NotFound from '../errors/NotFound'
66
import Unauthorized from '../errors/Unauthorized'
77

8-
const ResponseError = {
8+
const ErrorResponse = {
99
BadRequest,
1010
BaseResponse,
1111
Forbidden,
@@ -14,4 +14,4 @@ const ResponseError = {
1414
Unauthorized,
1515
}
1616

17-
export default ResponseError
17+
export default ErrorResponse

src/core/utils/__test__/date.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { describe, test, expect } from '@jest/globals'
1+
import { describe, expect, test } from '@jest/globals'
22
import { formatDate, formatDateTime } from '../date'
33

44
describe('helpers date test', () => {
55
test('should format date', () => {
66
const anyValue = '02-11-2023'
77
const expectValue = '11-02-2023'
88

9-
const data = formatDate(anyValue)
9+
const data = formatDate(anyValue, 'dd-MM-yyyy')
1010

1111
expect(data).toEqual(expectValue)
1212
})

src/core/utils/__test__/formatter.test.ts renamed to src/core/utils/__test__/uuid.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { afterAll, describe, expect, test } from '@jest/globals'
2-
import { validateUUID } from '../formatter'
2+
import { validateUUID } from '../uuid'
33

44
describe('helpers formatter test', () => {
55
afterAll(async () => {

src/core/utils/boolean.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import { env } from '~/config/env'
2+
3+
/**
4+
* Check Storage Exists
5+
* @returns
6+
*/
7+
export function storageExists() {
8+
let is_storage = false
9+
10+
const checkAccess = env.STORAGE_ACCESS_KEY && env.STORAGE_SECRET_KEY
11+
12+
if (env.STORAGE_PROVIDER === 'minio') {
13+
is_storage = env.STORAGE_HOST && env.STORAGE_BUCKET_NAME && checkAccess
14+
} else if (env.STORAGE_PROVIDER === 's3') {
15+
is_storage = env.STORAGE_BUCKET_NAME && checkAccess
16+
} else if (env.STORAGE_PROVIDER === 'gcs') {
17+
is_storage = env.STORAGE_ACCESS_KEY && env.STORAGE_BUCKET_NAME
18+
}
19+
20+
return is_storage
21+
}

src/core/utils/date.ts

Lines changed: 6 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
import { addHours, format, intervalToDuration, startOfDay } from 'date-fns'
1+
import { format } from 'date-fns'
22
import { id } from 'date-fns/locale'
33

44
const TZ_ID = { locale: id }
55

66
/**
77
*
88
* @param value
9+
* @param formatStr
910
* @returns
1011
*/
11-
export function formatDate(value: string | number | Date): string {
12-
return format(new Date(value), 'dd-MM-yyyy', TZ_ID)
12+
export function formatDate(value: string | number | Date, formatStr: string) {
13+
return format(new Date(value), formatStr, TZ_ID)
1314
}
1415

1516
/**
@@ -18,84 +19,6 @@ export function formatDate(value: string | number | Date): string {
1819
* @returns
1920
*/
2021
export function formatDateTime(value: string | number | Date): string {
21-
return format(new Date(value), 'dd-MM-yyyy HH:mm:ss', TZ_ID)
22-
}
23-
24-
/**
25-
* Convert Date To Excel Number Date
26-
* @param value
27-
* @returns
28-
*/
29-
export const dateToNumber = (value: string | number | Date): number => {
30-
const getDate = new Date(value)
31-
32-
const localTime = getDate.getTime() - getDate.getTimezoneOffset() * 60 * 1000
33-
const converted = 25569.0 + localTime / (1000 * 60 * 60 * 24)
34-
35-
return converted
36-
}
37-
38-
/**
39-
* Convert Excel Number Date To Javascript Date
40-
* @param value
41-
* @returns
42-
*/
43-
export const convertDateExcelNumber = (value: number): Date => {
44-
const getDate = new Date(Math.round(value - 25569.0) * (1000 * 60 * 60 * 24))
45-
46-
// UTC +7
47-
const dateFromUTC = addHours(getDate, 7)
48-
const result = startOfDay(dateFromUTC)
49-
50-
return result
51-
}
52-
53-
/**
54-
*
55-
* @param value
56-
* @returns
57-
*/
58-
export const convertDateExcel = (value: string | number | Date): Date => {
59-
const getDate = new Date(value)
60-
61-
// UTC +7
62-
const dateFromUTC = addHours(getDate, 7)
63-
const result = startOfDay(dateFromUTC)
64-
65-
return result
66-
}
67-
68-
/**
69-
*
70-
* @param startDate
71-
* @param endDate
72-
* @returns
73-
*/
74-
export const calculateAge = (startDate: Date, endDate?: Date): number => {
75-
const newEndDate = endDate instanceof Date ? endDate : new Date()
76-
77-
const interval = intervalToDuration({
78-
start: new Date(startDate),
79-
end: new Date(newEndDate),
80-
})
81-
82-
return interval.years ? interval.years : 0
83-
}
84-
85-
/**
86-
*
87-
* @param startDate
88-
* @param endDate
89-
* @returns
90-
*/
91-
export const calculateParseAge = (startDate: Date, endDate?: Date): string => {
92-
const newEndDate = endDate instanceof Date ? endDate : new Date()
93-
94-
const interval = intervalToDuration({
95-
start: new Date(startDate),
96-
end: new Date(newEndDate),
97-
})
98-
99-
const result = `${interval.years} years, ${interval.months} months, ${interval.days} days`
100-
return result
22+
const formatString = 'dd-MM-yyyy HH:mm:ss'
23+
return formatDate(value, formatString)
10124
}

src/core/utils/formatter.ts

Lines changed: 0 additions & 45 deletions
This file was deleted.

src/core/utils/otp.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { env } from '~/config/env'
55
import { i18n } from '~/config/i18n'
66
import { redisService } from '~/config/redis'
77
import { type IReqOptions } from '../interface/ReqOptions'
8-
import ResponseError from '../modules/response/ResponseError'
8+
import ErrorResponse from '../modules/response/ErrorResponse'
99

1010
interface HashOTPEntity {
1111
phone: string
@@ -101,7 +101,7 @@ export class OTP {
101101
// Check Takeover Verify OTP
102102
if (storeRedis.length >= limit) {
103103
const message = i18n.t('errors.login_back', i18nOpt)
104-
throw new ResponseError.BadRequest(message)
104+
throw new ErrorResponse.BadRequest(message)
105105
}
106106

107107
console.log({ storeRedis })

0 commit comments

Comments
 (0)