Feat: push movie resp movie info #133

pull/150/head
zijiren233 2 years ago
parent ba271fd528
commit e263d96376

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

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

Loading…
Cancel
Save