lesli_driver 0.1.0

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 (54) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +5 -0
  3. data/app/assets/config/lesli_driver_manifest.js +40 -0
  4. data/app/assets/images/lesli_driver/driver-logo.svg +101 -0
  5. data/app/assets/javascripts/lesli_driver/application.js +1 -0
  6. data/app/assets/stylesheets/lesli_driver/application.scss +96 -0
  7. data/app/controllers/lesli_driver/application_controller.rb +4 -0
  8. data/app/controllers/lesli_driver/dashboards_controller.rb +60 -0
  9. data/app/helpers/lesli_driver/application_helper.rb +4 -0
  10. data/app/helpers/lesli_driver/dashboards_helper.rb +4 -0
  11. data/app/jobs/lesli_driver/application_job.rb +4 -0
  12. data/app/mailers/lesli_driver/application_mailer.rb +6 -0
  13. data/app/models/lesli_driver/application_record.rb +5 -0
  14. data/app/models/lesli_driver/dashboard.rb +4 -0
  15. data/app/views/lesli_driver/dashboards/_dashboard.html.erb +2 -0
  16. data/app/views/lesli_driver/dashboards/_form.html.erb +17 -0
  17. data/app/views/lesli_driver/dashboards/edit.html.erb +10 -0
  18. data/app/views/lesli_driver/dashboards/index.html.erb +14 -0
  19. data/app/views/lesli_driver/dashboards/new.html.erb +9 -0
  20. data/app/views/lesli_driver/dashboards/show.html.erb +1 -0
  21. data/app/views/lesli_driver/partials/_engine-navigation.html.erb +37 -0
  22. data/config/routes.rb +36 -0
  23. data/db/migrate/20231007030328_create_lesli_driver_dashboards.rb +8 -0
  24. data/db/migrate/v1.0/0301000110_create_lesli_driver_accounts.rb +40 -0
  25. data/db/migrate/v1.0/0301100110_create_lesli_driver_calendars.rb +46 -0
  26. data/db/migrate/v1.0/0301110110_create_lesli_driver_events.rb +57 -0
  27. data/db/seed/development.rb +54 -0
  28. data/db/seed/production.rb +17 -0
  29. data/db/seed/test.rb +17 -0
  30. data/db/seeds.rb +25 -0
  31. data/db/tables/0301010210_create_lesli_driver_catalog_event_types.rb +14 -0
  32. data/db/tables/0301110310_create_lesli_driver_event_actions.rb +16 -0
  33. data/db/tables/0301110410_create_lesli_driver_event_activities.rb +15 -0
  34. data/db/tables/0301110510_create_lesli_driver_event_discussions.rb +17 -0
  35. data/db/tables/0301110610_create_lesli_driver_event_files.rb +16 -0
  36. data/db/tables/0301110710_create_lesli_driver_event_subscribers.rb +16 -0
  37. data/db/tables/0301111010_create_lesli_driver_event_attendants.rb +13 -0
  38. data/lib/lesli_driver/engine.rb +51 -0
  39. data/lib/lesli_driver/version.rb +4 -0
  40. data/lib/lesli_driver.rb +6 -0
  41. data/lib/tasks/lesli_driver_tasks.rake +4 -0
  42. data/lib/vue/application.js +46 -0
  43. data/lib/vue/apps/calendar/show.vue +34 -0
  44. data/lib/vue/components/agenda.vue +108 -0
  45. data/lib/vue/components/calendar.vue +143 -0
  46. data/lib/vue/components/event.vue +97 -0
  47. data/lib/vue/components/form.vue +143 -0
  48. data/lib/vue/components/guests.vue +148 -0
  49. data/lib/vue/stores/calendar.js +246 -0
  50. data/lib/vue/stores/event.js +53 -0
  51. data/lib/vue/stores/guests.js +213 -0
  52. data/license +674 -0
  53. data/readme.md +67 -0
  54. metadata +112 -0
