Compare commits

..

No commits in common. "46031a5fd2de5065459a44e141782da350155762" and "e81f6ac8b79e32b201a64661b3529a538614e2b5" have entirely different histories.

6 changed files with 20 additions and 35 deletions

View File

@ -1,6 +1,6 @@
{
"name": "axp-server",
"version": "1.4.13",
"version": "1.4.12",
"description": "My helper library",
"author": "AntoXa PRO <info@antoxa.pro>",
"homepage": "https://antoxahub.ru/antoxa/axp-server",
@ -20,16 +20,16 @@
"prepare": "npm run build"
},
"dependencies": {
"axp-ts": "^1.9.10",
"axp-ts": "^1.9.6",
"dotenv": "^16.3.1",
"express": "^4.18.2",
"mongoose": "^6.12.0"
"mongoose": "^6.11.2"
},
"devDependencies": {
"@rollup/plugin-typescript": "^11.1.3",
"@rollup/plugin-typescript": "^11.1.2",
"@types/express": "^4.17.17",
"prettier": "^2.8.8",
"rollup": "^3.29.2",
"tslib": "^2.6.2"
"rollup": "^3.26.2",
"tslib": "^2.6.0"
}
}

View File

@ -7,6 +7,6 @@ export default defineConfig({
dir: 'dist',
format: 'es'
},
plugins: [typescript()],
external: ['path', 'axp-ts', 'dotenv', 'express', 'mongoose'],
plugins: [typescript()]
})

View File

@ -8,7 +8,6 @@ import { api404Handler, resultHandler } from './core/handlers'
export default async (
modules: (typeof AppModule)[] = []
): Promise<Express> => {
// Express.
const app = express()
const apiRouter = Router()

View File

@ -3,7 +3,6 @@ import { DataResultEntity } from 'axp-ts'
/**
* Базовый контроллер.
* @deprecated
*/
export class BaseController {
/**

View File

@ -1,4 +1,4 @@
import { NotificationItem, TNotificationItem } from 'axp-ts'
import { TNotificationItem } from 'axp-ts'
/**
* Тип - Http ошибка.
@ -13,17 +13,15 @@ export type THttpError = {
* Http ошибка.
*/
export class HttpError implements THttpError {
status: number
message: string
status: number = 500
message: string = 'Server Error'
errors: TNotificationItem[] = []
constructor(args?: { text?: string; code?: string; statusCode?: number }) {
this.status = args?.statusCode || 500
this.message = this.getStatusMessage(this.status)
if (args?.text) {
this.errors.push(
new NotificationItem({ code: args.code || 'error', text: args.text })
)
this.errors.push({ code: args.code || 'error', text: args.text })
}
}

View File

@ -1,6 +1,4 @@
import type { Request, Response, NextFunction } from 'express'
import type { IFormModel } from 'axp-ts'
import { Request, Response, NextFunction } from 'express'
import { z } from 'zod'
import { DataResultEntity } from 'axp-ts'
@ -11,9 +9,9 @@ import { HttpError } from './errors'
*/
export const resultHandler = (
result: any,
{}: Request,
{ }: Request,
res: Response,
{}: NextFunction
{ }: NextFunction
) => {
const dR = new DataResultEntity()
@ -48,8 +46,8 @@ export const resultHandler = (
* Обработчик 404 ошибки.
*/
export const api404Handler = (
{}: Request,
{}: Response,
{ }: Request,
{ }: Response,
next: NextFunction
) => {
next(
@ -77,6 +75,10 @@ export const zodMiddle =
(schemas: TZodMiddleArgs) =>
(req: Request, {}: Response, next: NextFunction) => {
try {
// req.params._id = ''
// req.body.email = 'test'
// console.log(req.body)
if (schemas.query) req.query = schemas.query.parse(req.query)
if (schemas.params) req.params = schemas.params.parse(req.params)
if (schemas.body) req.body = schemas.body.parse(req.body)
@ -94,16 +96,3 @@ export const zodMiddle =
next(httpError)
}
}
export const validFormMiddle =
(model: IFormModel<any>) =>
(req: Request, {}: Response, next: NextFunction) => {
if (model.isValid()) {
req.body = model.obj
next()
} else {
const httpError = new HttpError({ statusCode: 400 })
httpError.errors = model.errors
next(httpError)
}
}