api/utils: replace with a very basic dummy ts versions

Pedro Lucas Porcellis porcellis@eletrotupi.com 3 months ago e263ad00ec6c27b39fb90fe71cd81980a32b8790
Parents: bd44009
2 file(s) changed
  • api/src/utils/emotions.ts +0 -0
  • api/src/utils/validators.ts +21 -26
api/src/utils/emotions.ts
api/src/utils/validators.ts
@@ -1,18 +1,18 @@
1 + import { parseISO, isValid, isFuture, isAfter } from 'date-fns';
2 +
1 3 // Email validation
2 - export function isValidEmail(email) {
4 + const isValidEmail = (email: string) => {
3 5 const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
4 6 return emailRegex.test(email);
5 7 }
6 8
7 9 // Password validation (minimum 6 characters)
8 - export function isValidPassword(password) {
10 + const isValidPassword = (password: string) => {
9 11 return password && password.length >= 6;
10 12 }
11 13
12 - import { parseISO, isValid, isFuture, isAfter } from 'date-fns';
13 -
14 14 // Date validation
15 - export function isValidDate(dateString) {
15 + const isValidDate = (dateString: string) => {
16 16 if (!dateString) return false;
17 17 try {
18 18 const date = parseISO(dateString);
@@ -23,7 +23,7 @@ }
23 23 }
24 24
25 25 // Check if date is not in the future
26 - export function isNotFutureDate(dateString) {
26 + const isNotFutureDate = (dateString: string) => {
27 27 if (!dateString) return false;
28 28 try {
29 29 const date = parseISO(dateString);
@@ -34,7 +34,7 @@ }
34 34 }
35 35
36 36 // Validate date range
37 - export function isValidDateRange(startDate, endDate) {
37 + const isValidDateRange = (startDate: string, endDate: string) => {
38 38 if (!startDate || !endDate) return false;
39 39 try {
40 40 const start = parseISO(startDate);
@@ -51,13 +51,14 @@ }
51 51 }
52 52
53 53 // Sanitize string input
54 - export function sanitizeString(str) {
54 + const sanitizeString = (str: string) => {
55 55 if (typeof str !== 'string') return '';
56 56 return str.trim().slice(0, 500); // Limit to 500 chars
57 57 }
58 58
59 59 // Validate required fields
60 - export function validateRequiredFields(data, fields) {
60 +
61 + const validateRequiredFields = (data: Record<string, unknown>, fields: string[]) => {
61 62 const missing = [];
62 63
63 64 for (const field of fields) {
@@ -73,25 +74,18 @@ };
73 74 }
74 75
75 76 // Validate number in range
76 - export function isInRange(value, min, max) {
77 + const isInRange = (value: number, min: number, max: number) => {
77 78 const num = Number(value);
78 79 return !isNaN(num) && num >= min && num <= max;
79 80 }
80 81
81 - // Parse and validate integer
82 - export function parseIntOrDefault(value, defaultValue = null) {
83 - const parsed = parseInt(value, 10);
84 - return isNaN(parsed) ? defaultValue : parsed;
85 - }
86 -
87 - // Validate pagination parameters
88 - export function validatePagination(page, limit) {
89 - const validPage = Math.max(1, parseIntOrDefault(page, 1));
90 - const validLimit = Math.min(100, Math.max(1, parseIntOrDefault(limit, 20)));
91 -
92 - return {
93 - page: validPage,
94 - limit: validLimit,
95 - offset: (validPage - 1) * validLimit
96 - };
97 - }
82 + export {
83 + validateRequiredFields,
84 + sanitizeString,
85 + isInRange,
86 + isValidEmail,
87 + isValidPassword,
88 + isValidDateRange,
89 + isNotFutureDate,
90 + isValidDate,
91 + };