1. Задача: Провести ревью и исправить ошибки в предложенном коде сервиса заказов
type OrderService struct {
BookingService BookingService
UserService UserService
}
type UserService interface {
LockUser(User) error
UnlockUser(User) error
}
type User struct {
ID string
}
type Receipt struct {
ID string
BookingCode string
BookedAt string
}
type BookingService interface {
BookFlight() (string, *BookingServiceError) // второй аргумент замени на error
}
type BookingServiceError struct {
error // переделай на CustomErr error
TryAgain bool
}
func (s *OrderService) HandleBookingOrder(user User) (res *Receipt, err error) { // добавь возвращение ошибки…