Size: a a a

2020 February 16

I

Igor in Go-go!
ну и этик хэндлеров под 50 штук уже накопилось.
источник

АП

Александр Попов in Go-go!
где r это Request стандартный, с него выковыриваешь URL и вперед
источник

I

Igor in Go-go!
рассеивается внимание. удобнее держать права в одном месте
источник

ЕО

Евгений Омельченко in Go-go!
Объяви явно структуру "суперхендер", в которой положи функцию и требуемые для него роли, напиши обобщённый обработчик, который берёт роли пользователя и сравнивает с требуемыми, а потом, если можно, запускает функцию. Нафига её имя-то иметь?
источник

АП

Александр Попов in Go-go!
Евгений Омельченко
Объяви явно структуру "суперхендер", в которой положи функцию и требуемые для него роли, напиши обобщённый обработчик, который берёт роли пользователя и сравнивает с требуемыми, а потом, если можно, запускает функцию. Нафига её имя-то иметь?
он хочет "автоматически" передавать имя места где проверяется в check
источник

АП

Александр Попов in Go-go!
что бы экономить 1 параметр
источник

I

Igor in Go-go!
Евгений Омельченко
Объяви явно структуру "суперхендер", в которой положи функцию и требуемые для него роли, напиши обобщённый обработчик, который берёт роли пользователя и сравнивает с требуемыми, а потом, если можно, запускает функцию. Нафига её имя-то иметь?
ну и к тому же рест генерится без меня из Oapi3
источник

ЕО

Евгений Омельченко in Go-go!
Александр Попов
он хочет "автоматически" передавать имя места где проверяется в check
Ага, и иметь мап имя-правп
источник

ЕО

Евгений Омельченко in Go-go!
Igor
ну и к тому же рест генерится без меня из Oapi3
А, ну ссзб
источник

АП

Александр Попов in Go-go!
Igor
ну и к тому же рест генерится без меня из Oapi3
почему ты не хочешь привязяться к запросу?
источник

АП

Александр Попов in Go-go!
во всех апишках есть http.Request
источник

I

Igor in Go-go!
плюсы оапи3 все же перевешивают
источник

АП

Александр Попов in Go-go!
или даже не так, просто руками передавать имя функции как строку. читабельно же
источник

АП

Александр Попов in Go-go!
func AppleHandler(...) {
      user := GetUser(r)
      if !check("AppleHandler", user) {
            // error
            return
      }
      // Logic
}
источник

I

Igor in Go-go!
ну видимо придется так делать в конце концов
источник

АП

Александр Попов in Go-go!
но если делать кашерно, то конечно вместо AppleHandler надо кидать именно имя действия, ибо функция может делать не 1 действие
источник

АП

Александр Попов in Go-go!
func AppleHandler(...) {
      user := GetUser(r)
      if !auth.RoleCheck(user, auth.ReadApples, auth.MakeAppleGreatAgain) {
            // error
            return
      }
      // Logic
}
источник

АП

Александр Попов in Go-go!
переменное число аргументов можно сделать с помощью ... они соберутся в слайс
источник

АП

Александр Попов in Go-go!
источник

I

Igor in Go-go!
ммм
источник