refactor(server): decouple services and improve architecture
- Introduce interfaces for all major services (JWT, PostAI, Comment, Message, Notification, QRCodeLogin, Upload, Vote, etc.) to support dependency inversion. - Move query parameters from `internal/dto` to a new `internal/query` package to separate request payloads from data transfer objects. - Refactor `internal/router` to use embedded `RouterDeps` for cleaner dependency management. - Decouple handlers from repositories by injecting services instead of direct repository access, ensuring proper layering. - Improve database initialization by moving it from `internal/model` to `internal/database`. - Optimize message decryption by implementing a more efficient `BatchDecrypt` method in `MessageEncryptor` using a worker pool. - Enhance error handling and security by implementing fail-fast checks for encryption key length during startup. - Clean up unused code, including the `avatar` package and several unused DTOs.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
//go:build wireinject
|
||||
//go:build wireinject
|
||||
// +build wireinject
|
||||
|
||||
package main
|
||||
@@ -32,7 +32,7 @@ func ProvideRouter(
|
||||
messageHandler *handler.MessageHandler,
|
||||
notificationHandler *handler.NotificationHandler,
|
||||
uploadHandler *handler.UploadHandler,
|
||||
jwtService *service.JWTService,
|
||||
jwtService service.JWTService,
|
||||
pushHandler *handler.PushHandler,
|
||||
systemMessageHandler *handler.SystemMessageHandler,
|
||||
groupHandler *handler.GroupHandler,
|
||||
@@ -63,6 +63,7 @@ func ProvideRouter(
|
||||
logService *service.LogService,
|
||||
activityService service.UserActivityService,
|
||||
casbinService service.CasbinService,
|
||||
userService service.UserService,
|
||||
wsHandler *handler.WSHandler,
|
||||
liveKitHandler *handler.LiveKitHandler,
|
||||
) *router.Router {
|
||||
@@ -95,7 +96,7 @@ func ProvideRouter(
|
||||
QRCodeHandler: qrcodeHandler,
|
||||
MaterialHandler: materialHandler,
|
||||
CallHandler: callHandler,
|
||||
LiveKitHandler: liveKitHandler,
|
||||
LiveKitHandler: liveKitHandler,
|
||||
ReportHandler: reportHandler,
|
||||
AdminReportHandler: adminReportHandler,
|
||||
VerificationHandler: verificationHandler,
|
||||
@@ -106,6 +107,7 @@ func ProvideRouter(
|
||||
LogService: logService,
|
||||
ActivityService: activityService,
|
||||
CasbinService: casbinService,
|
||||
UserService: userService,
|
||||
WSHandler: wsHandler,
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user