Commit dd0aa0d
Modernize: PHP 8.2+ patterns, Vue 3, Vite 6, Vonage, remove deprecated APIs (#409)
* refactor: replace global PHP constants with config() calls
Remove TOTEM_PATH, TOTEM_TABLE_PREFIX, and TOTEM_DATABASE_CONNECTION
global constants from TotemServiceProvider::register(). Replace all
usages throughout src/ and database/migrations/ with config() calls
and $this->prefix()/$this->getConnection() helpers on TotemMigration.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: address code review issues in global constants removal
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: replace deprecated CronExpression::factory() with new CronExpression()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: add CronExpression validation rule class
* feat: add JsonFile validation rule class
* Strengthen JsonFile rule test assertion
Assert message content matches 'JSON file' rather than just asserting
it is non-null, consistent with CronExpression rule test pattern.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: replace Validator::extend() with ValidationRule classes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* feat: replace deprecated Nexmo channel with Vonage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: remove RouteServiceProvider, inline routes with tuple syntax
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: use configured cache store in route bind, eager load frequencies
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: merge ConsoleServiceProvider into TotemServiceProvider
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: update TaskExecutionTest to use TotemServiceProvider after ConsoleServiceProvider merge
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: remove request() from HasFrequencies model trait
Move frequency persistence logic out of the Eloquent model lifecycle hook
and into the repository layer where HTTP context is already available.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: remove request() from HasParameters trait, explicit afterSave passing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: move User model to tests, fix helpers.php icon dependency, add return types
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: move test fixtures to autoload-dev, factory to tests/
Move Studio\Totem\Tests namespace from autoload to autoload-dev.
Move TotemUserFactory from database/factories/ to tests/ under the
Studio\Totem\Tests namespace, keeping test-only code out of the
production classmap.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: use ::class constants in TotemEventServiceProvider
* fix: remove unused Deleted import from TotemEventServiceProvider
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* build: replace laravel-elixir/webpack with Vite 5 + Vue 3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: remove unused lodash, fix assetFileNames for non-CSS assets
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: migrate app.js to Vue 3 createApp, extract composables
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: migrate ClickToClose and UIKitModal to Vue 3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: remove unused h import from ClickToClose.vue
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: remove inline-template from TaskType.vue, convert to proper SFC
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: migrate all Vue components to Vue 3 Composition API
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* fix: remove dangling dropdown ref, add EOF newline
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* refactor: replace moment.js with dayjs in UpcomingCalendar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* build: rebuild frontend bundle with Vue 3 + Vite + dayjs
Fix Vue 3 template v-for key placement in UpcomingCalendar.vue,
update vite.config.js for Vite 6 compatibility (cssFileName,
outDir restructure, publicDir: false), add components.css to layout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Apply fixes from StyleCI (#408)
* Only test laravel 11 and 12
* test: add coverage for HasFrequencies, getCommands, TaskRequest validation, and notifications
- HasFrequenciesTest: frequency creation, removal on update, deletion on type change
- TotemCommandsTest: no-filter passthrough, whitelist, blacklist filtering
- TaskRequestTest: required fields, cron validation, frequency, email/phone format
- VonageNotificationTest: mail/slack channels and toMail()/toSlack() content
- Add laravel/slack-notification-channel to require-dev and suggest
(toSlack() requires this package, same pattern as Vonage)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>1 parent 32a3ca7 commit dd0aa0d
73 files changed
Lines changed: 1491 additions & 67252 deletions
File tree
- .github/workflows
- config
- database/migrations
- public
- css
- js
- resources
- assets/js
- components
- composables
- tasks/components
- utils
- views
- dialogs/frequencies
- tasks
- routes
- src
- Console/Commands
- Database
- Http
- Controllers
- Requests
- Notifications
- Providers
- Repositories
- Rules
- Traits
- tests
- Feature
- Rules
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
34 | 36 | | |
35 | 37 | | |
36 | 38 | | |
37 | | - | |
| 39 | + | |
| 40 | + | |
38 | 41 | | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
42 | | - | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
46 | 48 | | |
47 | 49 | | |
48 | 50 | | |
49 | 51 | | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
50 | 57 | | |
51 | 58 | | |
52 | 59 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
224 | | - | |
225 | | - | |
226 | 223 | | |
227 | 224 | | |
228 | 225 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
40 | | - | |
| 39 | + | |
| 40 | + | |
41 | 41 | | |
42 | 42 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
| 33 | + | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
| 34 | + | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
| 33 | + | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
| 30 | + | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
Lines changed: 6 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
| 30 | + | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
| |||
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
17 | | - | |
| 16 | + | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
| 29 | + | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
0 commit comments