lesli_guard 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (141) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +38 -0
  3. data/app/assets/config/lesli_guard_manifest.js +38 -0
  4. data/app/assets/images/lesli_guard/guard-logo.svg +160 -0
  5. data/app/assets/javascripts/lesli_guard/application.js +4787 -0
  6. data/app/assets/stylesheets/lesli_guard/application.scss +33 -0
  7. data/app/assets/stylesheets/lesli_guard/dashboards.scss +32 -0
  8. data/app/assets/stylesheets/lesli_guard/descriptors.scss +32 -0
  9. data/app/assets/stylesheets/lesli_guard/roles.scss +32 -0
  10. data/app/assets/stylesheets/lesli_guard/system_controller.scss +32 -0
  11. data/app/assets/stylesheets/lesli_guard/users.scss +67 -0
  12. data/app/controllers/lesli_guard/accounts_controller.rb +60 -0
  13. data/app/controllers/lesli_guard/application_controller.rb +37 -0
  14. data/app/controllers/lesli_guard/dashboard/components_controller.rb +60 -0
  15. data/app/controllers/lesli_guard/dashboards_controller.rb +36 -0
  16. data/app/controllers/lesli_guard/descriptor/activities_controller.rb +122 -0
  17. data/app/controllers/lesli_guard/descriptor/privileges_controller.rb +112 -0
  18. data/app/controllers/lesli_guard/descriptors_controller.rb +129 -0
  19. data/app/controllers/lesli_guard/role/activities_controller.rb +76 -0
  20. data/app/controllers/lesli_guard/role/descriptors_controller.rb +97 -0
  21. data/app/controllers/lesli_guard/role/privileges_controller.rb +47 -0
  22. data/app/controllers/lesli_guard/roles_controller.rb +185 -0
  23. data/app/controllers/lesli_guard/user/roles_controller.rb +98 -0
  24. data/app/controllers/lesli_guard/user/sessions_controller.rb +71 -0
  25. data/app/controllers/lesli_guard/users_controller.rb +206 -0
  26. data/app/helpers/lesli_guard/accounts_helper.rb +4 -0
  27. data/app/helpers/lesli_guard/application_helper.rb +4 -0
  28. data/app/helpers/lesli_guard/dashboards_helper.rb +4 -0
  29. data/app/helpers/lesli_guard/descriptor/activities_helper.rb +4 -0
  30. data/app/helpers/lesli_guard/descriptor/privileges_helper.rb +4 -0
  31. data/app/helpers/lesli_guard/descriptors_helper.rb +4 -0
  32. data/app/helpers/lesli_guard/role/activities_helper.rb +4 -0
  33. data/app/helpers/lesli_guard/role/descriptors_helper.rb +4 -0
  34. data/app/helpers/lesli_guard/role/privileges_helper.rb +4 -0
  35. data/app/helpers/lesli_guard/roles_helper.rb +4 -0
  36. data/app/jobs/lesli_guard/application_job.rb +37 -0
  37. data/app/mailers/lesli_guard/application_mailer.rb +39 -0
  38. data/app/models/lesli_guard/account.rb +43 -0
  39. data/app/models/lesli_guard/application_record.rb +37 -0
  40. data/app/models/lesli_guard/dashboard/component.rb +42 -0
  41. data/app/models/lesli_guard/dashboard.rb +58 -0
  42. data/app/models/lesli_guard/descriptor/activity.rb +40 -0
  43. data/app/models/lesli_guard/descriptor/privilege.rb +40 -0
  44. data/app/models/lesli_guard/descriptor.rb +41 -0
  45. data/app/models/lesli_guard/role/activity.rb +40 -0
  46. data/app/services/lesli_guard/descriptor_privilege_service.rb +74 -0
  47. data/app/services/lesli_guard/descriptor_service.rb +152 -0
  48. data/app/services/lesli_guard/role_descriptor_service.rb +61 -0
  49. data/app/services/lesli_guard/role_service.rb +215 -0
  50. data/app/services/lesli_guard/user_service.rb +305 -0
  51. data/app/views/lesli_guard/accounts/_account.html.erb +2 -0
  52. data/app/views/lesli_guard/accounts/_form.html.erb +17 -0
  53. data/app/views/lesli_guard/accounts/edit.html.erb +10 -0
  54. data/app/views/lesli_guard/accounts/index.html.erb +14 -0
  55. data/app/views/lesli_guard/accounts/new.html.erb +9 -0
  56. data/app/views/lesli_guard/accounts/show.html.erb +10 -0
  57. data/app/views/lesli_guard/dashboards/show.html.erb +1 -0
  58. data/app/views/lesli_guard/descriptor/activities/_form.html.erb +32 -0
  59. data/app/views/lesli_guard/descriptor/activities/edit.html.erb +34 -0
  60. data/app/views/lesli_guard/descriptor/activities/index.html.erb +34 -0
  61. data/app/views/lesli_guard/descriptor/activities/new.html.erb +34 -0
  62. data/app/views/lesli_guard/descriptor/activities/show.html.erb +34 -0
  63. data/app/views/lesli_guard/descriptor/privileges/_form.html.erb +32 -0
  64. data/app/views/lesli_guard/descriptor/privileges/edit.html.erb +34 -0
  65. data/app/views/lesli_guard/descriptor/privileges/index.html.erb +34 -0
  66. data/app/views/lesli_guard/descriptor/privileges/new.html.erb +34 -0
  67. data/app/views/lesli_guard/descriptor/privileges/show.html.erb +34 -0
  68. data/app/views/lesli_guard/descriptors/_form.html.erb +32 -0
  69. data/app/views/lesli_guard/descriptors/edit.html.erb +34 -0
  70. data/app/views/lesli_guard/descriptors/index.html.erb +34 -0
  71. data/app/views/lesli_guard/descriptors/new.html.erb +34 -0
  72. data/app/views/lesli_guard/descriptors/show.html.erb +34 -0
  73. data/app/views/lesli_guard/partials/_engine-navigation.html.erb +38 -0
  74. data/app/views/lesli_guard/role/activities/_form.html.erb +32 -0
  75. data/app/views/lesli_guard/role/activities/edit.html.erb +34 -0
  76. data/app/views/lesli_guard/role/activities/index.html.erb +34 -0
  77. data/app/views/lesli_guard/role/activities/new.html.erb +34 -0
  78. data/app/views/lesli_guard/role/activities/show.html.erb +34 -0
  79. data/app/views/lesli_guard/role/descriptors/_form.html.erb +32 -0
  80. data/app/views/lesli_guard/role/descriptors/edit.html.erb +34 -0
  81. data/app/views/lesli_guard/role/descriptors/index.html.erb +34 -0
  82. data/app/views/lesli_guard/role/descriptors/new.html.erb +34 -0
  83. data/app/views/lesli_guard/role/descriptors/show.html.erb +34 -0
  84. data/app/views/lesli_guard/role/privileges/_form.html.erb +32 -0
  85. data/app/views/lesli_guard/role/privileges/edit.html.erb +34 -0
  86. data/app/views/lesli_guard/role/privileges/index.html.erb +34 -0
  87. data/app/views/lesli_guard/role/privileges/new.html.erb +34 -0
  88. data/app/views/lesli_guard/role/privileges/show.html.erb +34 -0
  89. data/app/views/lesli_guard/roles/edit.html.erb +34 -0
  90. data/app/views/lesli_guard/roles/index.html.erb +34 -0
  91. data/app/views/lesli_guard/roles/new.html.erb +34 -0
  92. data/app/views/lesli_guard/roles/show.html.erb +34 -0
  93. data/app/views/lesli_guard/users/edit.html.erb +10 -0
  94. data/app/views/lesli_guard/users/index.html.erb +34 -0
  95. data/app/views/lesli_guard/users/new.html.erb +34 -0
  96. data/app/views/lesli_guard/users/show.html.erb +1 -0
  97. data/config/locales/translations.en.yml +43 -0
  98. data/config/locales/translations.es.yml +43 -0
  99. data/config/routes.rb +90 -0
  100. data/db/migrate/v1/0801000110_create_lesli_guard_accounts.rb +42 -0
  101. data/db/migrate/v1/0801050110_create_lesli_guard_dashboards.rb +51 -0
  102. data/db/migrate/v1/0801050210_create_lesli_guard_dashboard_components.rb +53 -0
  103. data/lib/lesli_guard/engine.rb +18 -0
  104. data/lib/lesli_guard/version.rb +4 -0
  105. data/lib/lesli_guard.rb +6 -0
  106. data/lib/tasks/lesli_guard_tasks.rake +50 -0
  107. data/lib/vue/application.js +112 -0
  108. data/lib/vue/apps/descriptors/components/form.vue +136 -0
  109. data/lib/vue/apps/descriptors/edit.vue +83 -0
  110. data/lib/vue/apps/descriptors/index.vue +113 -0
  111. data/lib/vue/apps/descriptors/new.vue +69 -0
  112. data/lib/vue/apps/descriptors/show.vue +233 -0
  113. data/lib/vue/apps/roles/components/descriptors.vue +81 -0
  114. data/lib/vue/apps/roles/components/form.vue +253 -0
  115. data/lib/vue/apps/roles/components/privilegeCustom.vue +86 -0
  116. data/lib/vue/apps/roles/components/privilegeStandard.vue +196 -0
  117. data/lib/vue/apps/roles/edit.vue +118 -0
  118. data/lib/vue/apps/roles/index.vue +168 -0
  119. data/lib/vue/apps/roles/logs.vue +110 -0
  120. data/lib/vue/apps/roles/new.vue +86 -0
  121. data/lib/vue/apps/roles/show.vue +109 -0
  122. data/lib/vue/apps/users/components/information-card.vue +107 -0
  123. data/lib/vue/apps/users/components/information-form.vue +176 -0
  124. data/lib/vue/apps/users/components/integrations-information.vue +61 -0
  125. data/lib/vue/apps/users/components/management-roles.vue +107 -0
  126. data/lib/vue/apps/users/components/management-security.vue +113 -0
  127. data/lib/vue/apps/users/components/management-sessions.vue +101 -0
  128. data/lib/vue/apps/users/components/management-settings.vue +93 -0
  129. data/lib/vue/apps/users/index.vue +207 -0
  130. data/lib/vue/apps/users/new.vue +181 -0
  131. data/lib/vue/apps/users/show.vue +131 -0
  132. data/lib/vue/stores/descriptor.js +117 -0
  133. data/lib/vue/stores/descriptors.js +156 -0
  134. data/lib/vue/stores/role.js +203 -0
  135. data/lib/vue/stores/roles.js +58 -0
  136. data/lib/vue/stores/translations.json +98 -0
  137. data/lib/vue/stores/user.js +331 -0
  138. data/lib/vue/stores/users.js +176 -0
  139. data/license +674 -0
  140. data/readme.md +76 -0
  141. metadata +199 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1b8ada431e57cbf285f80788366b8a98fc1375e500977ec64ca36cd7204eae22
