当前位置: 首页>>代码示例>>Golang>>正文


Golang UpdatePlaylistCommand.Result方法代码示例

本文整理汇总了Golang中github.com/grafana/grafana/pkg/models.UpdatePlaylistCommand.Result方法的典型用法代码示例。如果您正苦于以下问题:Golang UpdatePlaylistCommand.Result方法的具体用法?Golang UpdatePlaylistCommand.Result怎么用?Golang UpdatePlaylistCommand.Result使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/grafana/grafana/pkg/models.UpdatePlaylistCommand的用法示例。


在下文中一共展示了UpdatePlaylistCommand.Result方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: UpdatePlaylist

func UpdatePlaylist(cmd *m.UpdatePlaylistCommand) error {
	var err error
	playlist := m.Playlist{
		Id:       cmd.Id,
		OrgId:    cmd.OrgId,
		Name:     cmd.Name,
		Interval: cmd.Interval,
	}

	existingPlaylist := x.Where("id = ? AND org_id = ?", cmd.Id, cmd.OrgId).Find(m.Playlist{})

	if existingPlaylist == nil {
		return m.ErrPlaylistNotFound
	}

	cmd.Result = &m.PlaylistDTO{
		Id:       playlist.Id,
		OrgId:    playlist.OrgId,
		Name:     playlist.Name,
		Interval: playlist.Interval,
	}

	_, err = x.Id(cmd.Id).Cols("id", "name", "interval").Update(&playlist)

	if err != nil {
		return err
	}

	rawSql := "DELETE FROM playlist_item WHERE playlist_id = ?"
	_, err = x.Exec(rawSql, cmd.Id)

	if err != nil {
		return err
	}

	playlistItems := make([]m.PlaylistItem, 0)

	for _, item := range cmd.Items {
		playlistItems = append(playlistItems, m.PlaylistItem{
			PlaylistId: playlist.Id,
			Type:       item.Type,
			Value:      item.Value,
			Order:      item.Order,
			Title:      item.Title,
		})
	}

	_, err = x.Insert(&playlistItems)

	return err
}
开发者ID:Robin7Ma,项目名称:grafana,代码行数:51,代码来源:playlist.go


注:本文中的github.com/grafana/grafana/pkg/models.UpdatePlaylistCommand.Result方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。