✨ feat(profile): integrate email and fax fields in association profile
🆕 feat(migrations): create blind_indexes table for encrypted data
🔧 feat(model): implement CipherSweet in EinundzwanzigPleb for email encryption
🔧 config: add ciphersweet configuration file for encryption settings
🗄️ migration: add email field to einundzwanzig_plebs table for user data
This commit introduces a new field `archived_application_text` to the EinundzwanzigPleb model. The application text of a Pleb is now archived before the association status is updated and the application text is set to null. A migration file is also added to update the database schema.
- Added a check to update the 'paid' status of a user's paymentEvents if the current year's payment has been made
- Updated the user profile view to display past payments
- Added 'paymentEvents' to the query in EinundzwanzigPlebTable.php to fetch the current year's payments
- Added a 'payment' column to the table in EinundzwanzigPlebTable.php to display the amount of the user's current year's payment
- Added logic to handle multiple payment events in a user's profile
- Created a new PaymentEvent model and associated it with the EinundzwanzigPleb model
- Added a new migration for creating the payment_events table in the database
- Updated the profile.blade.php view to display all payment events for a user
- Added the `simplesoftwareio/simple-qrcode` package to the project
- Created a new JavaScript file `nostrZap.js` to handle Nostr events
- Added the `nostrZap` function to the Alpine.js data property in `app.js`
- Updated the `services.php` configuration file to include the `nostr` environment variable
- Created a new database migration to add a `payment_event` field to the `einundzwanzig_plebs` table
- Made adjustments in the `Election:year.blade.php` view file to handle potential null values
- Updated `composer.lock` and `package.json` with the new dependencies