lesli_audit 1.1.1 → 1.1.2
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/Rakefile +6 -1
- data/app/assets/stylesheets/lesli_audit/application.css +366 -35
- data/app/controllers/lesli_audit/accounts_controller.rb +7 -3
- data/app/controllers/lesli_audit/logs_controller.rb +3 -8
- data/app/controllers/lesli_audit/visitors_controller.rb +1 -1
- data/app/interfaces/lesli_audit/logger_interface.rb +56 -59
- data/app/jobs/lesli_audit/retention_cleanup_job.rb +9 -0
- data/app/models/concerns/lesli_audit/append_only.rb +12 -0
- data/app/models/lesli_audit/account.rb +26 -10
- data/app/models/lesli_audit/account_device.rb +3 -1
- data/app/models/lesli_audit/account_log.rb +12 -7
- data/app/models/lesli_audit/account_request.rb +3 -1
- data/app/models/lesli_audit/user_journal.rb +16 -3
- data/app/models/lesli_audit/user_log.rb +12 -3
- data/app/models/lesli_audit/user_request.rb +7 -3
- data/app/services/lesli_audit/activity_audit.rb +130 -0
- data/app/services/lesli_audit/request_service.rb +2 -35
- data/app/services/lesli_audit/retention_cleanup.rb +146 -0
- data/app/services/lesli_audit/user_agent_parser.rb +51 -0
- data/app/services/lesli_audit/user_service.rb +18 -16
- data/app/services/lesli_audit/visitor_service.rb +22 -49
- data/app/views/lesli_audit/logs/show.html.erb +14 -8
- data/app/views/lesli_audit/partials/_navigation.html.erb +1 -1
- data/app/views/lesli_audit/users/index.html.erb +0 -3
- data/app/views/lesli_audit/visitors/index.html.erb +12 -12
- data/config/routes.rb +3 -2
- data/db/migrate/v1.0/0501000110_create_lesli_audit_accounts.rb +14 -1
- data/db/migrate/v1.0/0501110110_create_lesli_audit_account_logs.rb +10 -6
- data/db/migrate/v1.0/0501110210_create_lesli_audit_account_devices.rb +10 -7
- data/db/migrate/v1.0/0501110310_create_lesli_audit_account_requests.rb +10 -7
- data/db/migrate/v1.0/0501120110_create_lesli_audit_user_logs.rb +11 -7
- data/db/migrate/v1.0/0501120210_create_lesli_audit_user_journals.rb +19 -8
- data/db/migrate/v1.0/0501120310_create_lesli_audit_user_requests.rb +13 -10
- data/db/seed/devices.rb +1 -1
- data/db/seed/requests.rb +3 -3
- data/lib/lesli_audit/engine.rb +1 -12
- data/lib/lesli_audit/version.rb +2 -2
- data/lib/tasks/lesli_audit_tasks.rake +12 -4
- data/readme.md +18 -5
- metadata +14 -6
- data/app/assets/stylesheets/lesli_audit/application.tailwind.css +0 -2
- data/app/models/concerns/lesli_audit/user_associations.rb +0 -11
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lesli_audit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- The Lesli Development Team
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-10-23 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: lesli
|
|
@@ -48,7 +49,6 @@ files:
|
|
|
48
49
|
- app/assets/images/lesli_audit/audit-logo.svg
|
|
49
50
|
- app/assets/javascripts/lesli_audit/application.js
|
|
50
51
|
- app/assets/stylesheets/lesli_audit/application.css
|
|
51
|
-
- app/assets/stylesheets/lesli_audit/application.tailwind.css
|
|
52
52
|
- app/controllers/lesli_audit/accounts_controller.rb
|
|
53
53
|
- app/controllers/lesli_audit/application_controller.rb
|
|
54
54
|
- app/controllers/lesli_audit/dashboards_controller.rb
|
|
@@ -65,8 +65,9 @@ files:
|
|
|
65
65
|
- app/helpers/lesli_audit/users_helper.rb
|
|
66
66
|
- app/interfaces/lesli_audit/logger_interface.rb
|
|
67
67
|
- app/jobs/lesli_audit/application_job.rb
|
|
68
|
+
- app/jobs/lesli_audit/retention_cleanup_job.rb
|
|
68
69
|
- app/mailers/lesli_audit/application_mailer.rb
|
|
69
|
-
- app/models/concerns/lesli_audit/
|
|
70
|
+
- app/models/concerns/lesli_audit/append_only.rb
|
|
70
71
|
- app/models/lesli_audit/account.rb
|
|
71
72
|
- app/models/lesli_audit/account_device.rb
|
|
72
73
|
- app/models/lesli_audit/account_log.rb
|
|
@@ -76,8 +77,11 @@ files:
|
|
|
76
77
|
- app/models/lesli_audit/user_journal.rb
|
|
77
78
|
- app/models/lesli_audit/user_log.rb
|
|
78
79
|
- app/models/lesli_audit/user_request.rb
|
|
80
|
+
- app/services/lesli_audit/activity_audit.rb
|
|
79
81
|
- app/services/lesli_audit/log_service.rb
|
|
80
82
|
- app/services/lesli_audit/request_service.rb
|
|
83
|
+
- app/services/lesli_audit/retention_cleanup.rb
|
|
84
|
+
- app/services/lesli_audit/user_agent_parser.rb
|
|
81
85
|
- app/services/lesli_audit/user_service.rb
|
|
82
86
|
- app/services/lesli_audit/visitor_service.rb
|
|
83
87
|
- app/views/lesli_audit/dashboards/_component-calendar.html.erb
|
|
@@ -120,8 +124,11 @@ licenses:
|
|
|
120
124
|
- GPL-3.0
|
|
121
125
|
metadata:
|
|
122
126
|
homepage_uri: https://www.lesli.dev/
|
|
123
|
-
changelog_uri: https://github.com/LesliTech/LesliAudit
|
|
127
|
+
changelog_uri: https://github.com/LesliTech/LesliAudit/releases
|
|
124
128
|
source_code_uri: https://github.com/LesliTech/LesliAudit
|
|
129
|
+
bug_tracker_uri: https://github.com/LesliTech/LesliAudit/issues
|
|
130
|
+
documentation_uri: https://www.lesli.dev/engines/audit/
|
|
131
|
+
post_install_message:
|
|
125
132
|
rdoc_options: []
|
|
126
133
|
require_paths:
|
|
127
134
|
- lib
|
|
@@ -136,7 +143,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
136
143
|
- !ruby/object:Gem::Version
|
|
137
144
|
version: '0'
|
|
138
145
|
requirements: []
|
|
139
|
-
rubygems_version: 3.
|
|
146
|
+
rubygems_version: 3.5.16
|
|
147
|
+
signing_key:
|
|
140
148
|
specification_version: 4
|
|
141
149
|
summary: Logs Activities & Analytics for The Lesli Framework
|
|
142
150
|
test_files: []
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--color-amber-600:oklch(66.6% .179 58.318);--color-sky-600:oklch(58.8% .158 241.966);--color-rose-600:oklch(58.6% .253 17.585);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--radius-2xl:1rem}}@layer utilities{.absolute{position:absolute}.relative{position:relative}.inset-y-0{inset-block:0}.left-0{left:0}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-6{margin-top:calc(var(--spacing) * 6)}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-full{width:100%}.\!min-w-0{min-width:0!important}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-slate-200{border-color:var(--color-slate-200)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-white{background-color:var(--color-white)}.\!p-0{padding:0!important}.p-5{padding:calc(var(--spacing) * 5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-amber-600{color:var(--color-amber-600)}.text-rose-600{color:var(--color-rose-600)}.text-sky-600{color:var(--color-sky-600)}.text-slate-500{color:var(--color-slate-500)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:64rem){.lg\:w-2\/5{width:40%}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
module LesliAudit
|
|
2
|
-
module UserAssociations
|
|
3
|
-
extend ActiveSupport::Concern
|
|
4
|
-
|
|
5
|
-
included do
|
|
6
|
-
has_many :requests, class_name: "LesliAudit::UserRequest"
|
|
7
|
-
has_many :journals, class_name: "LesliAudit::UserJournal"
|
|
8
|
-
has_many :logs, class_name: "LesliAudit::UserLog"
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
end
|