rhino_project_core 0.30.0.alpha.13 → 0.30.0.alpha.15
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 +4 -4
- data/app/helpers/rhino/omniauth_helper.rb +1 -5
- data/app/models/rhino/user.rb +4 -0
- data/app/overrides/devise_token_auth/confirmations_controller_override.rb +1 -1
- data/app/overrides/devise_token_auth/passwords_controller_override.rb +1 -1
- data/app/overrides/devise_token_auth/registrations_controller_override.rb +8 -0
- data/lib/generators/rhino/dev/setup/templates/env.tt +0 -4
- data/lib/generators/rhino/module/templates/test/dummy/config/initializers/devise_token_auth.rb +2 -2
- data/lib/rhino/resource/active_record_extension/params.rb +23 -4
- data/lib/rhino/sieve/order.rb +1 -1
- data/lib/rhino/version.rb +1 -1
- metadata +13 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7c3c0715e3664edd24fa42e711c47db0955a19422a2e984566494d8602810a5f
|
4
|
+
data.tar.gz: f1ba9388ec978e26361b13355172b641e049e4f5331f1d5e87a5c61746dafe34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 30977d8aeb0c1489349db37ffff6130a5ab65fb3ddcb45a70f16611543b354de48a46d2d1e6e7e04ac1af32313a8ee0ab1db03afee87f435b0c11d09a3356a14
|
7
|
+
data.tar.gz: 32e57851051dd1f5729f79c45852552b9dd10e54807abbd4dbb35ea208d4a1f31dc303e41d6855d95b5485a0de751276ee1fd7fc6d0737dd27335c9f9047803b
|
@@ -5,12 +5,10 @@ module Rhino
|
|
5
5
|
module_function
|
6
6
|
|
7
7
|
def strategies_metadata
|
8
|
-
params = { resource_class: "User" }
|
9
|
-
|
10
8
|
strategies.each_with_object([]) do |strategy, array|
|
11
9
|
array << {
|
12
10
|
name: strategy,
|
13
|
-
path: "#{::OmniAuth.config.path_prefix}/#{strategy}
|
11
|
+
path: "#{::OmniAuth.config.path_prefix}/#{strategy}"
|
14
12
|
}
|
15
13
|
end
|
16
14
|
end
|
@@ -23,8 +21,6 @@ module Rhino
|
|
23
21
|
match[1].downcase.to_sym
|
24
22
|
end.uniq
|
25
23
|
|
26
|
-
strategies += [:developer] if Rails.env.development? && !Rake.try(:application)
|
27
|
-
|
28
24
|
strategies
|
29
25
|
end
|
30
26
|
|
data/app/models/rhino/user.rb
CHANGED
@@ -4,6 +4,6 @@ class DeviseTokenAuth::PasswordsController
|
|
4
4
|
# If there is an error preparing to edit the password, redirect to frontend
|
5
5
|
# This would normally be an expired password token
|
6
6
|
def render_edit_error
|
7
|
-
redirect_to "#{ENV['
|
7
|
+
redirect_to "#{ENV['ROOT_URL']}/auth/reset-password/expired"
|
8
8
|
end
|
9
9
|
end
|
@@ -13,6 +13,14 @@ module DeviseTokenAuth::RegistrationsController::Extensions
|
|
13
13
|
create_organization(resource) if Rhino.resources.include?("Organization")
|
14
14
|
end
|
15
15
|
end
|
16
|
+
|
17
|
+
# Get all the information just like the token_validation_response and sign_in
|
18
|
+
def render_create_success
|
19
|
+
render json: {
|
20
|
+
success: true,
|
21
|
+
data: resource_data(resource_json: @resource.token_validation_response)
|
22
|
+
}
|
23
|
+
end
|
16
24
|
end
|
17
25
|
|
18
26
|
class DeviseTokenAuth::RegistrationsController
|
@@ -2,7 +2,6 @@ PORT=<%= server_port %>
|
|
2
2
|
|
3
3
|
# Server
|
4
4
|
ROOT_URL=http://localhost:$PORT
|
5
|
-
FRONT_END_URL=http://localhost:$PORT
|
6
5
|
|
7
6
|
DB_NAME=<%= db_name %>
|
8
7
|
DB_HOST=<%= db_host %>
|
@@ -10,9 +9,6 @@ DB_PORT=<%= db_port %>
|
|
10
9
|
DB_USERNAME=<%= db_user %>
|
11
10
|
DB_PASSWORD=<%= db_password %>
|
12
11
|
|
13
|
-
# Client
|
14
|
-
VITE_API_ROOT_PATH=$ROOT_URL
|
15
|
-
|
16
12
|
# Production server:
|
17
13
|
SENDGRID_API_KEY=<api-key>
|
18
14
|
|
data/lib/generators/rhino/module/templates/test/dummy/config/initializers/devise_token_auth.rb
CHANGED
@@ -66,6 +66,6 @@ DeviseTokenAuth.setup do |config|
|
|
66
66
|
# send email, set it to true. (This is a setting for compatibility)
|
67
67
|
# config.send_confirmation_email = true
|
68
68
|
|
69
|
-
config.default_confirm_success_url = "#{ENV['
|
70
|
-
config.default_password_reset_url = "#{ENV['
|
69
|
+
config.default_confirm_success_url = "#{ENV['ROOT_URL']}/auth/signin"
|
70
|
+
config.default_password_reset_url = "#{ENV['ROOT_URL']}/auth/reset-password"
|
71
71
|
end
|
@@ -89,7 +89,12 @@ module Rhino
|
|
89
89
|
# An array of references
|
90
90
|
if desc[:type] == :array && (desc[:items].key?(:$ref) || desc[:items].key?(:anyOf))
|
91
91
|
# FIXME: Hack for has_many_attached
|
92
|
-
|
92
|
+
if desc.dig(:items, :anyOf)[0]&.dig(:$ref) == "#/components/schemas/active_storage_attachment"
|
93
|
+
params << { prop => [] }
|
94
|
+
params << { prop => ["signed_id"] }
|
95
|
+
|
96
|
+
next
|
97
|
+
end
|
93
98
|
|
94
99
|
# We only accept if the active record accepts it
|
95
100
|
next unless nested_attributes_options.key?(prop_sym) || desc.dig(:items, :anyOf)[0]&.dig(:$ref)
|
@@ -138,7 +143,8 @@ module Rhino
|
|
138
143
|
|
139
144
|
{ prop => assoc_params.flatten.uniq }
|
140
145
|
else
|
141
|
-
|
146
|
+
# For ActiveStorage::Attachment we want to accept the signed_id
|
147
|
+
{ prop => klasses.map { it == ActiveStorage::Attachment ? "signed_id" : it.identifier_property }.uniq }
|
142
148
|
end
|
143
149
|
end
|
144
150
|
|
@@ -162,12 +168,25 @@ module Rhino
|
|
162
168
|
# FIXME
|
163
169
|
# Hack to rewrite for attachment/attachments and guard against object resubmission
|
164
170
|
if param_key.end_with?("_attachment")
|
165
|
-
|
171
|
+
# If its a string, its the signed_id
|
172
|
+
hash[param_key.remove("_attachment")] = if param_value.is_a?(String) || param_value.nil?
|
173
|
+
param_value
|
174
|
+
|
175
|
+
# Otherwise if its a hash, and we want the signed_id from it
|
176
|
+
elsif param_value.is_a?(ActionController::Parameters)
|
177
|
+
param_value["signed_id"]
|
178
|
+
end
|
166
179
|
|
167
180
|
next
|
168
181
|
end
|
169
182
|
if param_key.end_with?("_attachments")
|
170
|
-
hash[param_key.remove("_attachments")] =
|
183
|
+
hash[param_key.remove("_attachments")] = if param_value.nil?
|
184
|
+
param_value
|
185
|
+
|
186
|
+
# if an element is a string, its the signed_id, if its a hash, we want the signed_id from it
|
187
|
+
elsif param_value.is_a?(Array)
|
188
|
+
param_value.map { it.is_a?(ActionController::Parameters) ? it["signed_id"] : it }
|
189
|
+
end
|
171
190
|
|
172
191
|
next
|
173
192
|
end
|
data/lib/rhino/sieve/order.rb
CHANGED
@@ -13,7 +13,7 @@ module Rhino
|
|
13
13
|
@param = params[:order]
|
14
14
|
|
15
15
|
# Always append id to the end of the order clause to ensure a stable sort for pagination
|
16
|
-
result = apply_order.order(scope.primary_key)
|
16
|
+
result = apply_order.order(scope.primary_key.to_sym)
|
17
17
|
@app.resolve(result, params)
|
18
18
|
end
|
19
19
|
|
data/lib/rhino/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhino_project_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.30.0.alpha.
|
4
|
+
version: 0.30.0.alpha.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- JP Rosevear
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date: 2025-01
|
10
|
+
date: 2025-03-01 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: rails
|
@@ -16,20 +15,20 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - "~>"
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
18
|
+
version: 8.0.0
|
20
19
|
- - ">="
|
21
20
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
21
|
+
version: 8.0.0
|
23
22
|
type: :runtime
|
24
23
|
prerelease: false
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
26
25
|
requirements:
|
27
26
|
- - "~>"
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
28
|
+
version: 8.0.0
|
30
29
|
- - ">="
|
31
30
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
31
|
+
version: 8.0.0
|
33
32
|
- !ruby/object:Gem::Dependency
|
34
33
|
name: activeadmin
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
@@ -50,14 +49,14 @@ dependencies:
|
|
50
49
|
requirements:
|
51
50
|
- - '='
|
52
51
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
52
|
+
version: 12.0.0
|
54
53
|
type: :runtime
|
55
54
|
prerelease: false
|
56
55
|
version_requirements: !ruby/object:Gem::Requirement
|
57
56
|
requirements:
|
58
57
|
- - '='
|
59
58
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
59
|
+
version: 12.0.0
|
61
60
|
- !ruby/object:Gem::Dependency
|
62
61
|
name: analytics-ruby
|
63
62
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,14 +91,14 @@ dependencies:
|
|
92
91
|
requirements:
|
93
92
|
- - '='
|
94
93
|
- !ruby/object:Gem::Version
|
95
|
-
version: 2.
|
94
|
+
version: 2.16.0
|
96
95
|
type: :runtime
|
97
96
|
prerelease: false
|
98
97
|
version_requirements: !ruby/object:Gem::Requirement
|
99
98
|
requirements:
|
100
99
|
- - '='
|
101
100
|
- !ruby/object:Gem::Version
|
102
|
-
version: 2.
|
101
|
+
version: 2.16.0
|
103
102
|
- !ruby/object:Gem::Dependency
|
104
103
|
name: countries
|
105
104
|
requirement: !ruby/object:Gem::Requirement
|
@@ -134,14 +133,14 @@ dependencies:
|
|
134
133
|
requirements:
|
135
134
|
- - '='
|
136
135
|
- !ruby/object:Gem::Version
|
137
|
-
version: 1.2.
|
136
|
+
version: 1.2.5
|
138
137
|
type: :runtime
|
139
138
|
prerelease: false
|
140
139
|
version_requirements: !ruby/object:Gem::Requirement
|
141
140
|
requirements:
|
142
141
|
- - '='
|
143
142
|
- !ruby/object:Gem::Version
|
144
|
-
version: 1.2.
|
143
|
+
version: 1.2.5
|
145
144
|
- !ruby/object:Gem::Dependency
|
146
145
|
name: friendly_id
|
147
146
|
requirement: !ruby/object:Gem::Requirement
|
@@ -511,7 +510,6 @@ homepage: ''
|
|
511
510
|
licenses:
|
512
511
|
- MIT
|
513
512
|
metadata: {}
|
514
|
-
post_install_message:
|
515
513
|
rdoc_options: []
|
516
514
|
require_paths:
|
517
515
|
- lib
|
@@ -526,8 +524,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
526
524
|
- !ruby/object:Gem::Version
|
527
525
|
version: '0'
|
528
526
|
requirements: []
|
529
|
-
rubygems_version: 3.
|
530
|
-
signing_key:
|
527
|
+
rubygems_version: 3.6.2
|
531
528
|
specification_version: 4
|
532
529
|
summary: ''
|
533
530
|
test_files: []
|