feat: Implement notification service and integrate with user interactions

- Added notification service to handle sending and listing notifications.
- Integrated notification sending on user follow and order payment events.
- Updated user service to include fetching followed tenants.
- Enhanced content service to manage access control for content assets.
- Implemented logic for listing content topics based on genre.
- Updated creator service to manage content updates and pricing.
- Improved order service to include detailed order information and notifications.
- Added tests for notification CRUD operations and order details.
This commit is contained in:
2025-12-30 09:57:12 +08:00
parent 9ef9642965
commit 5cf2295f91
14 changed files with 741 additions and 52 deletions

View File

@@ -32,6 +32,13 @@ func Provide(opts ...opt.Option) error {
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*notification, error) {
obj := &notification{}
return obj, nil
}); err != nil {
return err
}
if err := container.Container.Provide(func() (*order, error) {
obj := &order{}
@@ -44,6 +51,7 @@ func Provide(opts ...opt.Option) error {
content *content,
creator *creator,
db *gorm.DB,
notification *notification,
order *order,
super *super,
tenant *tenant,
@@ -51,15 +59,16 @@ func Provide(opts ...opt.Option) error {
wallet *wallet,
) (contracts.Initial, error) {
obj := &services{
common: common,
content: content,
creator: creator,
db: db,
order: order,
super: super,
tenant: tenant,
user: user,
wallet: wallet,
common: common,
content: content,
creator: creator,
db: db,
notification: notification,
order: order,
super: super,
tenant: tenant,
user: user,
wallet: wallet,
}
if err := obj.Prepare(); err != nil {
return nil, err