sn-revisions 0.2.7 → 0.2.11

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: e6fd8a7a570e4e2d838855b595302516522e9b210b40fac78da8ffe5cda37a6d
4
- data.tar.gz: d65a449b84683914bf5d9a4dc6e20c38813b1f61df7a7cd7fcac06a98dae28ee
3
+ metadata.gz: dc41d93a8c3dd22e95a9cabb1c3677829e66bfbf75eb7db67ab48403d9455cc3
4
+ data.tar.gz: c2dc46da759a45430552192b21f1f46312ff5c9c3ba07b974fbfe3a966f2dc13
5
5
  SHA512:
6
- metadata.gz: b01748ffda7142f8692d6d35ccb4f95b0583bf8643ac8a204199a46c64e98ce4aabe691752882455b5a18b3da032aefd29114c4f048c282791e433778924497a
7
- data.tar.gz: a8eda9db60436e1a271e3f75c2b0920f89f69329f63f0eedff41073b6b15a493c346d2777658deaaaf68b067062590278717b6ebe3bee0192f9fc53c71890c18
6
+ metadata.gz: 8f0a25b6a646e554012991119b22405c68266b4d6d5dfafe51b35cc8242e497624dfe3bd3e4ae2460465e3e489897015fc4854744be35ccae9330aa2b95adc2f
7
+ data.tar.gz: 75c48bf008a02a9e846d09b0f7e8cc75d1daf78885c85d36fffc6ac57ed0813cbf878c6cb2c6fe4392cbf197aaef4a77f81f30746e8abde2b4e2c6a11afd11be
@@ -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,
@@ -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 AddRevisionsRevisionsIndex < 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.7'
2
+ VERSION = '0.2.11'
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.7
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Standard Notes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-13 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