c80_shared 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2e1df589346937aa3d347da223430cd942a21f13b5267f2afdb45f99d0a3a31
4
- data.tar.gz: d9995e81bd85f782e58da119d76f09ee06c2474f76f1565b7ed85aa0778f960a
3
+ metadata.gz: 8d2ecdf23242f3f9bbeb1a1a1bc2c60619c84942560f90b4a25d6516c912fbb8
4
+ data.tar.gz: d9cc783a187e1081e95c084a7f229a963f73c5f5e838e9310385cc7da28285aa
5
5
  SHA512:
6
- metadata.gz: 770bbc56059b55d1e8b05abe0d8bcc78be46190dcac9d6f79fdc777b305cf78397254579c1ea89f3026937c766c5e0827e27800324b93c9984716ddd954763b8
7
- data.tar.gz: 89a62b16af77ca68b70cac5b9a0559ea7173b4e8a1cf20c0a095437a7ceeec9121a67a350cc41549479c30167ef7a088910ff2a7bc781bec825b13deaca38e63
6
+ metadata.gz: 132e8442a3e50d20ffaed3676ffa6fb3468d089afad51be0b90ade62221f2d74a50a87550a94d0ffce9a267aea44bbd913c2a582c27ce77d03ce10aa9263afae
7
+ data.tar.gz: d4321609f4e47a00ccb6477c28abd682e7be634d8b795327252e413f854b8378e4444f85d855fe89ae786e72cce92d83cfae8491b6584492f9bd11d6d7cb2fcf
@@ -1,9 +1,9 @@
1
1
  module Dicts
2
2
  class EmailTokenSubj < ::Dict
3
- TO_CLIENT_NEW_INQUIRY = new(1, 'to_client_new_inquiry')
4
- TO_AGENT_NEW_INQUIRY = new(2, 'to_agent_new_inquiry')
5
- TO_CLIENT_NEW_BID = new(3, 'to_client_new_bid')
6
- TO_CLIENT_NEW_BID_BOAT = new(4, 'to_client_new_bid_boat')
7
- TO_AGENT_ACCEPTED_BID = new(5, 'to_agent_accepted_bid')
3
+ TO_CLIENT_NEW_INQUIRY = new(1, 'to_client_new_inquiry') # вставляется в ссылки для перехода в кабинет Клиентом (в письме уведомлении о созданной Клиентом Заявке)
4
+ TO_AGENT_NEW_INQUIRY = new(2, 'to_agent_new_inquiry') # вставляется в ссылку для перехода в кабинет Агентом (в письме уведомлении о новой подходящей Заявке)
5
+ TO_CLIENT_NEW_BID = new(3, 'to_client_new_bid') # вставляется в ссылки для перехода в кабинет Клиента (в письме уведомлении о новом Предложении)
6
+ TO_CLIENT_NEW_BID_BOAT = new(4, 'to_client_new_bid_boat') # вставляется в ссылку на просмотр лодки Клиентом (в письме уведомлении о новом Предложении)
7
+ TO_AGENT_ACCEPTED_BID = new(5, 'to_agent_accepted_bid') # вставляется в ссылку для перехода в кабинет Агентом (в письме уведомлении о принятом Клиентом Предложении)
8
8
  end
9
9
  end
@@ -3,11 +3,11 @@ module Users
3
3
 
4
4
  attr_reader :token, :generated
5
5
 
6
- def perform(user_id, bid_id)
6
+ def perform(user_id, bid_id, token_subj_id)
7
7
  _reset_ivars
8
8
 
9
- new_token = _find_token user_id, bid_id
10
- new_token ||= _generate_token user_id, bid_id
9
+ new_token = _find_token user_id, bid_id, token_subj_id
10
+ new_token ||= _generate_token user_id, bid_id, token_subj_id
11
11
  @token = new_token
12
12
 
13
13
  true
@@ -18,26 +18,31 @@ module Users
18
18
  # @return [Nil]
19
19
  # @return [String]
20
20
  #
21
- def _find_token(user_id, bid_id)
21
+ def _find_token(user_id, bid_id, token_subj_id)
22
22
  return unless user_id.present? && bid_id.present?
23
23
 
24
24
  sql = 'SELECT user_email_tokens.token FROM user_email_tokens
25
25
  INNER JOIN user_email_tokens_bids ON user_email_tokens.id = user_email_tokens_bids.token_id
26
26
  WHERE user_email_tokens_bids.bid_id = %s
27
27
  AND user_email_tokens.user_id = %s
28
- AND user_email_tokens.subj_id IN (%s)
29
- LIMIT 1 ' % [bid_id, user_id, Users::GenerateEmailTokenService.db_types.join(',')]
28
+ AND user_email_tokens.subj_id = %s
29
+ LIMIT 1 ' % [bid_id, user_id, token_subj_id]
30
30
 
31
31
  res = ::ActiveRecord::Base.connection.exec_query(sql)
32
32
  res.as_json.dig(0, 'token')
33
33
  end
34
34
 
35
+ # Генерация нужна только для тех случаев,
36
+ # когда были отправлены письма без токенов ДО того момента,
37
+ # когда токены были введены. Т.е. сейчас, по сути дела,
38
+ # этот метод никогда не вызывается.
39
+ #
35
40
  # @return [String]
36
41
  #
37
- def _generate_token(user_id, bid_id)
42
+ def _generate_token(user_id, bid_id, token_subj_id)
38
43
  @generated = true
39
44
  user = ::User.find user_id
40
- ::Users::GenerateEmailTokenService.call user, ::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID.id, bid_id
45
+ ::Users::GenerateEmailTokenService.call user, token_subj_id, bid_id
41
46
  end
42
47
 
43
48
  def _reset_ivars
@@ -12,7 +12,14 @@ module Users
12
12
  user_email_token.token
13
13
  end
14
14
 
15
- # создадим связку с Предложением, если токен генерится для ссылки на лодку в письме о новом Предложении, отправляемого Клиенту
15
+ # создадим связку Токена с Предложением,
16
+ # если токен генерится для ссылки на Предложение в Кабинете или на просмотр Лодки на сайте,
17
+ # которая вставляется в письмо о новом Предложении, отправляемого Клиенту
18
+ #
19
+ # Делаем это только для того, чтобы найти уже сгенерированный токен,
20
+ # зная id Предложения,
21
+ # чтобы повторно его использовать (т.е. вставить в письмо-уведомление о предоставленной скидке)
22
+ #
16
23
  def self.create_bid_link(user_email_token_id, bid_id)
17
24
  return unless bid_id
18
25
 
@@ -24,13 +31,8 @@ module Users
24
31
  ActiveRecord::Base.connection.execute(sql)
25
32
  end
26
33
 
27
- # для таких типов генерим связку
34
+ # для таких типов генерим связку токена с Предложением
28
35
  def self.needed_types
29
- [::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID.id]
30
- end
31
-
32
- # в базе могут лежать такие связки
33
- def self.db_types
34
36
  [::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID.id, ::Dicts::EmailTokenSubj::TO_CLIENT_NEW_BID_BOAT.id]
35
37
  end
36
38
  end
@@ -1,3 +1,3 @@
1
1
  module C80Shared
2
- VERSION = "0.1.12"
2
+ VERSION = "0.1.13"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_shared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.12
4
+ version: 0.1.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-12-10 00:00:00.000000000 Z
11
+ date: 2018-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler