tsks 0.0.3 → 0.0.4
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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/tsks/actions.rb +10 -0
- data/lib/tsks/cli.rb +23 -4
- data/lib/tsks/request.rb +6 -0
- data/lib/tsks/storage.rb +34 -0
- data/lib/tsks/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9556deb4b5e30cbe04ad5c58748675d148861575065ba9421c03e9fe65a5a180
|
4
|
+
data.tar.gz: 45bda05308651ffc0301f1b5c25bfdc9eb1f913743ab7a70bd5201cbe04de094
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f67dc537a7735951d63c1f7b8cb9198e863c33d88971afb4a49cbb4ee9ff87ab338ed581bf11225726f0c2606258924225a2e184d90db7850075ba892c6c2805
|
7
|
+
data.tar.gz: 1ceffcc60b0b7bfab4c1b893232740c3848db7d7d1b3d60d4613a43e48f73c022984f59238b97cd6ed6e853c8ba65092da0cea075b17398fa6f5b0f78b8fc7b3
|
data/Gemfile.lock
CHANGED
data/lib/tsks/actions.rb
CHANGED
@@ -9,5 +9,15 @@ module Tsks
|
|
9
9
|
Tsks::Storage.update tsk[:local_id], {user_id: uuid}
|
10
10
|
end
|
11
11
|
end
|
12
|
+
|
13
|
+
def self.update_server_for_removed_tsks token
|
14
|
+
tsks_uuids = Tsks::Storage.select_removed_uuids
|
15
|
+
|
16
|
+
if !tsks_uuids.empty?
|
17
|
+
for id in tsks_uuids
|
18
|
+
Tsks::Request.delete "/tsks/#{id}", token
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
12
22
|
end
|
13
23
|
end
|
data/lib/tsks/cli.rb
CHANGED
@@ -12,6 +12,11 @@ module Tsks
|
|
12
12
|
@setup_folder
|
13
13
|
end
|
14
14
|
|
15
|
+
desc "version", ""
|
16
|
+
def version
|
17
|
+
puts "tsks #{Tsks::VERSION}"
|
18
|
+
end
|
19
|
+
|
15
20
|
desc "init", "Setup tsks folder and storage"
|
16
21
|
def init
|
17
22
|
if File.directory? CLI.setup_folder
|
@@ -94,7 +99,7 @@ module Tsks
|
|
94
99
|
elsif res && res[:status_code] == 409
|
95
100
|
puts "This e-mail is already registered."
|
96
101
|
end
|
97
|
-
rescue Errno::ECONNREFUSED
|
102
|
+
rescue Errno::ECONNREFUSED, SocketError
|
98
103
|
puts "Failed to connect to the API."
|
99
104
|
rescue JSON::ParserError
|
100
105
|
puts "Error on reading data from the API."
|
@@ -121,7 +126,7 @@ module Tsks
|
|
121
126
|
elsif res && res[:status_code] == 403
|
122
127
|
puts "Invalid e-mail or password."
|
123
128
|
end
|
124
|
-
rescue Errno::ECONNREFUSED
|
129
|
+
rescue Errno::ECONNREFUSED, SocketError
|
125
130
|
puts "Failed to connect to the API."
|
126
131
|
rescue JSON::ParserError
|
127
132
|
puts "Error on reading data from the API."
|
@@ -139,10 +144,12 @@ module Tsks
|
|
139
144
|
end
|
140
145
|
|
141
146
|
user_id = File.read File.join CLI.setup_folder, "user_id"
|
147
|
+
token = File.read File.join CLI.setup_folder, "token"
|
142
148
|
Tsks::Actions.update_tsks_with_uuid user_id
|
149
|
+
Tsks::Actions.update_server_for_removed_tsks token
|
150
|
+
Tsks::Storage.delete_removed_uuids
|
143
151
|
local_tsks = Tsks::Storage.select_all local_id=false
|
144
152
|
|
145
|
-
token = File.read File.join CLI.setup_folder, "token"
|
146
153
|
remote_tsks = []
|
147
154
|
begin
|
148
155
|
get_res = Tsks::Request.get "/tsks", token
|
@@ -167,11 +174,23 @@ module Tsks
|
|
167
174
|
puts "Your tsks were succesfully synchronized."
|
168
175
|
end
|
169
176
|
end
|
170
|
-
rescue Errno::ECONNREFUSED
|
177
|
+
rescue Errno::ECONNREFUSED, SocketError
|
171
178
|
puts "Failed to connect to the API."
|
172
179
|
rescue JSON::ParserError
|
173
180
|
puts "Error on reading data from the API."
|
174
181
|
end
|
175
182
|
end
|
183
|
+
|
184
|
+
desc "remove ID", "..."
|
185
|
+
def remove id
|
186
|
+
if !File.directory? CLI.setup_folder
|
187
|
+
return puts "tsks was not initialized yet."
|
188
|
+
end
|
189
|
+
|
190
|
+
op_status = Tsks::Storage.delete id
|
191
|
+
if !op_status
|
192
|
+
puts "The specified tsk do not exist."
|
193
|
+
end
|
194
|
+
end
|
176
195
|
end
|
177
196
|
end
|
data/lib/tsks/request.rb
CHANGED
@@ -27,6 +27,12 @@ module Tsks
|
|
27
27
|
parsed_res = parse_response res.body
|
28
28
|
end
|
29
29
|
|
30
|
+
def self.delete endpoint, token
|
31
|
+
uri = URI "#{Request.base_uri}#{endpoint}"
|
32
|
+
res = HTTParty.delete uri, headers: {authorization: "Bearer #{token}"}
|
33
|
+
parsed_res = parse_response res.body
|
34
|
+
end
|
35
|
+
|
30
36
|
private
|
31
37
|
|
32
38
|
def self.parse_response body
|
data/lib/tsks/storage.rb
CHANGED
@@ -16,6 +16,12 @@ module Tsks
|
|
16
16
|
updated_at VARCHAR NOT NULL
|
17
17
|
)
|
18
18
|
SQL
|
19
|
+
|
20
|
+
storage.execute <<-SQL
|
21
|
+
CREATE TABLE removed_tsks (
|
22
|
+
tsk_uuid VARCHAR UNIQUE NOT NULL
|
23
|
+
)
|
24
|
+
SQL
|
19
25
|
end
|
20
26
|
|
21
27
|
def self.insert tsk, ctx=nil
|
@@ -103,6 +109,34 @@ module Tsks
|
|
103
109
|
tsks = structure_tsks(raw_tsks, local_id=local_id)
|
104
110
|
end
|
105
111
|
|
112
|
+
def self.delete local_id
|
113
|
+
storage = get_storage_instance
|
114
|
+
removed_tsks = storage
|
115
|
+
.execute("SELECT * FROM tsks WHERE rowid=?", local_id)
|
116
|
+
if removed_tsks.empty?
|
117
|
+
return false
|
118
|
+
end
|
119
|
+
storage
|
120
|
+
.execute("INSERT INTO removed_tsks (tsk_uuid) VALUES (?)", removed_tsks[0][0])
|
121
|
+
storage.execute("DELETE FROM tsks WHERE rowid=?", local_id)
|
122
|
+
end
|
123
|
+
|
124
|
+
def self.select_removed_uuids
|
125
|
+
storage = get_storage_instance
|
126
|
+
result = storage.execute("SELECT * FROM removed_tsks")
|
127
|
+
|
128
|
+
tsk_uuids = []
|
129
|
+
for item in result
|
130
|
+
tsk_uuids.append item[0]
|
131
|
+
end
|
132
|
+
return tsk_uuids
|
133
|
+
end
|
134
|
+
|
135
|
+
def self.delete_removed_uuids
|
136
|
+
storage = get_storage_instance
|
137
|
+
storage.execute("DELETE FROM removed_tsks")
|
138
|
+
end
|
139
|
+
|
106
140
|
private
|
107
141
|
|
108
142
|
def self.get_storage_instance
|
data/lib/tsks/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tsks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luan F. R. Vicente
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|