module
0.0.0-20241121003605-e9f65d5978c7
Repository: https://github.com/dolald/smartway_test_work.git
Documentation: pkg.go.dev
# README
Employee Management Service
Описание
Это веб-сервис для управления сотрудниками, написанный на языке Go. Сервис позволяет добавлять, удалять, изменять и получать информацию о сотрудниках в компании.
Функциональность
Сервис поддерживает следующие функции:
-
Добавление сотрудников:
- Эндпоинт:
POST /employees/companies/departments/add_employee
- В ответ возвращается ID добавленного сотрудника.
Запрос { "department_id": 1, "name": "Иван", "surname": "Иванов", "phone": "+79991234567", "passport": { "type": "паспорт", "number": "1234567890" } }
- Эндпоинт:
Ответ { "id": 1 }
-
Удаление сотрудников:
- Эндпоинт:
DELETE /employees/{employeesId}
- Удаляет сотрудника по указанному ID. Ответ { "message": "Employee deleted successfully" }
- Эндпоинт:
-
Получение списка сотрудников для указанной компании:
- Эндпоинт:
GET /employees/companies/departments/{companyId}/add_employee
- Возвращает список всех сотрудников для указанной компании. Ответ [ { "id": 1, "department_id": 1, "name": "Иван", "surname": "Иванов", "phone": "+79991234567", "passport": { "type": "паспорт", "number": "1234567890" } }, { "id": 2, "department_id": 4, "name": "Петр", "surname": "Петров", "phone": "+79991234568", "passport": { "type": "паспорт", "number": "0987654321" } } ]
- Эндпоинт:
-
Получение списка сотрудников для указанного отдела:
- Эндпоинт:
GET /employees/companies/departments/{departmentsId}/employees
- Возвращает список всех сотрудников для указанного отдела. Ответ [ { "id": 1, "department_id": 1, "name": "Иван", "surname": "Иванов", "phone": "+79991234567", "passport": { "type": "паспорт", "number": "1234567890" } }, { "id": 2, "department_id": 1, "name": "Петр", "surname": "Петров", "phone": "+79991234568", "passport": { "type": "паспорт", "number": "0987654321" } } ]
- Эндпоинт:
-
Изменение информации о сотруднике:
- Эндпоинт:
PUT /{employeesId}
- Обновляет информацию о сотруднике по его ID. Изменения применяются только к указанным полям. Запрос { "department_id": 1, "name": "Иван", "surname": "Иванов", "phone": "+79991234567", "passport": { "type": "паспорт", "number": "1234567890" } }
- Эндпоинт:
Ответ { "department_id": 1, "name": "Иван", "surname": "Иванов", "phone": "+79991234567", "passport": { "type": "паспорт", "number": "1234567890" } }
Файл миграции был создан с помощью утилиты migrate