sn-revisions 0.2.0 → 0.2.5

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
- SHA1:
3
- metadata.gz: c332396cc54a84421da58db8b83aec7dd2eb6b39
4
- data.tar.gz: a997680a0c289a748e258fbbb1163ebb049e6dc5
2
+ SHA256:
3
+ metadata.gz: edbf1ef739e32f8ac0d20f3c717193b28465d11c219284061d5305b6a6b0dfd1
4
+ data.tar.gz: af6623b32de817b40d83806e1ae286a1481fe039e276b907147c9b03712971ce
5
5
  SHA512:
6
- metadata.gz: 4ce3bebb7bf5b4bb09cfc312f184704efaba857ef76444ee256e486cbfc3c4c08a53e5cf8768d60e6ae6eea26a585daa0f1099b16b99cacbbb6254e39111d46b
7
- data.tar.gz: 440318cdf88b3aa689181d06e17254e4d08e2bcb6b7338062846375d649f96fbdd75070f3577dabdd92a878a976cd1ac654b7bdb4e3ae6bc53049eaf1f99e947
6
+ metadata.gz: a4864c8780a6f346c2638b9d05ba4cb599873db0fc0e7e7778f1ceee7663fffc31c3e8095246578d60c10825ca93d5519b01b358c22a7d7146416e8db22ab767
7
+ data.tar.gz: 25db854727398ffe4275e8fb2be3b09beebd75618a5fb63442b5448226d5a8964733aacf540794b3c099336fdd3f712b1f09169f3794589bc0878103956c2ff2
@@ -2,19 +2,21 @@ require_dependency "revisions/application_controller"
2
2
 
3
3
  module Revisions
4
4
  class ItemsController < ApplicationController
5
-
6
5
  def save
7
6
  items = params[:items]
7
+ auth_params = params[:auth_params]
8
+
8
9
  items.each do |item_hash|
9
10
  item = current_user.items.find_or_create_by(:item_uuid => item_hash["uuid"])
10
11
  item.prune_history
11
- item.add_revision(item_hash["content"], item_hash["enc_item_key"], item_hash["auth_hash"])
12
+ item.add_revision(item_hash["content"], item_hash["enc_item_key"], item_hash["auth_hash"], auth_params)
12
13
  if item.content_type == nil
13
14
  item.content_type = item_hash["content_type"]
14
15
  item.save
15
16
  end
16
17
  end
17
- end
18
18
 
19
+ head :no_content
20
+ end
19
21
  end
20
22
  end
@@ -10,7 +10,19 @@ module Revisions
10
10
  return
11
11
  end
12
12
 
13
- render :json => {:item => revision.as_json.merge({:uuid => revision.item.item_uuid, :content_type => revision.item.content_type})}
13
+ if revision.auth_params
14
+ # Handles issue where auth params were not previously properly serialized before being inserted
15
+ begin
16
+ auth_params = JSON.parse(revision.auth_params)
17
+ rescue
18
+ auth_params = JSON.parse(revision.auth_params.gsub('=>', ':'))
19
+ end
20
+ end
21
+
22
+ render :json => {
23
+ :item => revision.as_json.merge({:uuid => revision.item.item_uuid, :content_type => revision.item.content_type}),
24
+ :auth_params => auth_params
25
+ }
14
26
  end
15
27
 
16
28
  end
@@ -3,11 +3,12 @@ module Revisions
3
3
 
4
4
  has_many :revisions, -> { order 'created_at desc' }
5
5
 
6
- def add_revision(content, item_key, auth_hash)
6
+ def add_revision(content, item_key, auth_hash, auth_params)
7
7
  revision = self.revisions.new
8
8
  revision.content = content
9
9
  revision.enc_item_key = item_key
10
10
  revision.auth_hash = auth_hash
11
+ revision.auth_params = auth_params.to_json
11
12
  # revision.num = self.revisions.length > 0 && self.revisions.first.num ? (self.revisions.first.num + 1) : 0
12
13
  revision.save
13
14
  end
@@ -0,0 +1,5 @@
1
+ class AddAuthParamsToRevisions < ActiveRecord::Migration[5.0]
2
+ def change
3
+ add_column :revisions_revisions, :auth_params, :text
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module Revisions
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.5'
3
3
  end
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sn-revisions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Standard Notes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-26 00:00:00.000000000 Z
11
+ date: 2020-08-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 5.0.1
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '6'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 5.0.1
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '6'
27
33
  description: The Note History extension for Standard Notes allows you to track changes
28
34
  to your notes, and restore them to previous versions.
29
35
  email:
@@ -68,6 +74,7 @@ files:
68
74
  - db/migrate/20170211000426_create_revisions_revisions.rb
69
75
  - db/migrate/20170211001350_create_revisions_users.rb
70
76
  - db/migrate/20170713154559_change_item_key_to_text.rb
77
+ - db/migrate/20180526182951_add_auth_params_to_revisions.rb
71
78
  - lib/revisions.rb
72
79
  - lib/revisions/engine.rb
73
80
  - lib/revisions/version.rb
@@ -91,8 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
98
  - !ruby/object:Gem::Version
92
99
  version: '0'
93
100
  requirements: []
94
- rubyforge_project:
95
- rubygems_version: 2.6.12
101
+ rubygems_version: 3.0.3
96
102
  signing_key:
97
103
  specification_version: 4
98
104
  summary: The Note History extension for Standard Notes allows you to track changes