4
+ data.tar.gz: 7f733777b5688d4feac51a23ff491d1829c71cf8e981db11adc7bf6de558507f
5
+ SHA512:
6
+ metadata.gz: d7c8654a25a38cdfdc1aa1addb063c4bea7650fe457a0caff1ed225b308230bf2bdd344a831ed26b37bd9b5f7b18c6604a288068e3b60d5e460ca0ce41f3d97b
7
+ data.tar.gz: 0d763eaac33d92fc5f86083e0f1387a8aea39d2bdd5c4d83f4ccef3d1cd9bda404bb82210cd1cdc810d3f3daf27d82c317c0c2202c4e1c544ff04694037fdc2f
data/Rakefile ADDED
@@ -0,0 +1,38 @@
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 platform.
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
+
32
+ =end
33
+
34
+ require "bundler/setup"
35
+
36
+ load "rails/tasks/statistics.rake"
37
+
38
+ require "bundler/gem_tasks"
@@ -0,0 +1,38 @@
1
+ /*
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 platform.
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
+ */
32
+
33
+ //= link_tree ../images/lesli_guard .png
34
+ //= link_tree ../images/lesli_guard .jpg
35
+ //= link_tree ../images/lesli_guard .svg
36
+
37
+ //= link lesli_guard/application.css
38
+ //= link lesli_guard/application.js
@@ -0,0 +1,160 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <svg
3
+ enable-background="new 0 0 128 128"
4
+ id="Layer_1"
5
+ version="1.1"
6
+ viewBox="0 0 72 72"
7
+ xml:space="preserve"
8
+ sodipodi:docname="vault-logo.svg"
9
+ width="72"
10
+ height="72"
11
+ inkscape:version="1.2 (dc2aeda, 2022-05-15)"
12
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ xmlns:svg="http://www.w3.org/2000/svg"><defs
16
+ id="defs69" /><sodipodi:namedview
17
+ id="namedview67"
18
+ pagecolor="#ffffff"
19
+ bordercolor="#000000"
20
+ borderopacity="0.25"
21
+ inkscape:showpageshadow="2"
22
+ inkscape:pageopacity="0.0"
23
+ inkscape:pagecheckerboard="0"
24
+ inkscape:deskcolor="#d1d1d1"
25
+ showgrid="false"
26
+ inkscape:lockguides="true"
27
+ inkscape:zoom="1.84375"
28
+ inkscape:cx="36.067797"
29
+ inkscape:cy="35.79661"
30
+ inkscape:window-width="1792"
31
+ inkscape:window-height="1002"
32
+ inkscape:window-x="0"
33
+ inkscape:window-y="25"
34
+ inkscape:window-maximized="0"
35
+ inkscape:current-layer="g64" /><g
36
+ id="g64"
37
+ transform="translate(-28,-28)"><g
38
+ id="g62"><path
39
+ d="M 90.4,100 H 37.6 C 32.3,100 28,95.7 28,90.4 V 37.6 C 28,32.3 32.3,28 37.6,28 h 52.8 c 5.3,0 9.6,4.3 9.6,9.6 v 52.8 c 0,5.3 -4.3,9.6 -9.6,9.6 z"
40
+ fill="#e6e8eb"
41
+ id="path6" /><g
42
+ id="g10"><path
43
+ d="M 90.4,93 H 37.6 C 36.2,93 35,91.8 35,90.4 V 37.6 C 35,36.2 36.2,35 37.6,35 h 52.8 c 1.4,0 2.6,1.2 2.6,2.6 V 90.4 C 93,91.8 91.8,93 90.4,93 Z M 37.6,37 C 37.3,37 37,37.3 37,37.6 v 52.8 c 0,0.3 0.3,0.6 0.6,0.6 H 90.4 C 90.7,91 91,90.7 91,90.4 V 37.6 C 91,37.3 90.7,37 90.4,37 Z"
44
+ fill="#cfd5df"
45
+ id="path8" /></g><g
46
+ id="g16"><path
47
+ d="m 94,56.6 h -1.4 c -0.9,0 -1.7,-0.7 -1.7,-1.7 V 43.1 c 0,-0.9 0.7,-1.7 1.7,-1.7 H 94 c 0.9,0 1.7,0.7 1.7,1.7 V 55 c 0,0.9 -0.8,1.6 -1.7,1.6 z"
48
+ fill="#cfd5df"
49
+ id="path12" /><path
50
+ d="m 94,86.5 h -1.4 c -0.9,0 -1.7,-0.7 -1.7,-1.7 V 73 c 0,-0.9 0.7,-1.7 1.7,-1.7 H 94 c 0.9,0 1.7,0.7 1.7,1.7 v 11.8 c 0,1 -0.8,1.7 -1.7,1.7 z"
51
+ fill="#cfd5df"
52
+ id="path14" /></g><g
53
+ id="g32"><circle
54
+ cx="53.799999"
55
+ cy="64"
56
+ fill="#ffffff"
57
+ r="12.6"
58
+ id="circle18" /><circle
59
+ cx="53.799999"
60
+ cy="64"
61
+ fill="#cfd5df"
62
+ r="10.9"
63
+ id="circle20" /><circle
64
+ cx="53.799999"
65
+ cy="64"
66
+ fill="#e6e8eb"
67
+ r="8.1000004"
68
+ id="circle22" /><path
69
+ d="m 42.6,75.2 v 0 c -0.7,-0.7 -0.7,-1.9 0,-2.6 L 62.3,52.9 c 0.7,-0.7 1.9,-0.7 2.6,0 v 0 c 0.7,0.7 0.7,1.9 0,2.6 L 45.3,75.2 c -0.7,0.7 -1.9,0.7 -2.7,0 z"
70
+ fill="#454e5c"
71
+ id="path24" /><path
72
+ d="m 42.6,52.8 v 0 c 0.7,-0.7 1.9,-0.7 2.6,0 L 65,72.5 c 0.7,0.7 0.7,1.9 0,2.6 v 0 c -0.7,0.7 -1.9,0.7 -2.6,0 L 42.6,55.5 c -0.7,-0.7 -0.7,-1.9 0,-2.7 z"
73
+ fill="#454e5c"
74
+ id="path26" /><circle
75
+ cx="53.799999"
76
+ cy="64"
77
+ fill="#545e70"
78
+ r="5.8000002"
79
+ id="circle28" /><circle
80
+ cx="53.799999"
81
+ cy="64"
82
+ fill="#acb2b9"
83
+ r="3.0999999"
84
+ id="circle30" /></g><circle
85
+ cx="78.800003"
86
+ cy="63.200001"
87
+ fill="#acb2b9"
88
+ r="6.3000002"
89
+ id="circle34" /><circle
90
+ cx="78.800003"
91
+ cy="63.200001"
92
+ fill="#e6e8eb"
93
+ r="4.9000001"
94
+ id="circle36" /><circle
95
+ cx="78.800003"
96
+ cy="63.200001"
97
+ fill="#cfd5df"
98
+ r="3.5999999"
99
+ id="circle38" /><g
100
+ id="g48"><rect
101
+ fill="#cfd5df"
102
+ height="8.1000004"
103
+ width="0.30000001"
104
+ x="78.699997"
105
+ y="59.200001"
106
+ id="rect40" /><rect
107
+ fill="#cfd5df"
108
+ height="0.30000001"
109
+ width="8.1000004"
110
+ x="74.800003"
111
+ y="63"
112
+ id="rect42" /><rect
113
+ fill="#cfd5df"
114
+ height="8.1000004"
115
+ transform="matrix(0.7071,0.7071,-0.7071,0.7071,67.78,-37.2417)"
116
+ width="0.30000001"
117
+ x="78.699997"
118
+ y="59.200001"
119
+ id="rect44" /><rect
120
+ fill="#cfd5df"
121
+ height="8.1000004"
122
+ transform="matrix(-0.7071,0.7071,-0.7071,-0.7071,179.2834,52.1292)"
123
+ width="0.30000001"
124
+ x="78.699997"
125
+ y="59.200001"
126
+ id="rect46" /></g><g
127
+ id="g58"><rect
128
+ fill="#cfd5df"
129
+ height="8.1000004"
130
+ transform="matrix(0.9239,-0.3827,0.3827,0.9239,-18.1828,34.9832)"
131
+ width="0.30000001"
132
+ x="78.699997"
133
+ y="59.200001"
134
+ id="rect50" /><rect
135
+ fill="#cfd5df"
136
+ height="8.1000004"
137
+ transform="matrix(0.3827,0.9239,-0.9239,0.3827,107.0563,-33.8313)"
138
+ width="0.30000001"
139
+ x="78.699997"
140
+ y="59.200001"
141
+ id="rect52" /><rect
142
+ fill="#cfd5df"
143
+ height="8.1000004"
144
+ transform="matrix(0.9239,0.3827,-0.3827,0.9239,30.186,-25.3619)"
145
+ width="0.30000001"
146
+ x="78.699997"
147
+ y="59.200001"
148
+ id="rect54" /><rect
149
+ fill="#cfd5df"
150
+ height="8.1000004"
151
+ transform="matrix(-0.3826,0.9239,-0.9239,-0.3826,167.4025,14.5355)"
152
+ width="0.30000001"
153
+ x="78.699997"
154
+ y="59.200001"
155
+ id="rect56" /></g><circle
156
+ cx="78.800003"
157
+ cy="63.200001"
158
+ fill="#ffffff"
159
+ r="2.2"
160
+ id="circle60" /></g></g></svg>