Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
paginacija [2024/06/08 08:19] tro |
paginacija [2024/06/08 08:21] (текущий) tro |
||
|---|---|---|---|
| Строка 13: | Строка 13: | ||
| < | < | ||
| + | // src/ | ||
| + | |||
| + | const parseNumber = (number, defaultValue) => { | ||
| + | const isString = typeof number === ' | ||
| + | if (!isString) return defaultValue; | ||
| + | |||
| + | const parsedNumber = parseInt(number); | ||
| + | if (Number.isNaN(parsedNumber)) { | ||
| + | return defaultValue; | ||
| + | } | ||
| + | |||
| + | return parsedNumber; | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | |||
| + | Приклад використання | ||
| + | < | ||
| + | // src/ | ||
| + | |||
| + | /* Інший код файлу */ | ||
| + | |||
| + | export const parsePaginationParams = (query) => { | ||
| + | const { page, perPage } = query; | ||
| + | |||
| + | const parsedPage = parseNumber(page, | ||
| + | const parsedPerPage = parseNumber(perPage, | ||
| + | |||
| + | return { | ||
| + | page: parsedPage, | ||
| + | perPage: parsedPerPage, | ||
| + | }; | ||
| + | }; | ||
| + | |||
| + | </ | ||
| + | < | ||
| + | // src/ | ||
| + | |||
| + | import { parsePaginationParams } from ' | ||
| + | |||
| + | /* Решта коду файла */ | ||
| + | |||
| + | export const getStudentsController = async (req, res) => { | ||
| + | const { page, perPage } = parsePaginationParams(req.query); | ||
| + | const students = await getAllStudents({ | ||
| + | page, | ||
| + | perPage, | ||
| + | }); | ||
| + | |||
| + | res.json({ | ||
| + | status: 200, | ||
| + | message: ' | ||
| + | data: students, | ||
| + | }); | ||
| + | }; | ||
| + | |||
| </ | </ | ||