tramway-api 1.7.0.3 → 1.7.0.4
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/README.md +15 -5
- data/lib/tramway/api.rb +2 -0
- data/lib/tramway/api/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56da4809e88d47a601a85acdeed9104c1ec4114c33a1c6cbc2c3a86b41a49003
|
4
|
+
data.tar.gz: 5c68a2cb731c77780b7ccdf399b66b792dd11626447eb9b676311ac5a839d840
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7eb92d306828573f93795a3fbbebd5df72a5a63af74144d19aed2658d1245fad3d9579582d9611765884357dca7d8c3804509e2e836d10a30cf9dab3e5a4553
|
7
|
+
data.tar.gz: e23a71a3d8a71b9ef5159ac2361912a186a0f7b522b83a8ca0951a84240485f9a31213f73f82fe30d207b168ffaf22786bb7fd46e3baa173a8b707c1474af6bc
|
data/README.md
CHANGED
@@ -70,12 +70,22 @@ Then generate User (you use another name, it's just an example) model
|
|
70
70
|
rails g model user email:text password_digest:text username:text state:text uid:text
|
71
71
|
```
|
72
72
|
|
73
|
-
|
73
|
+
Enable extension in your database:
|
74
74
|
|
75
|
-
*db/migrate/
|
75
|
+
*db/migrate/enable_extension.rb*
|
76
|
+
```
|
77
|
+
def change
|
78
|
+
enable_extension 'uuid-ossp'
|
79
|
+
end
|
80
|
+
```
|
81
|
+
|
82
|
+
|
83
|
+
Add generating uuid by default to every model, that is accessible by API
|
84
|
+
|
85
|
+
*db/migrate/add_uuid_to_some_model.rb*
|
76
86
|
|
77
87
|
```ruby
|
78
|
-
t.uuid :
|
88
|
+
t.uuid :uuid, default: 'uuid_generate_v4()'
|
79
89
|
```
|
80
90
|
|
81
91
|
*app/models/user.rb*
|
@@ -85,7 +95,7 @@ class User < Tramway::Core::ApplicationRecord
|
|
85
95
|
has_secure_password
|
86
96
|
|
87
97
|
def self.from_token_payload(payload)
|
88
|
-
find_by
|
98
|
+
find_by uuid: payload['sub']
|
89
99
|
end
|
90
100
|
end
|
91
101
|
```
|
@@ -227,7 +237,7 @@ RSpec.describe 'Post generate token', type: :feature do
|
|
227
237
|
post '/api/v1/user_token', params: { auth: { login: user.email, password: '123456789' } }
|
228
238
|
|
229
239
|
expect(json_response[:auth_token].present?).to be_truthy
|
230
|
-
expect(json_response[:user]).to include_json({ email: user.email,
|
240
|
+
expect(json_response[:user]).to include_json({ email: user.email, uuid: user.uuid })
|
231
241
|
end
|
232
242
|
|
233
243
|
end
|
data/lib/tramway/api.rb
CHANGED
@@ -18,12 +18,14 @@ module Tramway
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def user_based_models
|
21
|
+
@@auth_config ||= []
|
21
22
|
@@auth_config.map do |conf|
|
22
23
|
conf[:user_model]
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
26
27
|
def auth_attributes
|
28
|
+
@@auth_config ||= []
|
27
29
|
@@auth_config.reduce({}) do |hash, conf|
|
28
30
|
hash.merge! conf[:user_model] => conf[:auth_attributes]
|
29
31
|
end
|
data/lib/tramway/api/version.rb
CHANGED
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.7.0.
|
4
|
+
version: 1.7.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Pavel Kalashnikov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-02-
|
11
|
+
date: 2020-02-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_model_serializers
|