tramway-api 1.6.0.2 → 1.6.3.1

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: 14b227fe2c5a72ce92a967c1a1abf17b0f3a3480cee4f4e9fc5a1a53c978aca4
4
- data.tar.gz: ffe812022a1229e947c0db0edbda374c174d7632970099107f0d8f556a7ebcd1
3
+ metadata.gz: dc3d2db65fc5b4b06905703a83e8652a7794f46cf2c28147cf0c39d95bb81f4f
4
+ data.tar.gz: 84d4b9f3f77bd968d75d2a512679647352c687193d26a2b30d909b58643cc3fa
5
5
  SHA512:
6
- metadata.gz: 14f9d4a3aff794718f346dc0ace3ec0a92f1abe05d2123164ae8d1dc0b9b5f9ad5f2c08dee24264e691bbc798d0af758bb48fcb8079423c1833795b105ca83a0
7
- data.tar.gz: cbbd904561dee654dccf93f2279f7a1e6dcf6069e85f705cd4efdef58175c99138647a18e14d1878b7f726535089239683966b4fbb4e01d8c8822737e5f5b58c
6
+ metadata.gz: ee82990f80e8692e5a1428ad0685ee0d17ff9ffa3acd5474716b3385fae07570be6d1d2a21fa3590b9351992eab8f318b3c0fa3359fc76fef0d1aef96ab58c92
7
+ data.tar.gz: 1fbe1b706291a8cfb0a04ea9e7ebeec5376032f2970d345424d18263d467d5d7da070dbb3f056482dd712e451d489e63bb314ed58ee0f1603f794d5c2fb32208
@@ -5,7 +5,7 @@ module Tramway
5
5
  class ApplicationController < ::Tramway::Core::ApplicationController
6
6
  include ::Knock::Authenticable
7
7
  protect_from_forgery with: :null_session, if: proc { |c| c.request.format == 'application/json' }
8
- rescue_from ActiveRecord::RecordNotFound, with: :not_found
8
+ rescue_from ActiveRecord::RecordNotFound, with: :not_found if Rails.env.production?
9
9
 
10
10
  private
11
11
 
@@ -17,12 +17,14 @@ module Tramway
17
17
  head :unauthorized
18
18
  end
19
19
 
20
- protected
21
-
22
20
  def authenticate
23
- return unauthorized if current_user.nil? || !params[:user_based_model].in?(Tramway::Api.user_based_models)
21
+ return if current_user || params[:user_based_model].in?(Tramway::Api.user_based_models)
22
+
23
+ unauthorized
24
24
  end
25
25
 
26
+ protected
27
+
26
28
  def auth_token
27
29
  if entity.respond_to? :to_token_payload
28
30
  ::Knock::AuthToken.new payload: entity.to_token_payload
@@ -69,7 +69,9 @@ module Tramway::Api::V1
69
69
  end
70
70
 
71
71
  def authenticate_user_if_needed
72
- head :unauthorized and return if action_name.in?(Tramway::Api.available_models[model_class.to_s][:closed]&.map(&:to_s) || []) && !current_user
72
+ if action_name.in?(Tramway::Api.available_models[model_class.to_s][:closed]&.map(&:to_s) || []) && !current_user
73
+ head(:unauthorized) && return
74
+ end
73
75
  end
74
76
 
75
77
  def model_class
@@ -13,7 +13,7 @@ class Tramway::Api::V1::UserTokensController < ::Tramway::Api::V1::ApplicationCo
13
13
  }
14
14
  }, status: :created
15
15
  else
16
- not_found
16
+ unauthorized
17
17
  end
18
18
  end
19
19
  end
@@ -9,13 +9,14 @@ class Tramway::Api::V1::UsersController < ::Tramway::Api::V1::ApplicationControl
9
9
  def create
10
10
  user_form = sign_up_form_class_name(user_based_model).new user_based_model.new
11
11
  # Implement JSON API spec here
12
- if user_form.submit snake_case params[user_based_model.name.underscore]
12
+ if user_form.submit snake_case params[:data][:attributes]
13
13
  token = ::Knock::AuthToken.new(payload: { sub: user_form.model.uid }).token
14
14
  # FIXME: refactor this bullshit
15
15
  serialized_user = OpenStruct.new(
16
16
  user_form.model.attributes.merge(
17
17
  authentication_token: token,
18
- id: user_form.model.uid
18
+ uid: user_form.model.uid,
19
+ id: user_form.model.id
19
20
  )
20
21
  )
21
22
  render json: serialized_user, status: :created
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Tramway
4
4
  module Api
5
- VERSION = '1.6.0.2'
5
+ VERSION = '1.6.3.1'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tramway-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.0.2
4
+ version: 1.6.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pavel Kalashnikov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-06 00:00:00.000000000 Z
11
+ date: 2020-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers