cats_core 1.0.0 → 1.0.4

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: 604365a363f0851bc10ec03d4e364de15b081685afbd076e3fef22d66c045b6f
4
- data.tar.gz: d1ff473020652f3fbb66bef23955cff2e57270e419507540195ef9d8a5702b8f
3
+ metadata.gz: 2d2e957d3c24b295e163776c3ecd67c21e16877687a0c2f4682be641ea2278a5
4
+ data.tar.gz: 1230cf3469e3a2943cad4e91d229e5aefb110f84e459b741022e28d91b099c62
5
5
  SHA512:
6
- metadata.gz: 9476576fe0f712e1001cd6148b365ef2e94ec65c8287b1eeb4304baec8bef1f37cbcff62a499145bd9f78f0878bef775225a2cd2cf5795ffe6a3efcfbb44506d
7
- data.tar.gz: db89e8070c9b8f82a242c811435af2a0bf85876b6d1c86ed64fe5da3fdcd85c9a6f08d8b907a9f8f922140417ce5baa639e78ecbec0be7c233b450564a92e5d2
6
+ metadata.gz: f0b8e1139d6a14e4afc0c49914b2d1cc1f9fe4e6e180410cb15368160f7705ab76665bb8805f37d538207f14d92126a20a70cc7ccbce1b6c4380025a15f06a30
7
+ data.tar.gz: 9e1dc4a4ecfd31ce032e64111a5d0d21f4c89a70e0732cfcba688e1e90804e2a9c8cea50ec8a602b7d73fed7d968117ea83c44a0538e436bc4584513823e0b61
@@ -2,6 +2,7 @@ module Cats
2
2
  module Core
3
3
  class Menu < ApplicationRecord
4
4
  belongs_to :application_module
5
+ has_many :menu_items
5
6
 
6
7
  validates :label, presence: true
7
8
  end
@@ -0,0 +1,7 @@
1
+ module Cats
2
+ module Core
3
+ class Notification < ApplicationRecord
4
+ belongs_to :recipient, polymorphic: true
5
+ end
6
+ end
7
+ end
@@ -2,6 +2,7 @@ module Cats
2
2
  module Core
3
3
  class Role < ApplicationRecord
4
4
  belongs_to :application_module
5
+ has_many :role_menus
5
6
 
6
7
  validates :name, presence: true
7
8
  end
@@ -5,6 +5,8 @@ module Cats
5
5
  rolify
6
6
 
7
7
  belongs_to :application_module
8
+ has_and_belongs_to_many :roles, join_table: :cats_core_users_cats_core_roles
9
+ has_many :notifications, as: :recipient
8
10
 
9
11
  validates :first_name, :last_name, :email, presence: true
10
12
  validates :password, length: { minimum: 6 }
@@ -0,0 +1,20 @@
1
+ module Cats
2
+ module Core
3
+ class TokenAuthService
4
+ AUTH_SECRET = '592fac227e8ee4ff985e376d554604f36c974b4f4605eb8d7ebe4dd1cf8fd8aa8e0cb85df1b48a8ec60cac7bb4117d854'\
5
+ '5c359123e14f6784dcd88e6e6a1ea8c'.freeze
6
+
7
+ def self.issue(payload)
8
+ JWT.encode(payload, auth_secret, 'HS256')
9
+ end
10
+
11
+ def self.decode(token)
12
+ JWT.decode(token, auth_secret, true, algorithm: 'HS256').first
13
+ end
14
+
15
+ def self.auth_secret
16
+ AUTH_SECRET
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ class CreateCatsCoreNotifications < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cats_core_notifications do |t|
4
+ t.references :recipient, polymorphic: true, null: false
5
+ t.string :type
6
+ t.jsonb :params
7
+ t.datetime :read_at
8
+
9
+ t.timestamps
10
+ end
11
+ add_index :cats_core_notifications, :read_at
12
+ end
13
+ end
@@ -1,5 +1,5 @@
1
1
  module Cats
2
2
  module Core
3
- VERSION = '1.0.0'.freeze
3
+ VERSION = '1.0.4'.freeze
4
4
  end
5
5
  end
data/lib/cats_core.rb CHANGED
@@ -2,3 +2,4 @@ require 'cats/core/version'
2
2
  require 'cats/core/engine'
3
3
  require 'ancestry'
4
4
  require 'rolify'
5
+ require 'jwt'
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :notification, class: 'Cats::Core::Notification' do
3
+ recipient factory: :user
4
+ type { nil }
5
+ params { {} }
6
+ read_at { Date.today }
7
+ end
8
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cats_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-23 00:00:00.000000000 Z
11
+ date: 2021-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ancestry
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.2.3
55
+ - !ruby/object:Gem::Dependency
56
+ name: noticed
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rails
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -198,6 +212,7 @@ files:
198
212
  - app/models/cats/core/location.rb
199
213
  - app/models/cats/core/menu.rb
200
214
  - app/models/cats/core/menu_item.rb
215
+ - app/models/cats/core/notification.rb
201
216
  - app/models/cats/core/program.rb
202
217
  - app/models/cats/core/role.rb
203
218
  - app/models/cats/core/role_menu.rb
@@ -208,6 +223,7 @@ files:
208
223
  - app/models/cats/core/user.rb
209
224
  - app/models/cats/core/way_bill.rb
210
225
  - app/models/cats/core/way_bill_item.rb
226
+ - app/services/cats/core/token_auth_service.rb
211
227
  - config/routes.rb
212
228
  - db/migrate/20210715114238_create_cats_core_application_modules.rb
213
229
  - db/migrate/20210715114910_create_cats_core_users.rb
@@ -227,6 +243,7 @@ files:
227
243
  - db/migrate/20210718045516_create_cats_core_way_bills.rb
228
244
  - db/migrate/20210718050751_create_cats_core_way_bill_items.rb
229
245
  - db/migrate/20210718202957_create_cats_core_commodity_transactions.rb
246
+ - db/migrate/20210724074657_create_cats_core_notifications.rb
230
247
  - lib/cats/core.rb
231
248
  - lib/cats/core/engine.rb
232
249
  - lib/cats/core/version.rb
@@ -240,6 +257,7 @@ files:
240
257
  - spec/factories/cats/core/locations.rb
241
258
  - spec/factories/cats/core/menu_items.rb
242
259
  - spec/factories/cats/core/menus.rb
260
+ - spec/factories/cats/core/notifications.rb
243
261
  - spec/factories/cats/core/programs.rb
244
262
  - spec/factories/cats/core/role_menus.rb
245
263
  - spec/factories/cats/core/roles.rb