c80_shared 0.1.12 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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