19 lines
837 B
TypeScript
19 lines
837 B
TypeScript
import { BodyValidator, Validator } from "sim-shared/aplication/BodyValidator.js";
|
|
import { QueryPaginationArgs } from "sim-shared/domain/PaginationArgs.js";
|
|
|
|
const limitPositiveOrUndefined = <Validator<QueryPaginationArgs>>{
|
|
field: "limit",
|
|
validationFunc: (args) => (args.limit == undefined || !isNaN(+args.limit) && parseInt(args.limit) >= 0),
|
|
errorMsg: "El campo limit debe ser un numero o undefined (default 0)"
|
|
}
|
|
const offsetPositiveOrUndefined = <Validator<QueryPaginationArgs>>{
|
|
field: "offset",
|
|
validationFunc: (args) => (args.offset == undefined || isNaN(+args.offset) && parseInt(args.offset) >= 1),
|
|
errorMsg: "El campo offset debe ser un numero o undefined (default 0)"
|
|
}
|
|
|
|
export const paginationValidator = new BodyValidator<QueryPaginationArgs & {}>([
|
|
limitPositiveOrUndefined,
|
|
offsetPositiveOrUndefined
|
|
])
|