motor-admin-cstham8 0.4.35

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.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +661 -0
  3. data/README.md +230 -0
  4. data/Rakefile +11 -0
  5. data/app/channels/motor/application_cable/channel.rb +14 -0
  6. data/app/channels/motor/application_cable/connection.rb +27 -0
  7. data/app/channels/motor/notes_channel.rb +9 -0
  8. data/app/channels/motor/notifications_channel.rb +9 -0
  9. data/app/controllers/concerns/motor/current_ability.rb +21 -0
  10. data/app/controllers/concerns/motor/current_user_method.rb +18 -0
  11. data/app/controllers/concerns/motor/load_and_authorize_dynamic_resource.rb +73 -0
  12. data/app/controllers/concerns/motor/wrap_io_params.rb +25 -0
  13. data/app/controllers/motor/active_storage_attachments_controller.rb +64 -0
  14. data/app/controllers/motor/alerts_controller.rb +82 -0
  15. data/app/controllers/motor/api_base_controller.rb +33 -0
  16. data/app/controllers/motor/api_configs_controller.rb +54 -0
  17. data/app/controllers/motor/application_controller.rb +8 -0
  18. data/app/controllers/motor/assets_controller.rb +43 -0
  19. data/app/controllers/motor/audits_controller.rb +16 -0
  20. data/app/controllers/motor/auth_tokens_controller.rb +36 -0
  21. data/app/controllers/motor/configs_controller.rb +33 -0
  22. data/app/controllers/motor/dashboards_controller.rb +64 -0
  23. data/app/controllers/motor/data_controller.rb +88 -0
  24. data/app/controllers/motor/forms_controller.rb +61 -0
  25. data/app/controllers/motor/icons_controller.rb +22 -0
  26. data/app/controllers/motor/note_tags_controller.rb +13 -0
  27. data/app/controllers/motor/notes_controller.rb +58 -0
  28. data/app/controllers/motor/notifications_controller.rb +33 -0
  29. data/app/controllers/motor/queries_controller.rb +64 -0
  30. data/app/controllers/motor/reminders_controller.rb +38 -0
  31. data/app/controllers/motor/resource_default_queries_controller.rb +23 -0
  32. data/app/controllers/motor/resource_methods_controller.rb +23 -0
  33. data/app/controllers/motor/resources_controller.rb +26 -0
  34. data/app/controllers/motor/run_api_requests_controller.rb +56 -0
  35. data/app/controllers/motor/run_graphql_requests_controller.rb +48 -0
  36. data/app/controllers/motor/run_queries_controller.rb +77 -0
  37. data/app/controllers/motor/schema_controller.rb +31 -0
  38. data/app/controllers/motor/send_alerts_controller.rb +26 -0
  39. data/app/controllers/motor/sessions_controller.rb +23 -0
  40. data/app/controllers/motor/slack_conversations_controller.rb +11 -0
  41. data/app/controllers/motor/tags_controller.rb +11 -0
  42. data/app/controllers/motor/ui_controller.rb +51 -0
  43. data/app/controllers/motor/users_for_autocomplete_controller.rb +23 -0
  44. data/app/jobs/motor/alert_sending_job.rb +13 -0
  45. data/app/jobs/motor/application_job.rb +6 -0
  46. data/app/jobs/motor/notify_note_mentions_job.rb +9 -0
  47. data/app/jobs/motor/notify_reminder_job.rb +9 -0
  48. data/app/mailers/motor/alerts_mailer.rb +39 -0
  49. data/app/mailers/motor/application_mailer.rb +33 -0
  50. data/app/mailers/motor/notifications_mailer.rb +33 -0
  51. data/app/models/motor/alert.rb +30 -0
  52. data/app/models/motor/alert_lock.rb +7 -0
  53. data/app/models/motor/api_config.rb +28 -0
  54. data/app/models/motor/application_record.rb +18 -0
  55. data/app/models/motor/audit.rb +13 -0
  56. data/app/models/motor/config.rb +13 -0
  57. data/app/models/motor/dashboard.rb +26 -0
  58. data/app/models/motor/form.rb +23 -0
  59. data/app/models/motor/note.rb +18 -0
  60. data/app/models/motor/note_tag.rb +7 -0
  61. data/app/models/motor/note_tag_tag.rb +8 -0
  62. data/app/models/motor/notification.rb +14 -0
  63. data/app/models/motor/query.rb +33 -0
  64. data/app/models/motor/reminder.rb +13 -0
  65. data/app/models/motor/resource.rb +15 -0
  66. data/app/models/motor/tag.rb +7 -0
  67. data/app/models/motor/taggable_tag.rb +8 -0
  68. data/app/views/layouts/motor/application.html.erb +17 -0
  69. data/app/views/layouts/motor/mailer.html.erb +72 -0
  70. data/app/views/motor/alerts_mailer/alert_email.html.erb +54 -0
  71. data/app/views/motor/notifications_mailer/notify_mention_email.html.erb +28 -0
  72. data/app/views/motor/notifications_mailer/notify_reminder_email.html.erb +28 -0
  73. data/app/views/motor/ui/show.html.erb +1 -0
  74. data/config/locales/el.yml +420 -0
  75. data/config/locales/en.yml +340 -0
  76. data/config/locales/es.yml +420 -0
  77. data/config/locales/ja.yml +340 -0
  78. data/config/locales/pt.yml +416 -0
  79. data/config/routes.rb +65 -0
  80. data/lib/generators/motor/install_generator.rb +24 -0
  81. data/lib/generators/motor/install_notes_generator.rb +22 -0
  82. data/lib/generators/motor/migration.rb +17 -0
  83. data/lib/generators/motor/templates/install.rb +271 -0
  84. data/lib/generators/motor/templates/install_api_configs.rb +86 -0
  85. data/lib/generators/motor/templates/install_notes.rb +83 -0
  86. data/lib/generators/motor/templates/upgrade_motor_api_actions.rb +71 -0
  87. data/lib/generators/motor/upgrade_generator.rb +43 -0
  88. data/lib/motor/active_record_utils/action_text_attribute_patch.rb +19 -0
  89. data/lib/motor/active_record_utils/active_record_connection_column_patch.rb +14 -0
  90. data/lib/motor/active_record_utils/active_record_filter.rb +405 -0
  91. data/lib/motor/active_record_utils/active_storage_blob_patch.rb +30 -0
  92. data/lib/motor/active_record_utils/active_storage_links_extension.rb +11 -0
  93. data/lib/motor/active_record_utils/defined_scopes_extension.rb +25 -0
  94. data/lib/motor/active_record_utils/fetch_methods.rb +24 -0
  95. data/lib/motor/active_record_utils/types.rb +64 -0
  96. data/lib/motor/active_record_utils.rb +45 -0
  97. data/lib/motor/admin.rb +141 -0
  98. data/lib/motor/alerts/persistance.rb +97 -0
  99. data/lib/motor/alerts/scheduled_alerts_cache.rb +29 -0
  100. data/lib/motor/alerts/scheduler.rb +30 -0
  101. data/lib/motor/alerts/slack_sender.rb +74 -0
  102. data/lib/motor/alerts.rb +52 -0
  103. data/lib/motor/api_configs.rb +41 -0
  104. data/lib/motor/api_query/apply_scope.rb +44 -0
  105. data/lib/motor/api_query/build_json.rb +171 -0
  106. data/lib/motor/api_query/build_meta.rb +20 -0
  107. data/lib/motor/api_query/filter.rb +125 -0
  108. data/lib/motor/api_query/paginate.rb +19 -0
  109. data/lib/motor/api_query/search.rb +60 -0
  110. data/lib/motor/api_query/sort.rb +64 -0
  111. data/lib/motor/api_query.rb +24 -0
  112. data/lib/motor/assets.rb +62 -0
  113. data/lib/motor/build_schema/active_storage_attachment_schema.rb +125 -0
  114. data/lib/motor/build_schema/adjust_devise_model_schema.rb +60 -0
  115. data/lib/motor/build_schema/apply_permissions.rb +64 -0
  116. data/lib/motor/build_schema/defaults.rb +66 -0
  117. data/lib/motor/build_schema/find_display_column.rb +65 -0
  118. data/lib/motor/build_schema/find_icon.rb +135 -0
  119. data/lib/motor/build_schema/find_searchable_columns.rb +33 -0
  120. data/lib/motor/build_schema/load_from_rails.rb +361 -0
  121. data/lib/motor/build_schema/merge_schema_configs.rb +157 -0
  122. data/lib/motor/build_schema/reorder_schema.rb +88 -0
  123. data/lib/motor/build_schema/utils.rb +31 -0
  124. data/lib/motor/build_schema.rb +125 -0
  125. data/lib/motor/cancan_utils/ability_patch.rb +31 -0
  126. data/lib/motor/cancan_utils/can_manage_all.rb +14 -0
  127. data/lib/motor/cancan_utils.rb +9 -0
  128. data/lib/motor/configs/build_configs_hash.rb +90 -0
  129. data/lib/motor/configs/build_ui_app_tag.rb +177 -0
  130. data/lib/motor/configs/load_from_cache.rb +110 -0
  131. data/lib/motor/configs/sync_from_file.rb +35 -0
  132. data/lib/motor/configs/sync_from_hash.rb +159 -0
  133. data/lib/motor/configs/sync_middleware.rb +72 -0
  134. data/lib/motor/configs/sync_with_remote.rb +47 -0
  135. data/lib/motor/configs/write_to_file.rb +36 -0
  136. data/lib/motor/configs.rb +39 -0
  137. data/lib/motor/dashboards/persistance.rb +73 -0
  138. data/lib/motor/dashboards.rb +8 -0
  139. data/lib/motor/forms/persistance.rb +93 -0
  140. data/lib/motor/forms.rb +8 -0
  141. data/lib/motor/hash_serializer.rb +21 -0
  142. data/lib/motor/net_http_utils.rb +50 -0
  143. data/lib/motor/notes/notify_mentions.rb +71 -0
  144. data/lib/motor/notes/notify_reminder.rb +48 -0
  145. data/lib/motor/notes/persist.rb +36 -0
  146. data/lib/motor/notes/reminders_scheduler.rb +39 -0
  147. data/lib/motor/notes/tags.rb +34 -0
  148. data/lib/motor/notes.rb +12 -0
  149. data/lib/motor/queries/persistance.rb +90 -0
  150. data/lib/motor/queries/postgresql_exec_query.rb +28 -0
  151. data/lib/motor/queries/render_sql_template.rb +61 -0
  152. data/lib/motor/queries/run_query.rb +289 -0
  153. data/lib/motor/queries.rb +11 -0
  154. data/lib/motor/railtie.rb +11 -0
  155. data/lib/motor/resources/custom_sql_columns_cache.rb +17 -0
  156. data/lib/motor/resources/fetch_configured_model.rb +269 -0
  157. data/lib/motor/resources/persist_configs.rb +232 -0
  158. data/lib/motor/resources.rb +19 -0
  159. data/lib/motor/slack/client.rb +62 -0
  160. data/lib/motor/slack.rb +16 -0
  161. data/lib/motor/tags.rb +32 -0
  162. data/lib/motor/tasks/motor.rake +54 -0
  163. data/lib/motor/version.rb +5 -0
  164. data/lib/motor-admin-cstham8.rb +3 -0
  165. data/lib/motor.rb +87 -0
  166. data/ui/dist/manifest.json +1990 -0
  167. metadata +303 -0
