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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d2ecdf23242f3f9bbeb1a1a1bc2c60619c84942560f90b4a25d6516c912fbb8
|
4
|
+
data.tar.gz: d9cc783a187e1081e95c084a7f229a963f73c5f5e838e9310385cc7da28285aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
29
|
-
LIMIT 1 ' % [bid_id, user_id,
|
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,
|
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
|
data/lib/c80_shared/version.rb
CHANGED
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.
|
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-
|
11
|
+
date: 2018-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|