sn-revisions 0.2.6 → 0.2.10

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 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.