Feat: push movie resp movie info #133

pull/150/head
zijiren233 10 months ago
parent ba271fd528
commit e263d96376

@ -127,19 +127,19 @@ func (u *User) NewMovie(movie *model.BaseMovie) (*model.Movie, error) {
}, nil
}
func (u *User) AddRoomMovie(room *Room, movie *model.BaseMovie) error {
func (u *User) AddRoomMovie(room *Room, movie *model.BaseMovie) (*model.Movie, error) {
if !u.HasRoomPermission(room, model.PermissionAddMovie) {
return model.ErrNoPermission
return nil, model.ErrNoPermission
}
m, err := u.NewMovie(movie)
if err != nil {
return err
return nil, err
}
err = room.AddMovie(m)
if err != nil {
return err
return nil, err
}
return room.Broadcast(&pb.ElementMessage{
return m, room.Broadcast(&pb.ElementMessage{
Type: pb.ElementMessageType_MOVIES_CHANGED,
MoviesChanged: &pb.Sender{
Username: u.Username,
@ -160,19 +160,19 @@ func (u *User) NewMovies(movies []*model.BaseMovie) ([]*model.Movie, error) {
return ms, nil
}
func (u *User) AddRoomMovies(room *Room, movies []*model.BaseMovie) error {
func (u *User) AddRoomMovies(room *Room, movies []*model.BaseMovie) ([]*model.Movie, error) {
if !u.HasRoomPermission(room, model.PermissionAddMovie) {
return model.ErrNoPermission
return nil, model.ErrNoPermission
}
m, err := u.NewMovies(movies)
if err != nil {
return err
return nil, err
}
err = room.AddMovies(m)
if err != nil {
return err
return nil, err
}
return room.Broadcast(&pb.ElementMessage{
return m, room.Broadcast(&pb.ElementMessage{
Type: pb.ElementMessageType_MOVIES_CHANGED,
MoviesChanged: &pb.Sender{
Username: u.Username,

@ -203,7 +203,7 @@ func PushMovie(ctx *gin.Context) {
return
}
err := user.AddRoomMovie(room, (*dbModel.BaseMovie)(&req))
m, err := user.AddRoomMovie(room, (*dbModel.BaseMovie)(&req))
if err != nil {
log.Errorf("push movie error: %v", err)
if errors.Is(err, dbModel.ErrNoPermission) {
@ -219,7 +219,7 @@ func PushMovie(ctx *gin.Context) {
return
}
ctx.Status(http.StatusNoContent)
ctx.JSON(http.StatusOK, model.NewApiDataResp(m))
}
func PushMovies(ctx *gin.Context) {
@ -240,7 +240,7 @@ func PushMovies(ctx *gin.Context) {
ms[i] = m
}
err := user.AddRoomMovies(room, ms)
m, err := user.AddRoomMovies(room, ms)
if err != nil {
log.Errorf("push movies error: %v", err)
if errors.Is(err, dbModel.ErrNoPermission) {
@ -256,7 +256,7 @@ func PushMovies(ctx *gin.Context) {
return
}
ctx.Status(http.StatusNoContent)
ctx.JSON(http.StatusOK, model.NewApiDataResp(m))
}
func NewPublishKey(ctx *gin.Context) {

Loading…
Cancel
Save