Create a new medical specialty
validatorJWT - Validates JWT token (backend/middlewares/validatorJWT.ts)isAdmin - Verifies user has admin role (backend/middlewares/validatorAdmin.ts)check("name", "El nombre es obligatorio").not().isEmpty() - Name is requiredcheck("name").custom(existNameSpeciality) - Name must be uniquecollectionErrors - Handles validation errorsbackend/controllers/speciality.ts:7
existNameSpeciality helper)"Cardiología""Pediatría""Medicina General""Traumatología"backend/routes/speciality.ts:33-34"Activa" - Active specialty (default)"Inactiva" - Inactive specialty"Activa"Note: While this field is optional in the request body, it’s defined as allowNull: false in the model, so Sequelize will use the default value.| Status Code | Description |
|---|---|
201 | Created - Specialty successfully created |
400 | Bad Request - Validation error (missing name or duplicate) |
401 | Unauthorized - Invalid or missing JWT token |
403 | Forbidden - User is not an administrator |
500 | Server Error - Database or internal error |
create method:
backend/controllers/speciality.ts:7-26
backend/routes/speciality.ts:29-38
existNameSpeciality helper validates that the name doesn’t already exist:
isAdmin middleware verifies the user has admin privileges:
Source: backend/middlewares/validatorAdmin.ts
backend/models/speciality.ts:27-31
state field defaults to “Activa” if not providedisAdmin middleware checks the user’s role