sn-revisions 0.2.6 → 0.2.10

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: fdc634d650b631459df49d982f3c7ea51228c692e04ba4224bbb3be97516aa41
4
- data.tar.gz: bf01b99bf6fb788a9b307f57f7694ff60e2f505d49951013422cd1756765f246
3
+ metadata.gz: 5af2eae1ed02ee865fef7af1e29603b6034bba6cf841abc2ff6d41ae21948bc9
4
+ data.tar.gz: a68b75c24fc7ae4a7b0d213ceb29a95959bbccbe35118189511e5f5b056e67ee
5
5
  SHA512:
6
- metadata.gz: 1e6222b6a9443a3488bfac3a70c633fbb04f58a59c9bf451f3689c4d40aa14be242456e0b1debc704fb35af84de98c1eb2f768173a1015a46e55bd4c4a77bfa6
7
- data.tar.gz: 9731a1d4a62effa3a304ce7bcae50847f130083fb95ded7e014027a97c1f09767d8a58d97c50b04f60cc2db5ae93ef441c7115774bae0204817b1948a922c48b
6
+ metadata.gz: 7df01b12ab27d1d3f371e107bf05886df8282614617bff68b91f3f0b0917692abc6cd8d7d23311828183532a3d0e133a6dab2874d400c2ca303c7196850b34d0
7
+ data.tar.gz: e4be10179e4c421af4b2c4f280ba2b49228d6855839caa57feeb888638e713f5d652527311ee887a762f9f57d697e5810746d93838cd7de056086fd00c2ceef4
@@ -6,8 +6,8 @@ module Revisions
6
6
  before_action :authenticate_user
7
7
 
8
8
  def authenticate_user
9
- user = Revisions::User.find(params[:uid])
10
- if !ActiveSupport::SecurityUtils.secure_compare(user.key, params[:key])
9
+ user = Revisions::User.find_by_id(params[:uid])
10
+ if !user || !ActiveSupport::SecurityUtils.secure_compare(user.key, params[:key])
11
11
  render_unauthorized
12
12
  return
13
13
  end
@@ -5,9 +5,23 @@ module Revisions
5
5
  def save
6
6
  items = params[:items]
7
7
  auth_params = params[:auth_params]
8
+ directive = params[:directive]
9
+
10
+ if directive == 'delete-account'
11
+ current_user.destroy
12
+ head :no_content
13
+ return
14
+ end
8
15
 
9
16
  items.each do |item_hash|
10
17
  item = current_user.items.find_or_create_by(item_uuid: item_hash['uuid'])
18
+
19
+ if item_hash['deleted'] == true
20
+ item.destroy
21
+ head :no_content
22
+ next
23
+ end
24
+
11
25
  item.prune_history
12
26
 
13
27
  item.add_revision(
@@ -1,7 +1,7 @@
1
1
  module Revisions
2
2
  class Item < ApplicationRecord
3
3
 
4
- has_many :revisions, -> { order 'created_at desc' }
4
+ has_many :revisions, -> { order 'created_at desc' }, dependent: :destroy
5
5
 
6
6
  def add_revision(
7
7
  items_key_id: nil,
@@ -51,7 +51,9 @@ module Revisions
51
51
  end
52
52
  end
53
53
 
54
- Revision.destroy(discard_ids)
54
+ Revision
55
+ .where(id: discard_ids)
56
+ .delete_all
55
57
  end
56
58
  end
57
59
  end
@@ -1,5 +1,5 @@
1
1
  module Revisions
2
2
  class User < ApplicationRecord
3
- has_many :items
3
+ has_many :items, dependent: :destroy
4
4
  end
5
5
  end
@@ -0,0 +1,5 @@
1
+ class AddItemsKeyId < ActiveRecord::Migration[5.2]
2
+ def change
3
+ add_index :revisions_revisions, [:item_id, :created_at]
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module Revisions
2
- VERSION = '0.2.6'
2
+ VERSION = '0.2.10'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sn-revisions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.6
4
+ version: 0.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Standard Notes
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-25 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -76,6 +76,7 @@ files:
76
76
  - db/migrate/20170713154559_change_item_key_to_text.rb
77
77
  - db/migrate/20180526182951_add_auth_params_to_revisions.rb
78
78
  - db/migrate/20200925151406_add_items_key_id.rb
79
+ - db/migrate/20210930124602_add_revisions_revisions_index.rb
79
80
  - lib/revisions.rb
80
81
  - lib/revisions/engine.rb
81
82
  - lib/revisions/version.rb
@@ -84,7 +85,7 @@ homepage: https://standardnotes.org
84
85
  licenses:
85
86
  - MIT
86
87
  metadata: {}
87
- post_install_message:
88
+ post_install_message:
88
89
  rdoc_options: []
89
90
  require_paths:
90
91
  - lib
@@ -99,8 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
100
  - !ruby/object:Gem::Version
100
101
  version: '0'
101
102
  requirements: []
102
- rubygems_version: 3.0.6
103
- signing_key:
103
+ rubygems_version: 3.0.3
104
+ signing_key:
104
105
  specification_version: 4
105
106
  summary: The Note History extension for Standard Notes allows you to track changes
106
107
  to your notes, and restore them to previous versions.