mirror of
https://github.com/koreanbots/core.git
synced 2025-12-16 06:20:24 +00:00
* feat: added datadog * fix(deps): update dependency yup-locales-ko to v1.2.0 * fix: prevent perm missing * fix: invalid start script * fix(deps): update dependency formik to v2.2.9 (#409) * chore: changed some header * deps: updated sentry * feat: added datadog metrix * fix: error causing at custom git url * chore: removed key file CHANGED KEY * types: holding missing flag * feat: cors header * feat: updated api docs * deps: updated deps for security * ci: handling sentry release * ci: handling sentry * Bug Fixes (#438) * fix: invalid sql * fix: fixed formatting number for null close: #433 * chore: added more margin for ad * typo: fixed typo issue * Improved Report and changed email address (#440) * feat: added report page for bot * feat: added report page for user * feat: blocking user reporting self * feat: changed emails * refactor: changed category handler style * release: version changed to v2.1 Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
26 lines
752 B
TypeScript
26 lines
752 B
TypeScript
import http from 'http'
|
|
import { ResponseProps } from '@types'
|
|
import { ErrorText } from './Constants'
|
|
export default function ResponseWrapper<T = unknown>(
|
|
res: ApiResponse,
|
|
{ code = 200, message, version = 2, data, errors }: ResponseProps<T>
|
|
) {
|
|
if (!code) throw new Error('`code` is required.')
|
|
if (!http.STATUS_CODES[code]) throw new Error('Invalid http code.')
|
|
res.setHeader('Access-Control-Allow-Origin', process.env.KOREANBOTS_URL)
|
|
res.status(code)
|
|
res.json({
|
|
code,
|
|
data,
|
|
errors,
|
|
version,
|
|
...(message || !data ? { message: message || ErrorText[code] || http.STATUS_CODES[code] } : {}),
|
|
})
|
|
}
|
|
|
|
interface ApiResponse {
|
|
status(status: string|number): void
|
|
setHeader(key: string, value: string): void
|
|
json(json: unknown): void
|
|
}
|