This commit introduces comprehensive functionality for managing unsubscribe lists within the application. Key changes include:
- Creation of new DTOs, services, repositories, and controllers for unsubscribe list operations.
- Updates to `MailingsController.cs` and `TestEmailListsController.cs` to include necessary using directives.
- Registration of `IUnsubscribeListService` and `IUnsubscribeListRepository` in `Program.cs`.
- Implementation of the `UnsubscribeListsController` with API endpoints for CRUD operations.
- Introduction of the `UnsubscribeList` entity and its mapping to database columns.
- Modifications to existing classes, including `Mailing` and `Target`, to reference unsubscribe lists.
- Frontend updates to TypeScript interfaces and components for displaying and selecting unsubscribe lists.
These enhancements provide a more robust email management system.
- Implemented Logout and RefreshToken methods in AuthenticationController.
- Added IMailingService and IMailingRepository to Program.cs.
- Updated project structure in Surge365.MassEmailReact.API.csproj.
- Modified API host address and endpoints in Server.http.
- Introduced AuthAppCode in appsettings.json for context distinction.
- Changed GenerateTokens method to async in IAuthService.
- Initialized string properties in User.cs to avoid null values.
- Added new Mailing mapping in DapperConfiguration.cs.
- Created MailingsController for handling mailing operations.
- Developed Mailing, MailingUpdateDto, IMailingService, and IMailingRepository classes.
- Updated frontend with MailingEdit and NewMailings components.
- Enhanced authentication handling in AuthCheck.tsx and AuthContext.tsx.
- Introduced ProtectedPageWrapper for route protection based on roles.
- Added EmailList component for email input validation.
- Updated utils.ts for token and cookie management functions.
- Modified vite.config.ts for new HTTPS certificate name.
- Updated CHANGELOG.md to reflect recent changes.
Updated `AuthenticationController` with new methods for authentication, token refresh, and password recovery. Improved error handling and response structure.
Refactored dependency injection in `Program.cs` and added JWT settings in `appsettings.json`. Removed unused `Class1.cs` files.
Introduced new DTOs for authentication requests and updated `IAuthService` and `IUserRepository` interfaces. Enhanced `User` class and added `AuthResult` enum for standardized responses.
Expanded `DataAccess` for better database operations and updated `UserRepository` and `AuthService` to implement new authentication logic.
Front-end changes include renaming variables for consistency and updating the `ForgotPasswordModal` and `Login.tsx` components to use usernames instead of email addresses.
Updated API proxy path in `vite.config.ts` and ensured proper typing for `API_BASE_URL` in global TypeScript definitions.
- Updated project setup to use Vite for React application.
- Removed unnecessary files and simplified configurations.
- Enhanced authentication and routing in the application.
- Improved code quality with ESLint and updated styles.
- Added new components for better user experience, including a password recovery modal.
- Updated documentation for clearer setup instructions.