@@ -0,0 +1,96 @@
1
+
2
+ // ·
3
+ @import "lesli/templates/dashboards";
4
+
5
+
6
+ // ·
7
+ $driver-color: #3689e6;
8
+ $focus-color: #28bca3;
9
+ $help-color: #a56de2;
10
+
11
+
12
+ // ·
13
+ #driver-calendar {
14
+ background-color: white;
15
+ box-shadow: $lesli-box-shadow;
16
+
17
+ .fc-header-toolbar {
18
+ height: 0px !important;
19
+ margin-bottom: 0;
20
+ h2 {
21
+ color: transparent;
22
+ }
23
+ }
24
+
25
+ // remove outside border of the calendar grid
26
+ .fc-scrollgrid {
27
+ border: none !important;
28
+
29
+ // calendar header (day names)
30
+ .fc-scrollgrid-section-header {
31
+
32
+ .fc-col-header-cell {
33
+ padding: .8rem 0;
34
+ text-align: center;
35
+ border-left-width: 0;
36
+ border-right-width: 0;
37
+ a {
38
+ color: lesli-css-color(silver, 900)
39
+ }
40
+ }
41
+
42
+ }
43
+
44
+ .fc-scrollgrid-section-body {
45
+
46
+ // grid of days of the month
47
+ .fc-daygrid-day {
48
+
49
+ // Day number
50
+ .fc-daygrid-day-top .fc-daygrid-day-number {
51
+ padding: 5px 10px;
52
+ }
53
+
54
+ // change current day indicator
55
+ &.fc-day-today .fc-daygrid-day-top .fc-daygrid-day-number {
56
+ color: $lesli-color-primary;
57
+ font-weight: 800;
58
+ }
59
+
60
+
61
+ // event in the calendar
62
+ .fc-daygrid-event {
63
+ border: none;
64
+ margin-left: 0;
65
+ margin-bottom: .2rem;
66
+ border-radius: 3px;
67
+
68
+ padding-left: 4px;
69
+ border-left: 5px solid $driver-color;
70
+ background-color: lighten($driver-color, 40);
71
+
72
+ .fc-event-title {
73
+ text-transform: capitalize;
74
+ color: darken($driver-color, 30);
75
+ font-family: "Open Sans", "Helvetica Neue", "Helvetica", "Arial", "sans-serif", sans-serif;
76
+ }
77
+
78
+ // ticket events
79
+ &.cloud-help-tickets {
80
+ border-left-color: $help-color;
81
+ background-color: lighten($help-color, 32);
82
+ .event-title { color: darken($help-color, 30) }
83
+ }
84
+
85
+
86
+ // focus events
87
+ &.cloud-focus-tasks {
88
+ border-left-color: $focus-color;
89
+ background-color: lighten($focus-color, 48 );
90
+ .event-title { color: darken($focus-color, 30) }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
@@ -0,0 +1,4 @@
1
+ module LesliDriver
2
+ class ApplicationController < Lesli::ApplicationLesliController
3
+ end
4
+ end
@@ -0,0 +1,60 @@
1
+ module LesliDriver
2
+ class DashboardsController < ApplicationController
3
+ #before_action :set_dashboard, only: %i[ show edit update destroy ]
4
+
5
+ # GET /dashboards
6
+ def index
7
+ @dashboards = Dashboard.all
8
+ end
9
+
10
+ # GET /dashboards/1
11
+ def show
12
+ end
13
+
14
+ # GET /dashboards/new
15
+ def new
16
+ @dashboard = Dashboard.new
17
+ end
18
+
19
+ # GET /dashboards/1/edit
20
+ def edit
21
+ end
22
+
23
+ # POST /dashboards
24
+ def create
25
+ @dashboard = Dashboard.new(dashboard_params)
26
+
27
+ if @dashboard.save
28
+ redirect_to @dashboard, notice: "Dashboard was successfully created."
29
+ else
30
+ render :new, status: :unprocessable_entity
31
+ end
32
+ end
33
+
34
+ # PATCH/PUT /dashboards/1
35
+ def update
36
+ if @dashboard.update(dashboard_params)
37
+ redirect_to @dashboard, notice: "Dashboard was successfully updated.", status: :see_other
38
+ else
39
+ render :edit, status: :unprocessable_entity
40
+ end
41
+ end
42
+
43
+ # DELETE /dashboards/1
44
+ def destroy
45
+ @dashboard.destroy
46
+ redirect_to dashboards_url, notice: "Dashboard was successfully destroyed.", status: :see_other
47
+ end
48
+
49
+ private
50
+ # Use callbacks to share common setup or constraints between actions.
51
+ def set_dashboard
52
+ @dashboard = Dashboard.find(params[:id])
53
+ end
54
+
55
+ # Only allow a list of trusted parameters through.
56
+ def dashboard_params
57
+ params.fetch(:dashboard, {})
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,4 @@
1
+ module LesliDriver
2
+ module ApplicationHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module LesliDriver
2
+ module DashboardsHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module LesliDriver
2
+ class ApplicationJob < ActiveJob::Base
3
+ end
4
+ end
@@ -0,0 +1,6 @@
1
+ module LesliDriver
2
+ class ApplicationMailer < ActionMailer::Base
3
+ default from: "from@example.com"
4
+ layout "mailer"
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module LesliDriver
2
+ class ApplicationRecord < ActiveRecord::Base
3
+ self.abstract_class = true
4
+ end
5
+ end
@@ -0,0 +1,4 @@
1
+ module LesliDriver
2
+ class Dashboard < ApplicationRecord
3
+ end
4
+ end
@@ -0,0 +1,2 @@
1
+ <div id="<%= dom_id dashboard %>">
2
+ </div>
@@ -0,0 +1,17 @@
1
+ <%= form_with(model: dashboard) do |form| %>
2
+ <% if dashboard.errors.any? %>
3
+ <div style="color: red">
4
+ <h2><%= pluralize(dashboard.errors.count, "error") %> prohibited this dashboard from being saved:</h2>
5
+
6
+ <ul>
7
+ <% dashboard.errors.each do |error| %>
8
+ <li><%= error.full_message %></li>
9
+ <% end %>
10
+ </ul>
11
+ </div>
12
+ <% end %>
13
+
14
+ <div>
15
+ <%= form.submit %>
16
+ </div>
17
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <h1>Editing dashboard</h1>
2
+
3
+ <%= render "form", dashboard: @dashboard %>
4
+
5
+ <br>
6
+
7
+ <div>
8
+ <%= link_to "Show this dashboard", @dashboard %> |
9
+ <%= link_to "Back to dashboards", dashboards_path %>
10
+ </div>
@@ -0,0 +1,14 @@
1
+ <p style="color: green"><%= notice %></p>
2
+
3
+ <h1>Dashboards</h1>
4
+
5
+ <div id="dashboards">
6
+ <% @dashboards.each do |dashboard| %>
7
+ <%= render dashboard %>
8
+ <p>
9
+ <%= link_to "Show this dashboard", dashboard %>
10
+ </p>
11
+ <% end %>
12
+ </div>
13
+
14
+ <%= link_to "New dashboard", new_dashboard_path %>
@@ -0,0 +1,9 @@
1
+ <h1>New dashboard</h1>
2
+
3
+ <%= render "form", dashboard: @dashboard %>
4
+
5
+ <br>
6
+
7
+ <div>
8
+ <%= link_to "Back to dashboards", dashboards_path %>
9
+ </div>
@@ -0,0 +1 @@
1
+ <router-view></router-view>
@@ -0,0 +1,37 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS Development Framework.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%#= navigation_item(lesli_babel.dashboard_path, "Dashboard", "ri-dashboard-3-line"); %>
36
+ <%= navigation_item(lesli_driver.dashboard_path, "Calendar", "ri-calendar-2-fill") %>
37
+ <%= navigation_item(lesli_driver.dashboard_path, "Events", "ri-map-pin-2-line") %>
data/config/routes.rb ADDED
@@ -0,0 +1,36 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+
33
+ LesliDriver::Engine.routes.draw do
34
+ root to: "dashboards#show"
35
+ resource :dashboard, only: [:show]
36
+ end
@@ -0,0 +1,8 @@
1
+ class CreateLesliDriverDashboards < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table :lesli_driver_dashboards do |t|
4
+
5
+ t.timestamps
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,40 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliDriverAccounts < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_driver_accounts do |t|
35
+ t.datetime :deleted_at, index: true
36
+ t.timestamps
37
+ end
38
+ add_reference(:lesli_driver_accounts, :account, foreign_key: { to_table: :lesli_accounts })
39
+ end
40
+ end
@@ -0,0 +1,46 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliDriverCalendars < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_driver_calendars do |t|
35
+ t.string :name
36
+ t.string :color, default: "0d52bf"
37
+
38
+ # acts_as_paranoid
39
+ t.datetime :deleted_at, index: true
40
+ t.timestamps
41
+ end
42
+
43
+ add_reference(:lesli_driver_calendars, :user, foreign_key: { to_table: :lesli_users })
44
+ add_reference(:lesli_driver_calendars, :account, foreign_key: { to_table: :lesli_driver_accounts })
45
+ end
46
+ end
@@ -0,0 +1,57 @@
1
+ =begin
2
+
3
+ Lesli
4
+
5
+ Copyright (c) 2023, Lesli Technologies, S. A.
6
+
7
+ This program is free software: you can redistribute it and/or modify
8
+ it under the terms of the GNU General Public License as published by
9
+ the Free Software Foundation, either version 3 of the License, or
10
+ (at your option) any later version.
11
+
12
+ This program is distributed in the hope that it will be useful,
13
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ GNU General Public License for more details.
16
+
17
+ You should have received a copy of the GNU General Public License
18
+ along with this program. If not, see http://www.gnu.org/licenses/.
19
+
20
+ Lesli · Ruby on Rails SaaS Development Framework.
21
+
22
+ Made with ♥ by https://www.lesli.tech
23
+ Building a better future, one line of code at a time.
24
+
25
+ @contact hello@lesli.tech
26
+ @website https://www.lesli.tech
27
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
+
29
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
+ // ·
31
+ =end
32
+ class CreateLesliDriverEvents < ActiveRecord::Migration[6.0]
33
+ def change
34
+ create_table :lesli_driver_events do |t|
35
+ t.string :title, required: true
36
+ t.string :description
37
+ t.date :date
38
+ t.time :start
39
+ t.time :end
40
+ t.string :url
41
+ t.string :location
42
+ t.string :status # proposal, draft
43
+ t.boolean :public
44
+
45
+ t.datetime :deleted_at, index: true
46
+ t.timestamps
47
+ end
48
+
49
+ add_reference(:lesli_driver_events, :account, foreign_key: { to_table: :lesli_accounts })
50
+ add_reference(:lesli_driver_events, :calendar, foreign_key: { to_table: :lesli_driver_calendars })
51
+ add_reference(:lesli_driver_events, :user, foreign_key: { to_table: :lesli_users })
52
+
53
+ #add_reference(:cloud_driver_events, :assign, foreign_key: { to_table: :users })
54
+ #add_reference(:cloud_driver_events, :type, foreign_key: { to_table: :cloud_driver_catalog_event_types})
55
+ #add_reference(:cloud_driver_events, :model, polymorphic: true)
56
+ end
57
+ end
@@ -0,0 +1,54 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
18
+
19
+
20
+ # delete all the existing events
21
+ CloudDriver::Event.all.delete_all
22
+
23
+ # create demo events for all the users
24
+ # NOTE: There is bug in the service, it does not use the user calendar to create the event
25
+ #User.all.each do |current_user|
26
+
27
+ current_user = User.first
28
+
29
+ # create 10 events for every user
30
+ 10.times do |days|
31
+
32
+ date = days.days.from_now
33
+
34
+ CloudDriver::EventServices.create(current_user,
35
+ :title => Faker::Fantasy::Tolkien.character,
36
+ :description => Faker::Fantasy::Tolkien.poem,
37
+ :event_date => date,
38
+ :time_start => date,
39
+ :time_end => date,
40
+ :location => Faker::Fantasy::Tolkien.location
41
+ )
42
+
43
+ date = days.days.ago
44
+
45
+ CloudDriver::EventServices.create(current_user,
46
+ :title => Faker::Fantasy::Tolkien.character,
47
+ :description => Faker::Fantasy::Tolkien.poem,
48
+ :event_date => date,
49
+ :time_start => date,
50
+ :time_end => date,
51
+ :location => Faker::Fantasy::Tolkien.location
52
+ )
53
+ end
54
+ #end
@@ -0,0 +1,17 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
data/db/seed/test.rb ADDED
@@ -0,0 +1,17 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
data/db/seeds.rb ADDED
@@ -0,0 +1,25 @@
1
+ =begin
2
+
3
+ Copyright (c) 2023, all rights reserved.
4
+
5
+ All the information provided by this platform is protected by international laws related to
6
+ industrial property, intellectual property, copyright and relative international laws.
7
+ All intellectual or industrial property rights of the code, texts, trade mark, design,
8
+ pictures and any other information belongs to the owner of this platform.
9
+
10
+ Without the written permission of the owner, any replication, modification,
11
+ transmission, publication is strictly forbidden.
12
+
13
+ For more information read the license file including with this software.
14
+
15
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
16
+ // ·
17
+ =end
18
+
19
+
20
+ # IMPORTANT: Seed files are only for development, if you need to create default resources for production
21
+ # you must use the initializer method in the Engine account model
22
+ if Rails.env.development?
23
+ L2.msg("Loading seeds for CloudDriver environment", "Version: #{CloudDriver::VERSION}", "Build: #{CloudDriver::BUILD}")
24
+ load CloudDriver::Engine.root.join("db", "seed", "#{ Rails.env.downcase }.rb")
25
+ end
@@ -0,0 +1,14 @@
1
+ class CreateCloudDriverCatalogEventTypes < ActiveRecord::Migration[6.1]
2
+ def change
3
+ create_table :cloud_driver_catalog_event_types do |t|
4
+ t.string :name
5
+ t.string :model_type, index: true
6
+
7
+ # acts_as_paranoid
8
+ t.datetime :deleted_at, index: true
9
+
10
+ t.timestamps
11
+ end
12
+ add_reference(:cloud_driver_catalog_event_types, :account, foreign_key: { to_table: :cloud_driver_accounts })
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ class CreateCloudDriverEventActions < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000003_actions.json')))
4
+ create_table :cloud_driver_event_actions do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_actions, :users, foreign_key: true
14
+ add_reference :cloud_driver_event_actions, :cloud_driver_events, foreign_key: true, index: { name: "driver_event_actions_events" }
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ class CreateCloudDriverEventActivities < ActiveRecord::Migration[6.0]
2
+ def change
3
+ table_base_structure = JSON.parse(File.read(Rails.root.join('db','structure','00000004_activities.json')))
4
+ create_table :cloud_driver_event_activities do |t|
5
+ table_base_structure.each do |column|
6
+ t.send(
7
+ column["type"].parameterize.underscore.to_sym,
8
+ column["name"].parameterize.underscore.to_sym
9
+ )
10
+ end
11
+ t.timestamps
12
+ end
13
+ add_reference :cloud_driver_event_activities, :cloud_driver_events, foreign_key: true
14
+ end
15
+ end