backend api stuff
This commit is contained in:
@@ -3,7 +3,7 @@ const Joi = require('joi');
|
|||||||
// User validation schemas
|
// User validation schemas
|
||||||
const registerSchema = Joi.object({
|
const registerSchema = Joi.object({
|
||||||
email: Joi.string().email().required(),
|
email: Joi.string().email().required(),
|
||||||
password: Joi.string().min(8).pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/).required()
|
password: Joi.string().min(8).pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&#+])[A-Za-z\d@$!%*?&#+]/).required()
|
||||||
.messages({
|
.messages({
|
||||||
'string.pattern.base': 'Password must contain at least one lowercase letter, one uppercase letter, one number, and one special character'
|
'string.pattern.base': 'Password must contain at least one lowercase letter, one uppercase letter, one number, and one special character'
|
||||||
}),
|
}),
|
||||||
@@ -24,7 +24,7 @@ const updateUserSchema = Joi.object({
|
|||||||
|
|
||||||
const changePasswordSchema = Joi.object({
|
const changePasswordSchema = Joi.object({
|
||||||
currentPassword: Joi.string().required(),
|
currentPassword: Joi.string().required(),
|
||||||
newPassword: Joi.string().min(8).pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/).required()
|
newPassword: Joi.string().min(8).pattern(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&#+])[A-Za-z\d@$!%*?&#+]/).required()
|
||||||
.messages({
|
.messages({
|
||||||
'string.pattern.base': 'Password must contain at least one lowercase letter, one uppercase letter, one number, and one special character'
|
'string.pattern.base': 'Password must contain at least one lowercase letter, one uppercase letter, one number, and one special character'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ services:
|
|||||||
context: ./backend
|
context: ./backend
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV=production
|
- NODE_ENV=development
|
||||||
- DB_HOST=db
|
- DB_HOST=db
|
||||||
- DB_PORT=5432
|
- DB_PORT=5432
|
||||||
- DB_NAME=${DB_NAME:-turftracker}
|
- DB_NAME=${DB_NAME:-turftracker}
|
||||||
|
|||||||
@@ -161,7 +161,8 @@ export const AuthProvider = ({ children }) => {
|
|||||||
toast.success('Account created successfully!');
|
toast.success('Account created successfully!');
|
||||||
return { success: true };
|
return { success: true };
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const errorMessage = error.response?.data?.message || 'Registration failed. Please try again.';
|
console.error('Registration error:', error);
|
||||||
|
const errorMessage = error.response?.data?.message || error.message || 'Registration failed. Please try again.';
|
||||||
dispatch({ type: actionTypes.SET_ERROR, payload: errorMessage });
|
dispatch({ type: actionTypes.SET_ERROR, payload: errorMessage });
|
||||||
toast.error(errorMessage);
|
toast.error(errorMessage);
|
||||||
return { success: false, error: errorMessage };
|
return { success: false, error: errorMessage };
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ const Register = () => {
|
|||||||
message: 'Password must be at least 8 characters',
|
message: 'Password must be at least 8 characters',
|
||||||
},
|
},
|
||||||
pattern: {
|
pattern: {
|
||||||
value: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/,
|
value: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&#+])[A-Za-z\d@$!%*?&#+]/,
|
||||||
message: 'Password must contain uppercase, lowercase, number, and special character',
|
message: 'Password must contain uppercase, lowercase, number, and special character',
|
||||||
},
|
},
|
||||||
})}
|
})}
|
||||||
|
|||||||
Reference in New Issue
Block a user