adeia 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/adeia/action.rb +1 -1
- data/app/models/adeia/action_permission.rb +2 -2
- data/app/models/adeia/element.rb +1 -1
- data/app/models/adeia/group.rb +1 -1
- data/app/models/adeia/group_user.rb +1 -1
- data/app/models/adeia/permission.rb +2 -2
- data/app/models/adeia/token.rb +6 -6
- data/db/migrate/20151003144208_create_adeia_permissions.rb +1 -1
- data/db/migrate/20151003144706_create_adeia_group_users.rb +1 -1
- data/db/migrate/20151003150524_create_adeia_tokens.rb +1 -1
- data/db/migrate/20151003150806_create_adeia_action_permissions.rb +2 -2
- data/lib/adeia/database.rb +1 -1
- data/lib/adeia/version.rb +1 -1
- data/spec/factories.rb +0 -1
- data/spec/test_app/db/development.sqlite3 +0 -0
- data/spec/test_app/db/schema.rb +18 -18
- data/spec/test_app/db/test.sqlite3 +0 -0
- data/spec/test_app/log/development.log +416 -0
- data/spec/test_app/log/test.log +34592 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/1q1WRq06_IVjFBR5biQsOPGMRTScobu45EMVwx4sEzA.cache +1 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/6h6JbChfVPzy1cyavuZNNm6Xb3JB0IjEp2COPz0h8vU.cache +0 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/LGoYADmWxSZ4cgEQovgw4jKWSD0yKt7pp_j4Xx7yPFU.cache +0 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/SAQiBY_2vZDHAGU5noXXw8c2D_YjmZsK7uKeoAoQ9LY.cache +0 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/bh0ouClxWTYX6ADci0-9q0OyWiVMqtbi5tS6tlvV4Yw.cache +1 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/eiYZZ4ruGdo0kPz9zBSotTKadNOi1rL2kDzjOu9VlDg.cache +1 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/jeHGfyS9ujS0BMOSZoDza_0tUTY2SCowfnu6XQE2Mas.cache +0 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/nyIOt3nveDlzsgyiAmRX7J-Ma2b9pt4cIQGQPxs4XL4.cache +0 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/qsCKsNea0YO9-W0o1JgIJhx55aT8mYGPm19PUAt_pUs.cache +1 -0
- data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/sZdqSSaT4oJf_VbVWiQCT_hbaaIfFZvsox0koYPROLw.cache +1 -0
- metadata +21 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d828301de03cf12cd48ff7481bd4f3204837345
|
4
|
+
data.tar.gz: 672fe459da7978ff31551d3572cb583da8ed0d6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de6a3fb607cc5aa648682a00b214e5e91735dd144f4047c5dde1dd9a84d3c7a1e9212640986949dedb29ec9789b732c33f173585e336201e29d36231b465c5ca
|
7
|
+
data.tar.gz: 00a3c0b57a03e08ba025eb3a265e0806df80dd5356b71e845e02da8751c4647696c45b8a7ee06d40ef37f1e2b7bc26bcece4b2822f76d6264cfa754fee49d318
|
data/app/models/adeia/action.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Adeia
|
2
2
|
class Action < ActiveRecord::Base
|
3
|
-
has_many :action_permissions, dependent: :destroy
|
3
|
+
has_many :action_permissions, foreign_key: :adeia_action_id, dependent: :destroy
|
4
4
|
has_many :permissions, through: :action_permissions
|
5
5
|
|
6
6
|
validates :name, presence: true
|
data/app/models/adeia/element.rb
CHANGED
data/app/models/adeia/group.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
class Adeia::Permission < ActiveRecord::Base
|
2
2
|
belongs_to :owner, polymorphic: true
|
3
|
-
belongs_to :element
|
3
|
+
belongs_to :element, foreign_key: :adeia_element_id
|
4
4
|
|
5
|
-
has_many :action_permissions, dependent: :destroy
|
5
|
+
has_many :action_permissions, foreign_key: :adeia_permission_id, dependent: :destroy
|
6
6
|
has_many :actions, through: :action_permissions
|
7
7
|
|
8
8
|
enum permission_type: [:all_entries, :on_ownerships, :on_entry]
|
data/app/models/adeia/token.rb
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
module Adeia
|
2
2
|
class Token < ActiveRecord::Base
|
3
|
-
belongs_to :permission
|
3
|
+
belongs_to :permission, foreign_key: :adeia_permission_id
|
4
4
|
|
5
|
-
validates :
|
5
|
+
validates :permission, presence: true
|
6
6
|
validates :exp_at, presence: true
|
7
7
|
|
8
8
|
before_create :generate_token
|
9
9
|
|
10
|
+
def is_valid?
|
11
|
+
exp_at > Time.now && is_valid
|
12
|
+
end
|
13
|
+
|
10
14
|
private
|
11
15
|
|
12
16
|
def generate_token
|
13
17
|
self.token = SecureRandom.urlsafe_base64
|
14
18
|
end
|
15
|
-
|
16
|
-
def is_valid?
|
17
|
-
exp_at > Time.now && is_valid
|
18
|
-
end
|
19
19
|
|
20
20
|
end
|
21
21
|
end
|
@@ -2,7 +2,7 @@ class CreateAdeiaPermissions < ActiveRecord::Migration
|
|
2
2
|
def change
|
3
3
|
create_table :adeia_permissions do |t|
|
4
4
|
t.references :owner, polymorphic: true, index: true
|
5
|
-
t.references :
|
5
|
+
t.references :adeia_element, index: true, foreign_key: true
|
6
6
|
t.integer :permission_type
|
7
7
|
t.boolean :read_right
|
8
8
|
t.boolean :create_right
|
@@ -1,7 +1,7 @@
|
|
1
1
|
class CreateAdeiaGroupUsers < ActiveRecord::Migration
|
2
2
|
def change
|
3
3
|
create_table :adeia_group_users do |t|
|
4
|
-
t.references :
|
4
|
+
t.references :adeia_group, index: true, foreign_key: true
|
5
5
|
t.references :user, index: true, foreign_key: true
|
6
6
|
|
7
7
|
t.timestamps null: false
|
@@ -3,7 +3,7 @@ class CreateAdeiaTokens < ActiveRecord::Migration
|
|
3
3
|
create_table :adeia_tokens do |t|
|
4
4
|
t.string :token
|
5
5
|
t.boolean :is_valid
|
6
|
-
t.references :
|
6
|
+
t.references :adeia_permission, index: true, foreign_key: true
|
7
7
|
t.date :exp_at
|
8
8
|
|
9
9
|
t.timestamps null: false
|
@@ -1,8 +1,8 @@
|
|
1
1
|
class CreateAdeiaActionPermissions < ActiveRecord::Migration
|
2
2
|
def change
|
3
3
|
create_table :adeia_action_permissions do |t|
|
4
|
-
t.references :
|
5
|
-
t.references :
|
4
|
+
t.references :adeia_action, index: true, foreign_key: true
|
5
|
+
t.references :adeia_permission, index: true, foreign_key: true
|
6
6
|
|
7
7
|
t.timestamps null: false
|
8
8
|
end
|
data/lib/adeia/database.rb
CHANGED
@@ -42,7 +42,7 @@ module Adeia
|
|
42
42
|
def token_rights(right_name)
|
43
43
|
@permission_token ||= Adeia::Token.find_by(token: @token)
|
44
44
|
if @permission_token && @permission_token.is_valid?
|
45
|
-
@token_rights ||= Adeia::Permission.joins(:element).where(id: @permission_token.
|
45
|
+
@token_rights ||= Adeia::Permission.joins(:element).where(id: @permission_token.adeia_permission_id, adeia_elements: { name: @controller }, "#{right_name}_right": true)
|
46
46
|
@token_resource_ids ||= @token_rights.pluck(:resource_id).compact
|
47
47
|
return { rights: @token_rights, resource_ids: @token_resource_ids }
|
48
48
|
else
|
data/lib/adeia/version.rb
CHANGED
data/spec/factories.rb
CHANGED
Binary file
|
data/spec/test_app/db/schema.rb
CHANGED
@@ -14,14 +14,14 @@
|
|
14
14
|
ActiveRecord::Schema.define(version: 20151012185726) do
|
15
15
|
|
16
16
|
create_table "adeia_action_permissions", force: :cascade do |t|
|
17
|
-
t.integer "
|
18
|
-
t.integer "
|
19
|
-
t.datetime "created_at",
|
20
|
-
t.datetime "updated_at",
|
17
|
+
t.integer "adeia_action_id"
|
18
|
+
t.integer "adeia_permission_id"
|
19
|
+
t.datetime "created_at", null: false
|
20
|
+
t.datetime "updated_at", null: false
|
21
21
|
end
|
22
22
|
|
23
|
-
add_index "adeia_action_permissions", ["
|
24
|
-
add_index "adeia_action_permissions", ["
|
23
|
+
add_index "adeia_action_permissions", ["adeia_action_id"], name: "index_adeia_action_permissions_on_adeia_action_id"
|
24
|
+
add_index "adeia_action_permissions", ["adeia_permission_id"], name: "index_adeia_action_permissions_on_adeia_permission_id"
|
25
25
|
|
26
26
|
create_table "adeia_actions", force: :cascade do |t|
|
27
27
|
t.string "name"
|
@@ -36,13 +36,13 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
36
36
|
end
|
37
37
|
|
38
38
|
create_table "adeia_group_users", force: :cascade do |t|
|
39
|
-
t.integer "
|
39
|
+
t.integer "adeia_group_id"
|
40
40
|
t.integer "user_id"
|
41
|
-
t.datetime "created_at",
|
42
|
-
t.datetime "updated_at",
|
41
|
+
t.datetime "created_at", null: false
|
42
|
+
t.datetime "updated_at", null: false
|
43
43
|
end
|
44
44
|
|
45
|
-
add_index "adeia_group_users", ["
|
45
|
+
add_index "adeia_group_users", ["adeia_group_id"], name: "index_adeia_group_users_on_adeia_group_id"
|
46
46
|
add_index "adeia_group_users", ["user_id"], name: "index_adeia_group_users_on_user_id"
|
47
47
|
|
48
48
|
create_table "adeia_groups", force: :cascade do |t|
|
@@ -54,30 +54,30 @@ ActiveRecord::Schema.define(version: 20151012185726) do
|
|
54
54
|
create_table "adeia_permissions", force: :cascade do |t|
|
55
55
|
t.integer "owner_id"
|
56
56
|
t.string "owner_type"
|
57
|
-
t.integer "
|
57
|
+
t.integer "adeia_element_id"
|
58
58
|
t.integer "permission_type"
|
59
59
|
t.boolean "read_right"
|
60
60
|
t.boolean "create_right"
|
61
61
|
t.boolean "update_right"
|
62
62
|
t.boolean "destroy_right"
|
63
63
|
t.integer "resource_id"
|
64
|
-
t.datetime "created_at",
|
65
|
-
t.datetime "updated_at",
|
64
|
+
t.datetime "created_at", null: false
|
65
|
+
t.datetime "updated_at", null: false
|
66
66
|
end
|
67
67
|
|
68
|
-
add_index "adeia_permissions", ["
|
68
|
+
add_index "adeia_permissions", ["adeia_element_id"], name: "index_adeia_permissions_on_adeia_element_id"
|
69
69
|
add_index "adeia_permissions", ["owner_type", "owner_id"], name: "index_adeia_permissions_on_owner_type_and_owner_id"
|
70
70
|
|
71
71
|
create_table "adeia_tokens", force: :cascade do |t|
|
72
72
|
t.string "token"
|
73
73
|
t.boolean "is_valid"
|
74
|
-
t.integer "
|
74
|
+
t.integer "adeia_permission_id"
|
75
75
|
t.date "exp_at"
|
76
|
-
t.datetime "created_at",
|
77
|
-
t.datetime "updated_at",
|
76
|
+
t.datetime "created_at", null: false
|
77
|
+
t.datetime "updated_at", null: false
|
78
78
|
end
|
79
79
|
|
80
|
-
add_index "adeia_tokens", ["
|
80
|
+
add_index "adeia_tokens", ["adeia_permission_id"], name: "index_adeia_tokens_on_adeia_permission_id"
|
81
81
|
|
82
82
|
create_table "articles", force: :cascade do |t|
|
83
83
|
t.string "title"
|
Binary file
|