This issue covers a comprehensive set of updates, refactoring, and enhancements across various components of the application, focusing on live broadcasts, events, localization, database schema, and controller methods.
Tasks
Rename and Fix Issues:
Rename Unblock to Unblocked in BlockStatus.
Fix the incorrect table name in BlockUser.
Code Refactoring:
Add final modifiers to method variables and parameters for immutability.
Refactor CreateLiveBroadcastRequest to extend LiveBroadcastRequest.
Move classes, including DataForCreateStreamResponse, to the broadcast package.
Refactor EventController and LiveBroadcastController to move @PreAuthorize annotations from the class level to individual route handler methods.
Refactor EventService, LiveBroadcastService, and LiveBroadcastServiceImpl for better code organization.
Move common or shared methods to StreamService.
Database Updates:
Refactor the Liquibase create-schema SQL file to:
Fix bugs and typos.
Add timestamp columns (created_on & updated_on).
Modify column options, including title and description in the stream_speaker table.
Class and Variable Modifications:
Rename EventAttendeeResponse.java and EventAttendeesResponse.java to EventOrStreamAttendeeResponse and EventOrStreamAttendeesResponse.java.
Add getVisibility() method in LiveBroadcastRequest.
Change the variable modifier for accessToken from private to protected in relevant classes.
Update Controllers:
Add new route handler methods in UserLiveBroadcastController.
Update RescheduleLiveBroadcastRequest, UpdateLiveBroadcastRequest, and UpdateLiveBroadcastVisibilityRequest to include accessToken.
Localization:
Add localized responses and update message sources to support internationalization (i18n).
Other Enhancements:
Refactor StreamAttendeeMapper.
Update LiveBroadcastServiceImpl.java to list assignable categories using YouTubeChannelService.listAssignableCategories().
Refactor and add new classes, including TotalStreamsAttendedByUserResponse and TotalStreamsCreatedByUserResponse.
Notes
Ensure that all changes are thoroughly tested, especially modifications related to schema updates and controller refactoring.
This issue aims to improve the application's code quality, maintainability, and internationalization support.
Expected Outcome
Successful completion of these tasks will result in a more organized codebase, enhanced internationalization support, improved database schema, and more flexible and descriptive controller methods.
Description
This issue covers a comprehensive set of updates, refactoring, and enhancements across various components of the application, focusing on live broadcasts, events, localization, database schema, and controller methods.
Tasks
Rename and Fix Issues:
Unblock
toUnblocked
inBlockStatus
.BlockUser
.Code Refactoring:
final
modifiers to method variables and parameters for immutability.CreateLiveBroadcastRequest
to extendLiveBroadcastRequest
.DataForCreateStreamResponse
, to the broadcast package.EventController
andLiveBroadcastController
to move@PreAuthorize
annotations from the class level to individual route handler methods.EventService
,LiveBroadcastService
, andLiveBroadcastServiceImpl
for better code organization.StreamService
.Database Updates:
create-schema
SQL file to:created_on
&updated_on
).title
anddescription
in thestream_speaker
table.Class and Variable Modifications:
EventAttendeeResponse.java
andEventAttendeesResponse.java
toEventOrStreamAttendeeResponse
andEventOrStreamAttendeesResponse.java
.getVisibility()
method inLiveBroadcastRequest
.accessToken
fromprivate
toprotected
in relevant classes.Update Controllers:
UserLiveBroadcastController
.RescheduleLiveBroadcastRequest
,UpdateLiveBroadcastRequest
, andUpdateLiveBroadcastVisibilityRequest
to includeaccessToken
.Localization:
Other Enhancements:
StreamAttendeeMapper
.LiveBroadcastServiceImpl.java
to list assignable categories usingYouTubeChannelService.listAssignableCategories()
.TotalStreamsAttendedByUserResponse
andTotalStreamsCreatedByUserResponse
.Notes
Expected Outcome
Successful completion of these tasks will result in a more organized codebase, enhanced internationalization support, improved database schema, and more flexible and descriptive controller methods.