@@ -0,0 +1,340 @@
1
+ en:
2
+ motor:
3
+ action_has_been_applied: Action has been applied!
4
+ action_has_failed_with_code: Action failed with code
5
+ action_type: Action type
6
+ actions: Actions
7
+ add: Add
8
+ add_action: Add Action
9
+ add_alert: Add Alert
10
+ add_column: Add Column
11
+ add_dashboard: Add Dashboard
12
+ add_field: Add Field
13
+ add_filter: Add Filter
14
+ add_form: Add Form
15
+ add_group: Add Group
16
+ add_item: Add Item
17
+ add_link: Add Link
18
+ add_query: Add Query
19
+ add_scope: Add Scope
20
+ add_tab: Add Tab
21
+ adjust_form: Adjust form
22
+ adjust_fields: Adjust fields
23
+ alert_email_has_been_sent: Alert email has been sent!
24
+ alert_has_been_activated: Alert has been activated
25
+ alert_has_been_disabled: Alert has been disabled
26
+ alert_has_been_saved: Alert has been saved!
27
+ alert_name: Alert name
28
+ alerts: Alerts
29
+ all: All
30
+ all_resources: All Resources
31
+ and: And
32
+ api_path: API path
33
+ api_request: API request
34
+ apply: Apply
35
+ are_you_sure: Are you sure?
36
+ associations: Associations
37
+ bar_chart: Bar chart
38
+ base: Base
39
+ boolean: Boolean
40
+ build_custom_form: Build custom form
41
+ cancel: Cancel
42
+ cents: Cents
43
+ checkbox: Checkbox
44
+ clear_all: Clear All
45
+ clear_selection: Clear selection
46
+ close: Close
47
+ close_editor: Close editor
48
+ close_settings: Close Settings
49
+ close_variables: Close Variables
50
+ columns: Columns
51
+ contains: Contains
52
+ create: Create
53
+ currency: Currency
54
+ dashboard: Dashboard
55
+ dashboard_has_been_saved: Dashboard has been saved!
56
+ dashboard_title: Dashboard title
57
+ dashboards: Dashboards
58
+ date: Date
59
+ date_and_time: Date and Time
60
+ decimal: Decimal
61
+ default: Default
62
+ default_value: Default value
63
+ describe_this_alert_optional: Describe this alert (optional)
64
+ describe_your_dashboard_optional: Describe your dashboard (optional)
65
+ describe_your_form_optional: Describe your form (optional)
66
+ describe_your_query_optional: Describe your query (optional)
67
+ description: Description
68
+ deselect_all: Deselect All
69
+ details: Details
70
+ disable: Disable
71
+ display_as: Display as
72
+ edit: Edit
73
+ edit_sql: Edit SQL
74
+ edit_markdown: Edit Markdown
75
+ emails: Emails
76
+ ends_with: Ends with
77
+ equal_to: Equal to
78
+ every_day_at_hh_mm: every day at HH:mm PM...
79
+ excludes: excludes
80
+ field_is_not_a_number: '%{field} is not a number'
81
+ field_is_required: '%{field} is required'
82
+ field_list_cant_be_empty: "%{field} list can't be empty"
83
+ field_must_be_exactly_in_length: '%{field} must be exactly %{length} in length'
84
+ field_must_be_less_in_length: '%{field} must be less than %{length} in length'
85
+ field_must_be_more_in_length: '%{field} must be more than %{length} in length'
86
+ field_name: Field name
87
+ field_value_does_not_match_pattern: '%{field} value does not match %{pattern}'
88
+ file: File
89
+ filter: Filter
90
+ filters: Filters
91
+ form: Form
92
+ form_has_been_saved: Form has been saved!
93
+ form_has_been_submitted_successfully: Form has been submitted successfully!
94
+ form_name: Form name
95
+ forms: Forms
96
+ funnel: Funnel
97
+ greater_or_equal: Greater or equal
98
+ greater_than: Greater than
99
+ greater_than_or_equal_to: Greater than or equal to
100
+ group_name: Group name
101
+ has_been_created: has been created
102
+ has_been_removed_succesfully: has been removed succesfully
103
+ has_been_updated: has been updated
104
+ hello_admin: Hello Admin 👋
105
+ hidden: Hidden
106
+ image: Image
107
+ includes: Includes
108
+ input_type: Input type
109
+ integer: Integer
110
+ interval: Interval
111
+ is: Is
112
+ is_not: Is not
113
+ items_have_been_removed: items have been removed
114
+ items_will_be_removed: '%{count} items will be removed'
115
+ json: JSON
116
+ label: Currency
117
+ less_or_equal: Less or equal
118
+ less_than: Less than
119
+ less_than_or_equal_to: Less than or equal to
120
+ line_chart: Line chart
121
+ link_name: Link name
122
+ links: Links
123
+ load_initial_data: Load initial data
124
+ loading: Loading...
125
+ looks_like_you_are_new_here: Looks like you are new here 🙃
126
+ markdown: Markdown
127
+ method: Method
128
+ method_call: Method call
129
+ multiple: Multiple
130
+ name: Name
131
+ new_alert: New alert
132
+ new_dashboard: New dashboard
133
+ new_form: New form
134
+ new_query: New query
135
+ no_data: No data
136
+ not_found: Not Found
137
+ number: Number
138
+ ok: OK
139
+ options_separated_with_new_line_or_comma: Options separated with new line or comma
140
+ or: Or
141
+ other_than: Other than
142
+ param_name: Param name
143
+ password: Password
144
+ path: Path
145
+ percent: Percent
146
+ pie_chart: Pie chart
147
+ queries: Queries
148
+ query: Query
149
+ query_has_been_saved: Query has been saved!
150
+ query_name: Query name
151
+ query_not_selected: Query not selected
152
+ query_revisions: Query Revisions
153
+ read_only: Read-Only
154
+ read_write: Read-Write
155
+ reference: Reference
156
+ reference_resource: Reference resource
157
+ remove: Remove
158
+ reports: Reports
159
+ request_param: Request param
160
+ required: Required
161
+ resource_filters: '%{resource} Filters'
162
+ resource_settings: '%{resource} Settings'
163
+ resources: Resources
164
+ resubmit: Resubmit
165
+ revert: Revert
166
+ revision_has_been_applied: Revision has been applied
167
+ revisions: Revisions
168
+ richtext: Richtext
169
+ row_chart: Row chart
170
+ save: Save
171
+ save_and_create_new: Save and Create New
172
+ save_as_new: Save as new
173
+ save_dashboard: Save dashboard
174
+ save_form: Save form
175
+ save_query: Save query
176
+ scopes: Scopes
177
+ search: Search
178
+ search_placeholder: Search...
179
+ search_query: Search Query
180
+ select: Select
181
+ select_alert_tags: Select alert tags
182
+ select_dashboard: Select dashboard
183
+ select_dashboard_tags: Select dashboard tags
184
+ select_form: Select form
185
+ select_form_tags: Select dashform tags
186
+ select_options: Select options
187
+ select_placeholder: Select...
188
+ select_query: Select query
189
+ select_query_tags: Select query tags
190
+ select_resource_placeholder: Select resource...
191
+ selected_item_has_been_removed: Selected item has been removed
192
+ selected_item_will_be_removed: Selected item will be removed
193
+ selected_item_will_be_removed_are_you_sure: Selected item will be removed. Are you sure?
194
+ send_empty: Send empty?
195
+ send_now: Send Now
196
+ send_to: Send to
197
+ set_tags: Set tags
198
+ settings: Settings
199
+ should_be_a_valid_json: '%{field} should be a valid JSON'
200
+ should_be_error_constraint: '%{field} should be %{error} %{constraint}'
201
+ stacked_bars: Stacked bars
202
+ starts_with: Starts with
203
+ submit: Submit
204
+ tab_type: Tab type
205
+ table: Table
206
+ tabs: Tabs
207
+ tags: Tags
208
+ text: Text
209
+ textarea: Textarea
210
+ timezone: Timezone
211
+ title: Title
212
+ type: Type
213
+ unable_to_load_form_data: Unable to load form data
214
+ unable_to_remove_item: Unable to remove item
215
+ unable_to_remove_items: Unable to remove items
216
+ unable_to_send_email: Unable to send email
217
+ unable_to_submit_form: Unable to submit form
218
+ unit: Unit
219
+ value: Value
220
+ values_axis: Values axis
221
+ variables: Variables
222
+ visibility: Visibility
223
+ visualization: Visualization
224
+ write_only: Write-Only
225
+ long_text: Long text
226
+ percentage: Percentage
227
+ change: Change
228
+ chart: Chart
229
+ tag: Tag
230
+ link: Link
231
+ color: Color
232
+ link_text: Link text
233
+ copied_to_the_clipboard: Copied to the clipboard
234
+ queries_can_contain_variable_via_syntax_html: "Queries can contain embed variables using <code>{{variable}}</code> syntax:"
235
+ syntax_is_used_for_if_and_if_not_conditions_html: "<code>{{#variable}} ... {{/variable}}</code> and <code>{{^variable}} ... {{variable}}</code> syntax is used for <code>if</code> and <code>if not</code> conditions respectively:"
236
+ current_user_variables_are_always_passed_explicitly_and_can_he_used_html: "<code>{{current_user_id}}</code> and <code>{{current_user_email}}</code> variables are always passed explicitly, and can be used to decide which data should be displayed for certain user:"
237
+ create_new: Create New
238
+ conditional: Conditional
239
+ condition: Condition
240
+ field: Field
241
+ empty: Empty
242
+ not_empty: Not empty
243
+ general: General
244
+ run: Run
245
+ use_default: Use Default
246
+ query_editor: Query Editor
247
+ polymorphic: Polymorphic
248
+ foreign_key: Foreign key
249
+ primary_key: Primary key
250
+ through: Through
251
+ source: Source
252
+ resource: Resource
253
+ add_association: Add Association
254
+ there_are_unsaved_changes_from: "There are unsaved changes from %{timestamp}"
255
+ clear: Clear
256
+ restore: Restore
257
+ more: More
258
+ add_text: Add Text
259
+ edit_text: Edit Text
260
+ open_in_markdown_editor: Open in markdown editor
261
+ activate: Activate
262
+ load_existing_options_from_database: Load existing options from the database
263
+ add_database: Add Database
264
+ audio: Audio
265
+ video: Video
266
+ display_column: Display column
267
+ not_authorized_to_perform_action: You are not authorized to perform this action.
268
+ upload: Upload
269
+ there_is_nothing_here_yet: There is nothing here yet 🤷‍♂️
270
+ is_null: Is null
271
+ is_not_null: Is not null
272
+ split_tags_by: Split tags by
273
+ do_not_split: Do not split
274
+ semicolon: Semicolon
275
+ hyphen: Hyphen
276
+ comma: Comma
277
+ slash: Slash
278
+ searchable_columns: Searchable columns
279
+ validate: Validate
280
+ error_message: Error message
281
+ validation_regexp: Validation RegExp
282
+ regexp: RegExp
283
+ message: Message
284
+ should_be_a_valid_regexp: Should be a valid RegExp string
285
+ order_by: Order by
286
+ ascending: Ascending
287
+ descending: Descending
288
+ url: URL
289
+ expand: Expand
290
+ add_api: Add API
291
+ on_collection: On collection
292
+ association: Association
293
+ action_has_been_removed: This action has been removed
294
+ every_5_seconds: Every 5 seconds
295
+ every_30_seconds: Every 30 seconds
296
+ every_minute: Every minute
297
+ every_5_minutes: Every 5 minutes
298
+ do_not_refresh: Do not refresh
299
+ html: HTML
300
+ edit_html: Edit HTML
301
+ there_are_unsaved_changes_close_form: "There are unsaved changes. Close form?"
302
+ send_file_url: Send file URL
303
+ rating: Rating
304
+ total: Total
305
+ radar_chart: Radar chart
306
+ show_on_table: Show on table
307
+ map: Map
308
+ audits: Audits
309
+ nothing_to_show_here_yet: Nothing to show here yet 🤷
310
+ internal: Internal/Anonymous
311
+ updated: updated
312
+ created: created
313
+ deleted: deleted
314
+ sign_out: Sign out
315
+ header: Header
316
+ user_dropdown: User dropdown
317
+ add_condition: Add Condition
318
+ remove_condition: Remove Condition
319
+ unable_to_send_alert: Unable to send alert
320
+ send_via: Send via
321
+ download: Download
322
+ alert: Alert
323
+ downloading: Downloading
324
+ display_id: Display ID
325
+ display_settings: Display settings
326
+ sql: SQL
327
+ api: API
328
+ variable_name: Variable name
329
+ add_variable: Add variable
330
+ notes: Notes
331
+ new_mention_for: "New Mention for %{resource}"
332
+ user_mentioned_you_with_note: "%{user} mentioned you with:\n%{note}"
333
+ edit_note: Edit Note
334
+ create_reminder: Create Reminder
335
+ new_reminder_for: "New Reminder for %{resource}"
336
+ reminder_has_been_removed: Reminder has been removed
337
+ note_has_been_removed: Note has been removed
338
+ schedule_at: Schedule at
339
+ kanban_columns: Kanban columns
340
+ kanban_card_columns: Kanban card columns