[MM-55212] Migrate server/channels/app/channel.go to make use of GenericStoreResult (#25262)

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

* Make use of GenericStoreResult in channels/app/channel.go

---------

Co-authored-by: fazil-syed <fazil@Gojo>
Co-authored-by: Mattermost Build <build@mattermost.com>
This commit is contained in:
Syed Fazil 2023-11-03 17:20:25 +05:30 committed by GitHub
parent 19eeccceb5
commit b2abd533a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2193,16 +2193,16 @@ func (a *App) GetChannelUnread(c request.CTX, channelID, userID string) (*model.
} }
func (a *App) JoinChannel(c request.CTX, channel *model.Channel, userID string) *model.AppError { func (a *App) JoinChannel(c request.CTX, channel *model.Channel, userID string) *model.AppError {
userChan := make(chan store.StoreResult, 1) userChan := make(chan store.GenericStoreResult[*model.User], 1)
memberChan := make(chan store.StoreResult, 1) memberChan := make(chan store.GenericStoreResult[*model.ChannelMember], 1)
go func() { go func() {
user, err := a.Srv().Store().User().Get(context.Background(), userID) user, err := a.Srv().Store().User().Get(context.Background(), userID)
userChan <- store.StoreResult{Data: user, NErr: err} userChan <- store.GenericStoreResult[*model.User]{Data: user, NErr: err}
close(userChan) close(userChan)
}() }()
go func() { go func() {
member, err := a.Srv().Store().Channel().GetMember(context.Background(), channel.Id, userID) member, err := a.Srv().Store().Channel().GetMember(context.Background(), channel.Id, userID)
memberChan <- store.StoreResult{Data: member, NErr: err} memberChan <- store.GenericStoreResult[*model.ChannelMember]{Data: member, NErr: err}
close(memberChan) close(memberChan)
}() }()
@ -2223,7 +2223,7 @@ func (a *App) JoinChannel(c request.CTX, channel *model.Channel, userID string)
return nil return nil
} }
user := uresult.Data.(*model.User) user := uresult.Data
if channel.Type != model.ChannelTypeOpen { if channel.Type != model.ChannelTypeOpen {
return model.NewAppError("JoinChannel", "api.channel.join_channel.permissions.app_error", nil, "", http.StatusBadRequest) return model.NewAppError("JoinChannel", "api.channel.join_channel.permissions.app_error", nil, "", http.StatusBadRequest)
@ -2294,24 +2294,24 @@ func (a *App) postJoinTeamMessage(c request.CTX, user *model.User, channel *mode
} }
func (a *App) LeaveChannel(c request.CTX, channelID string, userID string) *model.AppError { func (a *App) LeaveChannel(c request.CTX, channelID string, userID string) *model.AppError {
sc := make(chan store.StoreResult, 1) sc := make(chan store.GenericStoreResult[*model.Channel], 1)
go func() { go func() {
channel, err := a.Srv().Store().Channel().Get(channelID, true) channel, err := a.Srv().Store().Channel().Get(channelID, true)
sc <- store.StoreResult{Data: channel, NErr: err} sc <- store.GenericStoreResult[*model.Channel]{Data: channel, NErr: err}
close(sc) close(sc)
}() }()
uc := make(chan store.StoreResult, 1) uc := make(chan store.GenericStoreResult[*model.User], 1)
go func() { go func() {
user, err := a.Srv().Store().User().Get(context.Background(), userID) user, err := a.Srv().Store().User().Get(context.Background(), userID)
uc <- store.StoreResult{Data: user, NErr: err} uc <- store.GenericStoreResult[*model.User]{Data: user, NErr: err}
close(uc) close(uc)
}() }()
mcc := make(chan store.StoreResult, 1) mcc := make(chan store.GenericStoreResult[int64], 1)
go func() { go func() {
count, err := a.Srv().Store().Channel().GetMemberCount(channelID, false) count, err := a.Srv().Store().Channel().GetMemberCount(channelID, false)
mcc <- store.StoreResult{Data: count, NErr: err} mcc <- store.GenericStoreResult[int64]{Data: count, NErr: err}
close(mcc) close(mcc)
}() }()
@ -2340,9 +2340,9 @@ func (a *App) LeaveChannel(c request.CTX, channelID string, userID string) *mode
return model.NewAppError("LeaveChannel", "app.channel.get_member_count.app_error", nil, "", http.StatusInternalServerError).Wrap(ccresult.NErr) return model.NewAppError("LeaveChannel", "app.channel.get_member_count.app_error", nil, "", http.StatusInternalServerError).Wrap(ccresult.NErr)
} }
channel := cresult.Data.(*model.Channel) channel := cresult.Data
user := uresult.Data.(*model.User) user := uresult.Data
membersCount := ccresult.Data.(int64) membersCount := ccresult.Data
if channel.IsGroupOrDirect() { if channel.IsGroupOrDirect() {
err := model.NewAppError("LeaveChannel", "api.channel.leave.direct.app_error", nil, "", http.StatusBadRequest) err := model.NewAppError("LeaveChannel", "api.channel.leave.direct.app_error", nil, "", http.StatusBadRequest)