gazer 0.2.60 → 0.3.1
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/.github/workflows/release.yml +1 -1
- data/.github/workflows/ruby-ci.yml +2 -2
- data/CHANGELOG.md +19 -0
- data/Gemfile.lock +1 -1
- data/lib/gzr/command.rb +15 -9
- data/lib/gzr/commands/attribute/create.rb +3 -3
- data/lib/gzr/commands/attribute/import.rb +2 -2
- data/lib/gzr/commands/attribute/rm.rb +2 -2
- data/lib/gzr/commands/attribute.rb +2 -2
- data/lib/gzr/commands/connection/ls.rb +1 -1
- data/lib/gzr/commands/dashboard/cat.rb +1 -0
- data/lib/gzr/commands/dashboard/mv.rb +2 -2
- data/lib/gzr/commands/dashboard.rb +3 -1
- data/lib/gzr/commands/folder/create.rb +2 -2
- data/lib/gzr/commands/folder/export.rb +2 -0
- data/lib/gzr/commands/folder/tree.rb +3 -3
- data/lib/gzr/commands/folder.rb +2 -0
- data/lib/gzr/commands/look/cat.rb +1 -0
- data/lib/gzr/commands/look/import.rb +2 -2
- data/lib/gzr/commands/look/mv.rb +1 -1
- data/lib/gzr/commands/look.rb +2 -0
- data/lib/gzr/commands/permissions/ls.rb +1 -1
- data/lib/gzr/commands/plan/disable.rb +2 -2
- data/lib/gzr/commands/plan/enable.rb +2 -2
- data/lib/gzr/commands/plan/failures.rb +1 -1
- data/lib/gzr/commands/plan/import.rb +3 -3
- data/lib/gzr/commands/plan/run.rb +2 -2
- data/lib/gzr/commands/query/runquery.rb +3 -3
- data/lib/gzr/commands/role/group_add.rb +1 -1
- data/lib/gzr/commands/role/group_rm.rb +1 -1
- data/lib/gzr/commands/role/user_add.rb +1 -1
- data/lib/gzr/commands/role/user_rm.rb +1 -1
- data/lib/gzr/modules/attribute.rb +8 -8
- data/lib/gzr/modules/connection.rb +2 -2
- data/lib/gzr/modules/dashboard.rb +87 -20
- data/lib/gzr/modules/filehelper.rb +1 -0
- data/lib/gzr/modules/folder.rb +8 -8
- data/lib/gzr/modules/group.rb +10 -10
- data/lib/gzr/modules/look.rb +25 -8
- data/lib/gzr/modules/model.rb +1 -1
- data/lib/gzr/modules/permissions.rb +1 -1
- data/lib/gzr/modules/plan.rb +17 -17
- data/lib/gzr/modules/role.rb +7 -7
- data/lib/gzr/modules/session.rb +5 -5
- data/lib/gzr/modules/user.rb +7 -7
- data/lib/gzr/version.rb +1 -1
- metadata +2 -2
@@ -31,7 +31,7 @@ module Gzr
|
|
31
31
|
data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
|
32
32
|
rescue LookerSDK::Error => e
|
33
33
|
say_error "Error querying dashboard(#{dashboard_id})"
|
34
|
-
say_error e
|
34
|
+
say_error e
|
35
35
|
raise
|
36
36
|
end
|
37
37
|
data
|
@@ -43,7 +43,7 @@ module Gzr
|
|
43
43
|
data = @sdk.delete_dashboard(dash)
|
44
44
|
rescue LookerSDK::Error => e
|
45
45
|
say_error "Error deleting dashboard(#{dash})"
|
46
|
-
say_error e
|
46
|
+
say_error e
|
47
47
|
raise
|
48
48
|
end
|
49
49
|
data
|
@@ -53,13 +53,13 @@ module Gzr
|
|
53
53
|
data = []
|
54
54
|
begin
|
55
55
|
req = { :slug => slug }
|
56
|
-
req[:folder_id] = folder_id if folder_id
|
56
|
+
req[:folder_id] = folder_id if folder_id
|
57
57
|
data = @sdk.search_dashboards(req)
|
58
58
|
req[:deleted] = true
|
59
59
|
data = @sdk.search_dashboards(req) if data.empty?
|
60
60
|
rescue LookerSDK::Error => e
|
61
61
|
say_error "Error search_dashboards_by_slug(#{JSON.pretty_generate(req)})"
|
62
|
-
say_error e
|
62
|
+
say_error e
|
63
63
|
raise
|
64
64
|
end
|
65
65
|
data
|
@@ -69,13 +69,13 @@ module Gzr
|
|
69
69
|
data = []
|
70
70
|
begin
|
71
71
|
req = { :title => title }
|
72
|
-
req[:folder_id] = folder_id if folder_id
|
72
|
+
req[:folder_id] = folder_id if folder_id
|
73
73
|
data = @sdk.search_dashboards(req)
|
74
74
|
req[:deleted] = true
|
75
75
|
data = @sdk.search_dashboards(req) if data.empty?
|
76
76
|
rescue LookerSDK::Error => e
|
77
77
|
say_error "Error search_dashboards_by_title(#{JSON.pretty_generate(req)})"
|
78
|
-
say_error e
|
78
|
+
say_error e
|
79
79
|
raise
|
80
80
|
end
|
81
81
|
data
|
@@ -89,7 +89,7 @@ module Gzr
|
|
89
89
|
data&.dashboard_layouts&.sort_by! { |v| (v.active ? 0 : 1) }
|
90
90
|
rescue LookerSDK::Error => e
|
91
91
|
say_error "Error creating dashboard(#{JSON.pretty_generate(dash)})"
|
92
|
-
say_error e
|
92
|
+
say_error e
|
93
93
|
raise
|
94
94
|
end
|
95
95
|
data
|
@@ -101,7 +101,7 @@ module Gzr
|
|
101
101
|
data&.dashboard_filters&.sort! { |a,b| a.row <=> b.row }
|
102
102
|
rescue LookerSDK::Error => e
|
103
103
|
say_error "Error updating dashboard(#{dash_id},#{JSON.pretty_generate(dash)})"
|
104
|
-
say_error e
|
104
|
+
say_error e
|
105
105
|
raise
|
106
106
|
end
|
107
107
|
data
|
@@ -112,7 +112,7 @@ module Gzr
|
|
112
112
|
data = @sdk.create_dashboard_element(dash_elem)
|
113
113
|
rescue LookerSDK::Error => e
|
114
114
|
say_error "Error creating dashboard_element(#{JSON.pretty_generate(dash_elem)})"
|
115
|
-
say_error e
|
115
|
+
say_error e
|
116
116
|
raise
|
117
117
|
end
|
118
118
|
data
|
@@ -123,7 +123,7 @@ module Gzr
|
|
123
123
|
data = @sdk.update_dashboard_element(id,dash_elem)
|
124
124
|
rescue LookerSDK::Error => e
|
125
125
|
say_error "Error updating dashboard_element(#{id},#{JSON.pretty_generate(dash_elem)})"
|
126
|
-
say_error e
|
126
|
+
say_error e
|
127
127
|
raise
|
128
128
|
end
|
129
129
|
data
|
@@ -134,7 +134,7 @@ module Gzr
|
|
134
134
|
data = @sdk.delete_dashboard_element(id)
|
135
135
|
rescue LookerSDK::Error => e
|
136
136
|
say_error "Error deleting dashboard_element(#{id})})"
|
137
|
-
say_error e
|
137
|
+
say_error e
|
138
138
|
raise
|
139
139
|
end
|
140
140
|
data
|
@@ -145,7 +145,7 @@ module Gzr
|
|
145
145
|
data = @sdk.dashboard_layout(id)
|
146
146
|
rescue LookerSDK::Error => e
|
147
147
|
say_error "Error getting dashboard_layout(#{id})"
|
148
|
-
say_error e
|
148
|
+
say_error e
|
149
149
|
raise
|
150
150
|
end
|
151
151
|
data
|
@@ -156,7 +156,7 @@ module Gzr
|
|
156
156
|
data = @sdk.create_dashboard_layout(dash_layout)
|
157
157
|
rescue LookerSDK::Error => e
|
158
158
|
say_error "Error creating dashboard_layout(#{JSON.pretty_generate(dash_layout)})"
|
159
|
-
say_error e
|
159
|
+
say_error e
|
160
160
|
raise
|
161
161
|
end
|
162
162
|
data
|
@@ -167,7 +167,7 @@ module Gzr
|
|
167
167
|
data = @sdk.update_dashboard_layout(id,dash_layout)
|
168
168
|
rescue LookerSDK::Error => e
|
169
169
|
say_error "Error updating dashboard_layout(#{id},#{JSON.pretty_generate(dash_layout)})"
|
170
|
-
say_error e
|
170
|
+
say_error e
|
171
171
|
raise
|
172
172
|
end
|
173
173
|
data
|
@@ -178,7 +178,7 @@ module Gzr
|
|
178
178
|
data = @sdk.delete_dashboard_layout(id)
|
179
179
|
rescue LookerSDK::Error => e
|
180
180
|
say_error "Error deleting dashboard_layout(#{id})"
|
181
|
-
say_error e
|
181
|
+
say_error e
|
182
182
|
raise
|
183
183
|
end
|
184
184
|
data
|
@@ -190,7 +190,7 @@ module Gzr
|
|
190
190
|
return nil if data.respond_to?(:message) && data.message == 'Not found'
|
191
191
|
rescue LookerSDK::Error => e
|
192
192
|
say_error "Error getting dashboard_layout_dashboard_layout_components(#{id})"
|
193
|
-
say_error e
|
193
|
+
say_error e
|
194
194
|
raise
|
195
195
|
end
|
196
196
|
data
|
@@ -201,7 +201,7 @@ module Gzr
|
|
201
201
|
data = @sdk.update_dashboard_layout_component(id,component)
|
202
202
|
rescue LookerSDK::Error => e
|
203
203
|
say_error "Error updating dashboard_layout_component(#{id},#{JSON.pretty_generate(component)})"
|
204
|
-
say_error e
|
204
|
+
say_error e
|
205
205
|
raise
|
206
206
|
end
|
207
207
|
data
|
@@ -212,7 +212,7 @@ module Gzr
|
|
212
212
|
data = @sdk.create_dashboard_filter(dash_filter)
|
213
213
|
rescue LookerSDK::Error => e
|
214
214
|
say_error "Error creating dashboard_filter(#{JSON.pretty_generate(dash_filter)})"
|
215
|
-
say_error e
|
215
|
+
say_error e
|
216
216
|
raise
|
217
217
|
end
|
218
218
|
data
|
@@ -223,7 +223,7 @@ module Gzr
|
|
223
223
|
data = @sdk.update_dashboard_filter(id,dash_filter)
|
224
224
|
rescue LookerSDK::Error => e
|
225
225
|
say_error "Error updating dashboard_filter(#{id},#{JSON.pretty_generate(dash_filter)})"
|
226
|
-
say_error e
|
226
|
+
say_error e
|
227
227
|
raise
|
228
228
|
end
|
229
229
|
data
|
@@ -234,7 +234,7 @@ module Gzr
|
|
234
234
|
data = @sdk.delete_dashboard_filter(id)
|
235
235
|
rescue LookerSDK::Error => e
|
236
236
|
say_error "Error deleting dashboard_filter(#{id})})"
|
237
|
-
say_error e
|
237
|
+
say_error e
|
238
238
|
raise
|
239
239
|
end
|
240
240
|
data
|
@@ -266,5 +266,72 @@ module Gzr
|
|
266
266
|
data[:scheduled_plans] = query_scheduled_plans_for_dashboard(@dashboard_id,"all") if @options[:plans]
|
267
267
|
data
|
268
268
|
end
|
269
|
+
|
270
|
+
def trim_dashboard(data)
|
271
|
+
trimmed = data.select do |k,v|
|
272
|
+
(keys_to_keep('update_dashboard') + [:id,:dashboard_elements,:dashboard_filters,:dashboard_layouts,:scheduled_plans]).include? k
|
273
|
+
end
|
274
|
+
|
275
|
+
trimmed[:dashboard_elements] = data[:dashboard_elements].map do |de|
|
276
|
+
new_de = de.select do |k,v|
|
277
|
+
(keys_to_keep('update_dashboard_element') + [:id,:look,:query,:merge_result]).include? k
|
278
|
+
end
|
279
|
+
if de[:look]
|
280
|
+
new_de[:look] = de[:look].select do |k,v|
|
281
|
+
(keys_to_keep('update_look') + [:id,:query]).include? k
|
282
|
+
end
|
283
|
+
if de[:look][:query]
|
284
|
+
new_de[:look][:query] = de[:look][:query].select do |k,v|
|
285
|
+
(keys_to_keep('create_query') + [:id]).include? k
|
286
|
+
end
|
287
|
+
end
|
288
|
+
end
|
289
|
+
if de[:query]
|
290
|
+
new_de[:query] = de[:query].select do |k,v|
|
291
|
+
(keys_to_keep('create_query') + [:id]).include? k
|
292
|
+
end
|
293
|
+
end
|
294
|
+
if de[:merge_result]
|
295
|
+
new_de[:merge_result] = de[:merge_result].select do |k,v|
|
296
|
+
(keys_to_keep('update_merge_query') + [:id]).include? k
|
297
|
+
end
|
298
|
+
new_de[:merge_result][:source_queries] = de[:merge_result][:source_queries].map do |sq|
|
299
|
+
sq.select do |k,v|
|
300
|
+
(keys_to_keep('create_query') + [:id]).include? k
|
301
|
+
end
|
302
|
+
end
|
303
|
+
end
|
304
|
+
new_de
|
305
|
+
end
|
306
|
+
|
307
|
+
trimmed[:dashboard_filters] = data[:dashboard_filters].map do |df|
|
308
|
+
new_df = df.select do |k,v|
|
309
|
+
keys_to_keep('update_dashboard_filter').include? k
|
310
|
+
end
|
311
|
+
new_df
|
312
|
+
end
|
313
|
+
|
314
|
+
trimmed[:dashboard_layouts] = data[:dashboard_layouts].map do |dl|
|
315
|
+
new_dl = dl.select do |k,v|
|
316
|
+
(keys_to_keep('update_dashboard_layout') + [:id]).include? k
|
317
|
+
end
|
318
|
+
if dl[:dashboard_layout_components]
|
319
|
+
new_dl[:dashboard_layout_components] = dl[:dashboard_layout_components].map do |dlc|
|
320
|
+
dlc.select do |k,v|
|
321
|
+
(keys_to_keep('update_dashboard_layout_component') + [:id]).include? k
|
322
|
+
end
|
323
|
+
end
|
324
|
+
end
|
325
|
+
new_dl
|
326
|
+
end
|
327
|
+
|
328
|
+
trimmed[:scheduled_plans] = data[:scheduled_plans].map do |sp|
|
329
|
+
sp.select do |k,v|
|
330
|
+
(keys_to_keep('create_scheduled_plan') + [:id]).include? k
|
331
|
+
end
|
332
|
+
end if data[:scheduled_plans]
|
333
|
+
|
334
|
+
trimmed
|
335
|
+
end
|
269
336
|
end
|
270
337
|
end
|
data/lib/gzr/modules/folder.rb
CHANGED
@@ -37,7 +37,7 @@ module Gzr
|
|
37
37
|
data = @sdk.create_folder(req)
|
38
38
|
rescue LookerSDK::Error => e
|
39
39
|
say_error "Error creating folder(#{JSON.pretty_generate(req)})"
|
40
|
-
say_error e
|
40
|
+
say_error e
|
41
41
|
raise
|
42
42
|
end
|
43
43
|
data
|
@@ -51,7 +51,7 @@ module Gzr
|
|
51
51
|
data = @sdk.search_folders(req)
|
52
52
|
rescue LookerSDK::Error => e
|
53
53
|
say_error "Error querying search_folders(#{JSON.pretty_generate(req)})"
|
54
|
-
say_error e
|
54
|
+
say_error e
|
55
55
|
raise
|
56
56
|
end
|
57
57
|
data
|
@@ -61,13 +61,13 @@ module Gzr
|
|
61
61
|
data = nil
|
62
62
|
begin
|
63
63
|
req = {}
|
64
|
-
req[:fields] = fields if fields
|
64
|
+
req[:fields] = fields if fields
|
65
65
|
data = @sdk.folder(id, req)
|
66
66
|
rescue LookerSDK::NotFound
|
67
67
|
return nil
|
68
68
|
rescue LookerSDK::Error => e
|
69
69
|
say_error "Error querying folder(#{id},#{JSON.pretty_generate(req)})"
|
70
|
-
say_error e
|
70
|
+
say_error e
|
71
71
|
raise
|
72
72
|
end
|
73
73
|
data
|
@@ -117,11 +117,11 @@ module Gzr
|
|
117
117
|
data = nil
|
118
118
|
begin
|
119
119
|
req = {}
|
120
|
-
req[:fields] = fields if fields
|
120
|
+
req[:fields] = fields if fields
|
121
121
|
data = @sdk.all_folders(req)
|
122
122
|
rescue LookerSDK::Error => e
|
123
123
|
say_error "Error querying all_folders(#{JSON.pretty_generate(req)})"
|
124
|
-
say_error e
|
124
|
+
say_error e
|
125
125
|
raise
|
126
126
|
end
|
127
127
|
data
|
@@ -137,7 +137,7 @@ module Gzr
|
|
137
137
|
return nil
|
138
138
|
rescue LookerSDK::Error => e
|
139
139
|
say_error "Error querying folder_children(#{folder_id}, #{JSON.pretty_generate(req)})"
|
140
|
-
say_error e
|
140
|
+
say_error e
|
141
141
|
raise
|
142
142
|
end
|
143
143
|
data
|
@@ -151,7 +151,7 @@ module Gzr
|
|
151
151
|
return nil
|
152
152
|
rescue LookerSDK::Error => e
|
153
153
|
say_error "Error deleting folder #{folder_id}"
|
154
|
-
say_error e
|
154
|
+
say_error e
|
155
155
|
raise
|
156
156
|
end
|
157
157
|
data
|
data/lib/gzr/modules/group.rb
CHANGED
@@ -38,7 +38,7 @@ module Gzr
|
|
38
38
|
scratch_data = @sdk.all_groups(req)
|
39
39
|
rescue LookerSDK::ClientError => e
|
40
40
|
say_error "Unable to get all_groups(#{JSON.pretty_generate(req)})"
|
41
|
-
say_error e
|
41
|
+
say_error e
|
42
42
|
raise
|
43
43
|
end
|
44
44
|
break if scratch_data.length == 0
|
@@ -47,7 +47,7 @@ module Gzr
|
|
47
47
|
end
|
48
48
|
data
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
def query_group_groups(group_id,fields=nil)
|
52
52
|
req = { }
|
53
53
|
req[:fields] = fields if fields
|
@@ -59,7 +59,7 @@ module Gzr
|
|
59
59
|
return []
|
60
60
|
rescue LookerSDK::ClientError => e
|
61
61
|
say_error "Unable to get all_group_groups(#{group_id},#{JSON.pretty_generate(req)})"
|
62
|
-
say_error e
|
62
|
+
say_error e
|
63
63
|
raise
|
64
64
|
end
|
65
65
|
data
|
@@ -80,7 +80,7 @@ module Gzr
|
|
80
80
|
scratch_data = @sdk.all_group_users(group_id,req)
|
81
81
|
rescue LookerSDK::ClientError => e
|
82
82
|
say_error "Unable to get all_group_users(#{group_id},#{JSON.pretty_generate(req)})"
|
83
|
-
say_error e
|
83
|
+
say_error e
|
84
84
|
raise
|
85
85
|
end
|
86
86
|
break if scratch_data.length == 0
|
@@ -89,7 +89,7 @@ module Gzr
|
|
89
89
|
end
|
90
90
|
data
|
91
91
|
end
|
92
|
-
|
92
|
+
|
93
93
|
def search_groups(name)
|
94
94
|
req = {:name => name }
|
95
95
|
begin
|
@@ -98,11 +98,11 @@ module Gzr
|
|
98
98
|
return nil
|
99
99
|
rescue LookerSDK::ClientError => e
|
100
100
|
say_error "Unable to search_groups(#{JSON.pretty_generate(req)})"
|
101
|
-
say_error e
|
101
|
+
say_error e
|
102
102
|
raise
|
103
103
|
end
|
104
104
|
end
|
105
|
-
|
105
|
+
|
106
106
|
def query_group(id, fields=nil)
|
107
107
|
req = Hash.new
|
108
108
|
req[:fields] = fields if fields
|
@@ -112,11 +112,11 @@ module Gzr
|
|
112
112
|
return nil
|
113
113
|
rescue LookerSDK::ClientError => e
|
114
114
|
say_error "Unable to find group(#{id},#{JSON.pretty_generate(req)})"
|
115
|
-
say_error e
|
115
|
+
say_error e
|
116
116
|
raise
|
117
117
|
end
|
118
118
|
end
|
119
|
-
|
119
|
+
|
120
120
|
def update_user_attribute_group_value(group_id, attr_id, value)
|
121
121
|
req = Hash.new
|
122
122
|
req[:value] = value
|
@@ -124,7 +124,7 @@ module Gzr
|
|
124
124
|
return @sdk.update_user_attribute_group_value(group_id,attr_id, req)
|
125
125
|
rescue LookerSDK::ClientError => e
|
126
126
|
say_error "Unable to update_user_attribute_group_value(#{group_id},#{attr_id},#{JSON.pretty_generate(req)})"
|
127
|
-
say_error e
|
127
|
+
say_error e
|
128
128
|
raise
|
129
129
|
end
|
130
130
|
end
|
data/lib/gzr/modules/look.rb
CHANGED
@@ -29,7 +29,7 @@ module Gzr
|
|
29
29
|
data = @sdk.look(look_id)
|
30
30
|
rescue LookerSDK::Error => e
|
31
31
|
say_error "Error querying look(#{look_id})"
|
32
|
-
say_error e
|
32
|
+
say_error e
|
33
33
|
raise
|
34
34
|
end
|
35
35
|
data
|
@@ -39,13 +39,13 @@ module Gzr
|
|
39
39
|
data = []
|
40
40
|
begin
|
41
41
|
req = { :slug => slug }
|
42
|
-
req[:folder_id] = folder_id if folder_id
|
42
|
+
req[:folder_id] = folder_id if folder_id
|
43
43
|
data = @sdk.search_looks(req)
|
44
44
|
req[:deleted] = true
|
45
45
|
data = @sdk.search_looks(req) if data.empty?
|
46
46
|
rescue LookerSDK::Error => e
|
47
47
|
say_error "Error search_looks_by_slug(#{JSON.pretty_generate(req)})"
|
48
|
-
say_error e
|
48
|
+
say_error e
|
49
49
|
raise
|
50
50
|
end
|
51
51
|
data
|
@@ -55,13 +55,13 @@ module Gzr
|
|
55
55
|
data = []
|
56
56
|
begin
|
57
57
|
req = { :title => title }
|
58
|
-
req[:folder_id] = folder_id if folder_id
|
58
|
+
req[:folder_id] = folder_id if folder_id
|
59
59
|
data = @sdk.search_looks(req)
|
60
60
|
req[:deleted] = true
|
61
61
|
data = @sdk.search_looks(req) if data.empty?
|
62
62
|
rescue LookerSDK::Error => e
|
63
63
|
say_error "Error search_looks_by_title(#{JSON.pretty_generate(req)})"
|
64
|
-
say_error e
|
64
|
+
say_error e
|
65
65
|
raise
|
66
66
|
end
|
67
67
|
data
|
@@ -84,7 +84,7 @@ module Gzr
|
|
84
84
|
data = @sdk.update_look(id,look)
|
85
85
|
rescue LookerSDK::Error => e
|
86
86
|
say_error "Error updating look(#{id},#{JSON.pretty_generate(look)})"
|
87
|
-
say_error e
|
87
|
+
say_error e
|
88
88
|
raise
|
89
89
|
end
|
90
90
|
data
|
@@ -96,7 +96,7 @@ module Gzr
|
|
96
96
|
data = @sdk.delete_look(look_id)
|
97
97
|
rescue LookerSDK::Error => e
|
98
98
|
say_error "Error deleting look(#{look_id})"
|
99
|
-
say_error e
|
99
|
+
say_error e
|
100
100
|
raise
|
101
101
|
end
|
102
102
|
data
|
@@ -198,8 +198,25 @@ module Gzr
|
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
|
-
data[:scheduled_plans] = query_scheduled_plans_for_look(@look_id,"all")
|
201
|
+
data[:scheduled_plans] = query_scheduled_plans_for_look(@look_id,"all").map { |e| e.to_attrs } if @options[:plans]
|
202
202
|
data
|
203
203
|
end
|
204
|
+
|
205
|
+
def trim_look(data)
|
206
|
+
trimmed = data.select do |k,v|
|
207
|
+
(keys_to_keep('update_look') + [:id,:query]).include? k
|
208
|
+
end
|
209
|
+
trimmed[:query] = data[:query].select do |k,v|
|
210
|
+
(keys_to_keep('create_query') + [:id]).include? k
|
211
|
+
end
|
212
|
+
|
213
|
+
trimmed[:scheduled_plans] = data[:scheduled_plans].map do |sp|
|
214
|
+
sp.select do |k,v|
|
215
|
+
(keys_to_keep('create_scheduled_plan') + [:id]).include? k
|
216
|
+
end
|
217
|
+
end if data[:scheduled_plans]
|
218
|
+
|
219
|
+
trimmed
|
220
|
+
end
|
204
221
|
end
|
205
222
|
end
|
data/lib/gzr/modules/model.rb
CHANGED
data/lib/gzr/modules/plan.rb
CHANGED
@@ -35,12 +35,12 @@ module Gzr
|
|
35
35
|
data = @sdk.all_scheduled_plans(req)
|
36
36
|
rescue LookerSDK::ClientError => e
|
37
37
|
say_error "Unable to get all_scheduled_plans(#{JSON.pretty_generate(req)})"
|
38
|
-
say_error e
|
38
|
+
say_error e
|
39
39
|
raise
|
40
40
|
end
|
41
41
|
data
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def query_scheduled_plans_for_look(look_id,user_id,fields=nil)
|
45
45
|
req = {}
|
46
46
|
req[:all_users] = true if user_id == "all"
|
@@ -54,12 +54,12 @@ module Gzr
|
|
54
54
|
return nil
|
55
55
|
rescue LookerSDK::ClientError => e
|
56
56
|
say_error "Unable to get scheduled_plans_for_look(#{look_id},#{JSON.pretty_generate(req)})"
|
57
|
-
say_error e
|
57
|
+
say_error e
|
58
58
|
raise
|
59
59
|
end
|
60
60
|
data
|
61
61
|
end
|
62
|
-
|
62
|
+
|
63
63
|
def query_scheduled_plans_for_dashboard(dashboard_id,user_id,fields=nil)
|
64
64
|
req = {}
|
65
65
|
req[:all_users] = true if user_id == "all"
|
@@ -73,13 +73,13 @@ module Gzr
|
|
73
73
|
return nil
|
74
74
|
rescue LookerSDK::ClientError => e
|
75
75
|
say_error "Unable to get scheduled_plans_for_dashboard(#{dashboard_id},#{JSON.pretty_generate(req)})"
|
76
|
-
say_error e
|
76
|
+
say_error e
|
77
77
|
raise
|
78
78
|
end
|
79
79
|
data.map! {|plan| plan.to_attrs}
|
80
80
|
data
|
81
81
|
end
|
82
|
-
|
82
|
+
|
83
83
|
def query_scheduled_plan(plan_id,fields=nil)
|
84
84
|
req = {}
|
85
85
|
req[:fields] = fields if fields
|
@@ -87,18 +87,18 @@ module Gzr
|
|
87
87
|
data = @sdk.scheduled_plan(plan_id,req)
|
88
88
|
rescue LookerSDK::ClientError => e
|
89
89
|
say_error "Unable to get scheduled_plan(#{plan_id},#{JSON.pretty_generate(req)})"
|
90
|
-
say_error e
|
90
|
+
say_error e
|
91
91
|
raise
|
92
92
|
end
|
93
93
|
data
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
def delete_scheduled_plan(plan_id)
|
97
97
|
begin
|
98
98
|
data = @sdk.delete_scheduled_plan(plan_id)
|
99
99
|
rescue LookerSDK::ClientError => e
|
100
100
|
say_error "Unable to delete scheduled_plan(#{plan_id})"
|
101
|
-
say_error e
|
101
|
+
say_error e
|
102
102
|
raise
|
103
103
|
end
|
104
104
|
data
|
@@ -109,7 +109,7 @@ module Gzr
|
|
109
109
|
data = @sdk.create_scheduled_plan(plan)
|
110
110
|
rescue LookerSDK::Error => e
|
111
111
|
say_error "Error creating scheduled_plan(#{JSON.pretty_generate(plan)})"
|
112
|
-
say_error e
|
112
|
+
say_error e
|
113
113
|
raise
|
114
114
|
end
|
115
115
|
data
|
@@ -120,7 +120,7 @@ module Gzr
|
|
120
120
|
data = @sdk.update_scheduled_plan(plan_id,plan)
|
121
121
|
rescue LookerSDK::Error => e
|
122
122
|
say_error "Error updating scheduled_plan(#{plan_id},#{JSON.pretty_generate(plan)})"
|
123
|
-
say_error e
|
123
|
+
say_error e
|
124
124
|
raise
|
125
125
|
end
|
126
126
|
data
|
@@ -131,32 +131,32 @@ module Gzr
|
|
131
131
|
data = @sdk.scheduled_plan_run_once(plan)
|
132
132
|
rescue LookerSDK::Error => e
|
133
133
|
say_error "Error executing scheduled_plan_run_once(#{JSON.pretty_generate(plan)})"
|
134
|
-
say_error e
|
134
|
+
say_error e
|
135
135
|
raise
|
136
136
|
end
|
137
137
|
data
|
138
138
|
end
|
139
|
-
|
139
|
+
|
140
140
|
def upsert_plans_for_look(look_id,user_id,source_plans)
|
141
141
|
existing_plans = query_scheduled_plans_for_look(look_id,"all")
|
142
142
|
upsert_plans_for_obj(user_id,source_plans,existing_plans) { |p| p[:look_id] = look_id }
|
143
143
|
end
|
144
|
-
|
144
|
+
|
145
145
|
def upsert_plans_for_dashboard(dashboard_id,user_id,source_plans)
|
146
146
|
existing_plans = query_scheduled_plans_for_dashboard(dashboard_id,"all")
|
147
147
|
upsert_plans_for_obj(user_id,source_plans,existing_plans) { |p| p[:dashboard_id] = dashboard_id }
|
148
148
|
end
|
149
|
-
|
149
|
+
|
150
150
|
def upsert_plan_for_look(look_id,user_id,source_plan)
|
151
151
|
existing_plans = query_scheduled_plans_for_look(look_id,"all")
|
152
152
|
upsert_plan_for_obj(user_id,source_plan,existing_plans) { |p| p[:look_id] = look_id }
|
153
153
|
end
|
154
|
-
|
154
|
+
|
155
155
|
def upsert_plan_for_dashboard(dashboard_id,user_id,source_plan)
|
156
156
|
existing_plans = query_scheduled_plans_for_dashboard(dashboard_id,"all")
|
157
157
|
upsert_plan_for_obj(user_id,source_plan,existing_plans) { |p| p[:dashboard_id] = dashboard_id }
|
158
158
|
end
|
159
|
-
|
159
|
+
|
160
160
|
def upsert_plans_for_obj(user_id,source_plans,existing_plans, &block)
|
161
161
|
plans = nil
|
162
162
|
source_plans.collect do |source_plan|
|
data/lib/gzr/modules/role.rb
CHANGED
@@ -33,7 +33,7 @@ module Gzr
|
|
33
33
|
# do nothing
|
34
34
|
rescue LookerSDK::ClientError => e
|
35
35
|
say_error "Unable to get all_roles(#{JSON.pretty_generate(req)})"
|
36
|
-
say_error e
|
36
|
+
say_error e
|
37
37
|
say_error e.errors if e.errors
|
38
38
|
raise
|
39
39
|
end
|
@@ -47,7 +47,7 @@ module Gzr
|
|
47
47
|
# do nothing
|
48
48
|
rescue LookerSDK::ClientError => e
|
49
49
|
say_error "Unable to get role(#{role_id})"
|
50
|
-
say_error e
|
50
|
+
say_error e
|
51
51
|
say_error e.errors if e.errors
|
52
52
|
raise
|
53
53
|
end
|
@@ -61,7 +61,7 @@ module Gzr
|
|
61
61
|
# do nothing
|
62
62
|
rescue LookerSDK::ClientError => e
|
63
63
|
say_error "Unable to delete_role(#{role_id})"
|
64
|
-
say_error e
|
64
|
+
say_error e
|
65
65
|
say_error e.errors if e.errors
|
66
66
|
raise
|
67
67
|
end
|
@@ -77,7 +77,7 @@ module Gzr
|
|
77
77
|
# do nothing
|
78
78
|
rescue LookerSDK::ClientError => e
|
79
79
|
say_error "Unable to get role_groups(#{role_id},#{JSON.pretty_generate(req)})"
|
80
|
-
say_error e
|
80
|
+
say_error e
|
81
81
|
say_error e.errors if e.errors
|
82
82
|
raise
|
83
83
|
end
|
@@ -94,7 +94,7 @@ module Gzr
|
|
94
94
|
# do nothing
|
95
95
|
rescue LookerSDK::ClientError => e
|
96
96
|
say_error "Unable to get role_users(#{role_id},#{JSON.pretty_generate(req)})"
|
97
|
-
say_error e
|
97
|
+
say_error e
|
98
98
|
say_error e.errors if e.errors
|
99
99
|
raise
|
100
100
|
end
|
@@ -106,7 +106,7 @@ module Gzr
|
|
106
106
|
data = @sdk.set_role_groups(role_id, groups)
|
107
107
|
rescue LookerSDK::ClientError => e
|
108
108
|
say_error "Unable to call set_role_groups(#{role_id},#{JSON.pretty_generate(groups)})"
|
109
|
-
say_error e
|
109
|
+
say_error e
|
110
110
|
say_error e.errors if e.errors
|
111
111
|
raise
|
112
112
|
end
|
@@ -118,7 +118,7 @@ module Gzr
|
|
118
118
|
data = @sdk.set_role_users(role_id, users)
|
119
119
|
rescue LookerSDK::ClientError => e
|
120
120
|
say_error "Unable to call set_role_users(#{role_id},#{JSON.pretty_generate(users)})"
|
121
|
-
say_error e
|
121
|
+
say_error e
|
122
122
|
say_error e.errors if e.errors
|
123
123
|
raise
|
124
124
|
end
|