getBody(), true); $required = [ 'username','email','password','phone','address','city','state','zip','country', 'kyc','birthdate','cpf','company_id','role_id' ]; foreach ($required as $field) { if (!isset($body[$field]) || $body[$field] === '') { return ResponseLib::sendFail("Missing field: $field", [], "E_VALIDATE")->withStatus(400); } } if (!filter_var($body['email'], FILTER_VALIDATE_EMAIL)) { return ResponseLib::sendFail("Invalid email format", [], "E_VALIDATE")->withStatus(400); } if (strlen($body['password']) < 8) { return ResponseLib::sendFail("Password must be at least 8 characters", [], "E_VALIDATE")->withStatus(400); } $userModel = new UserModel(); $userData = $userModel->createUser($body); if (!$userData) { return ResponseLib::sendFail("Email already exists or creation failed", [], "E_VALIDATE")->withStatus(400); } return ResponseLib::sendOk($userData, "S_CREATED"); } }