T2: Database Schema + All Migrations - 10 migrations: users extension, services, songs, song_groups, song_slides, song_arrangements, song_arrangement_groups, service_songs, slides, cts_sync_log - 9 Eloquent models with relationships and casts - 9 factory classes for testing - Tests: DatabaseSchemaTest (2 tests, 26 assertions) ✅ T3: ChurchTools OAuth Provider - Custom Socialite provider for ChurchTools OAuth2 - AuthController with redirect/callback/logout - Replaced Breeze login with OAuth-only (German UI) - Removed all Breeze register/password-reset pages - Tests: OAuthTest (9 tests, 54 assertions) ✅ T4: CTS API Service + Sync Command - ChurchToolsService wrapping 5pm-HDH/churchtools-api - SyncChurchToolsCommand (php artisan cts:sync) - SyncController for refresh button - CCLI-based song matching - Tests: ChurchToolsSyncTest (2 tests) ✅ T5: File Conversion Service - FileConversionService with letterbox/pillarbox to 1920×1080 - ConvertPowerPointJob (queued) with LibreOffice + spatie/pdf-to-image - ZIP extraction and recursive processing - Thumbnail generation (320×180) - Tests: FileConversionTest (2 tests, 21 assertions) ✅ T6: Shared Vue Components - AuthenticatedLayout with nav, user info, refresh button - useAutoSave composable (500ms debounce) - FlashMessage, ConfirmDialog, LoadingSpinner components - HandleInertiaRequests middleware with shared props - Tests: SharedPropsTest (7 tests) ✅ T7: Email Configuration - MissingSongRequest mailable (German) - Email template with song info and service link - SONG_REQUEST_EMAIL config - Tests: MissingSongMailTest (2 tests, 10 assertions) ✅ All tests passing: 30/30 (233 assertions) All UI text in German with 'Du' form Wave 1 complete: 7/7 tasks ✅
33 lines
2.2 KiB
Plaintext
33 lines
2.2 KiB
Plaintext
time="2026-03-01T19:25:20+01:00" level=warning msg="/Users/thorsten/AI/cts-work/docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
|
|
|
|
> build
|
|
> vite build
|
|
|
|
vite v7.3.1 building client environment for production...
|
|
transforming...
|
|
✓ 784 modules transformed.
|
|
rendering chunks...
|
|
computing gzip size...
|
|
public/build/manifest.json 7.31 kB │ gzip: 0.90 kB
|
|
public/build/assets/app-DmWltKVM.css 51.56 kB │ gzip: 9.08 kB
|
|
public/build/assets/_plugin-vue_export-helper-DlAUqK2U.js 0.09 kB │ gzip: 0.10 kB
|
|
public/build/assets/PrimaryButton-mpvOc2jF.js 0.55 kB │ gzip: 0.38 kB
|
|
public/build/assets/GuestLayout-Bfh8jlss.js 0.56 kB │ gzip: 0.40 kB
|
|
public/build/assets/Dashboard-BKIdG5wF.js 0.73 kB │ gzip: 0.47 kB
|
|
public/build/assets/TextInput-EaSAg8Rp.js 1.05 kB │ gzip: 0.59 kB
|
|
public/build/assets/Edit-D8wcA1TZ.js 1.23 kB │ gzip: 0.67 kB
|
|
public/build/assets/ConfirmPassword-5FXNzWX9.js 1.34 kB │ gzip: 0.76 kB
|
|
public/build/assets/ForgotPassword-Cmz40c62.js 1.52 kB │ gzip: 0.87 kB
|
|
public/build/assets/VerifyEmail-D63zqc5n.js 1.60 kB │ gzip: 0.92 kB
|
|
public/build/assets/ResetPassword-Boa5zZGJ.js 2.08 kB │ gzip: 0.85 kB
|
|
public/build/assets/Register-DIIrlql3.js 2.54 kB │ gzip: 0.98 kB
|
|
public/build/assets/UpdatePasswordForm-BHHWCAaH.js 2.58 kB │ gzip: 1.01 kB
|
|
public/build/assets/UpdateProfileInformationForm-CpR_pYA7.js 2.60 kB │ gzip: 1.22 kB
|
|
public/build/assets/Login-Y39w2pjq.js 2.75 kB │ gzip: 1.29 kB
|
|
public/build/assets/ApplicationLogo-Vi50890Y.js 3.25 kB │ gzip: 1.44 kB
|
|
public/build/assets/DeleteUserForm-DUQ1pkPb.js 5.09 kB │ gzip: 2.10 kB
|
|
public/build/assets/AuthenticatedLayout-BQ1sV8GT.js 6.93 kB │ gzip: 2.29 kB
|
|
public/build/assets/Welcome-DekM14C9.js 18.71 kB │ gzip: 6.16 kB
|
|
public/build/assets/app-CK2TOLa8.js 254.85 kB │ gzip: 90.07 kB
|
|
✓ built in 2.56s
|