Class: Users::GenerateEmailTokenService
- Inherits:
-
Object
- Object
- Users::GenerateEmailTokenService
- Defined in:
- app/services/users/generate_email_token_service.rb
Class Method Summary collapse
- .call(user, email_token_subj_id, bid_id = nil) ⇒ Object
-
.create_bid_link(user_email_token_id, bid_id) ⇒ Object
создадим связку Токена с Предложением, если токен генерится для ссылки на Предложение в Кабинете или на просмотр Лодки на сайте, которая вставляется в письмо о новом Предложении, отправляемого Клиенту.
-
.needed_types ⇒ Object
для таких типов генерим связку токена с Предложением.
Class Method Details
.call(user, email_token_subj_id, bid_id = nil) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# File 'app/services/users/generate_email_token_service.rb', line 3 def self.call(user, email_token_subj_id, bid_id = nil) user_email_token = ::UserEmailToken.new user: user user_email_token.token = ::TokenGenerator.generate_token user_email_token.expires_at = Time.now + 1.week user_email_token.subj_id = email_token_subj_id user_email_token.save! create_bid_link(user_email_token.id, bid_id) if needed_types.include? email_token_subj_id user_email_token.token end |
.create_bid_link(user_email_token_id, bid_id) ⇒ Object
создадим связку Токена с Предложением, если токен генерится для ссылки на Предложение в Кабинете или на просмотр Лодки на сайте, которая вставляется в письмо о новом Предложении, отправляемого Клиенту
Делаем это только для того, чтобы найти уже сгенерированный токен, зная id Предложения, чтобы повторно его использовать (т.е. вставить в письмо-уведомление о предоставленной скидке)
23 24 25 26 27 28 29 30 31 32 |
# File 'app/services/users/generate_email_token_service.rb', line 23 def self.create_bid_link(user_email_token_id, bid_id) return unless bid_id opts = { token_id: user_email_token_id, bid_id: bid_id } sql = 'INSERT IGNORE INTO user_email_tokens_bids(token_id, bid_id) VALUES(%{token_id}, %{bid_id})' % opts ActiveRecord::Base.connection.execute(sql) end |
.needed_types ⇒ Object
для таких типов генерим связку токена с Предложением
35 36 37 |
# File 'app/services/users/generate_email_token_service.rb', line 35 def self.needed_types [::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID.id, ::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID_BOAT.id] end |