dscf-core 0.3.4 → 0.3.6
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: c79b0bd46b44ace100520a0a873e5a6dce32e9f13caf6c72c5ea7a729e1db870
|
|
4
|
+
data.tar.gz: 6715fc56d379b5600c71a4a78cccd4991a381f9a9a5d8ab0a80d5bc78b4c468d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a8b2df9c292d42b1331e30f05af007a2e45d416b4af9863fba943e329130a8705951cbf407c96fe014d0d2d4c9112abcafca38be10a47d8b24ac9e48ccdcce7e
|
|
7
|
+
data.tar.gz: 8268c64be459eacf7f1afa2c0f80b6b5370fcaad0d2f95f9744fde90c7e7e70add2a5f345fd70b53bf5eb1f1852f01f7261576ea623dee23308f2230c61623bc
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Dscf
|
|
2
|
+
module Core
|
|
3
|
+
module RoleAssignable
|
|
4
|
+
extend ActiveSupport::Concern
|
|
5
|
+
|
|
6
|
+
def assign_default_role(user)
|
|
7
|
+
role = Role.find_or_create_by!(code: "USER") do |r|
|
|
8
|
+
r.name = "User"
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
UserRole.find_or_create_by!(user: user, role: role)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
module Dscf
|
|
2
2
|
module Core
|
|
3
3
|
class AuthController < ApplicationController
|
|
4
|
+
include Dscf::Core::RoleAssignable
|
|
5
|
+
|
|
4
6
|
skip_before_action :authenticate_user, only: %i[login signup refresh]
|
|
5
7
|
skip_before_action :validate_token_expiry, only: %i[login signup refresh]
|
|
6
8
|
skip_before_action :validate_device_consistency, only: %i[login signup refresh]
|
|
@@ -46,6 +48,11 @@ module Dscf
|
|
|
46
48
|
ActiveRecord::Base.transaction do
|
|
47
49
|
if user.save
|
|
48
50
|
assign_default_role(user)
|
|
51
|
+
|
|
52
|
+
# Optionally create marketplace records when onboarding via mobile app
|
|
53
|
+
create_agent_from_signup! if params[:agent].present?
|
|
54
|
+
create_retailer_from_signup! if params[:retailer].present?
|
|
55
|
+
|
|
49
56
|
user_with_includes = User.includes(roles: :permissions, user_profile: {}).find(user.id)
|
|
50
57
|
render_success(
|
|
51
58
|
"auth.success.signup",
|
|
@@ -123,12 +130,36 @@ module Dscf
|
|
|
123
130
|
params.permit(:refresh_token)
|
|
124
131
|
end
|
|
125
132
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
# Creates an Agent record when included in signup request (mobile onboarding)
|
|
134
|
+
def create_agent_from_signup!
|
|
135
|
+
return unless defined?(Dscf::Marketplace::Agent)
|
|
136
|
+
|
|
137
|
+
Dscf::Marketplace::Agent.create!(
|
|
138
|
+
name: agent_signup_params[:name],
|
|
139
|
+
phone: agent_signup_params[:phone],
|
|
140
|
+
service_area: agent_signup_params[:service_area],
|
|
141
|
+
fayda_number: agent_signup_params[:fayda_number]
|
|
142
|
+
)
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# Creates a Retailer record when included in signup request (mobile onboarding)
|
|
146
|
+
def create_retailer_from_signup!
|
|
147
|
+
return unless defined?(Dscf::Marketplace::Retailer)
|
|
148
|
+
|
|
149
|
+
Dscf::Marketplace::Retailer.create!(
|
|
150
|
+
name: retailer_signup_params[:name],
|
|
151
|
+
phone: retailer_signup_params[:phone],
|
|
152
|
+
tin_number: retailer_signup_params[:tin_number],
|
|
153
|
+
location: retailer_signup_params[:location]
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
def agent_signup_params
|
|
158
|
+
params.fetch(:agent, {}).permit(:name, :phone, :service_area, :fayda_number)
|
|
159
|
+
end
|
|
130
160
|
|
|
131
|
-
|
|
161
|
+
def retailer_signup_params
|
|
162
|
+
params.fetch(:retailer, {}).permit(:name, :phone, :tin_number, :location)
|
|
132
163
|
end
|
|
133
164
|
end
|
|
134
165
|
end
|
data/lib/dscf/core/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dscf-core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Asrat
|
|
@@ -434,6 +434,7 @@ files:
|
|
|
434
434
|
- app/controllers/concerns/dscf/core/json_response.rb
|
|
435
435
|
- app/controllers/concerns/dscf/core/pagination.rb
|
|
436
436
|
- app/controllers/concerns/dscf/core/reviewable_controller.rb
|
|
437
|
+
- app/controllers/concerns/dscf/core/role_assignable.rb
|
|
437
438
|
- app/controllers/concerns/dscf/core/token_authenticatable.rb
|
|
438
439
|
- app/controllers/dscf/core/account_management_controller.rb
|
|
439
440
|
- app/controllers/dscf/core/addresses_controller.rb
|