本文整理汇总了Golang中github.com/joshheinrichs/httperr.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: AddPost
func AddPost(requesterID string, post *types.Post) httperr.Error {
jsonFields, err := json.Marshal(post.Fields)
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
err = db.Exec("INSERT INTO posts "+
"(p_postid, p_userid_creator, p_channelname, p_title, p_thumbnail, p_time, p_location, p_fields) "+
"VALUES (?, ?, ?, ?, ?, ?, ST_MakePoint(?,?), ?)",
post.ID, post.CreatorID, post.Channel, post.Title, post.Thumbnail, post.Time,
post.Location.Longitude, post.Location.Latitude, jsonFields).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例2: AddComment
func AddComment(requesterID string, comment *types.Comment) httperr.Error {
err := db.Create(comment).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例3: RemoveComment
func RemoveComment(requesterID, commentID string) httperr.Error {
err := db.Where("cmd_commentid = ?", commentID).Delete(&types.Comment{}).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例4: AddChannel
func AddChannel(channel *types.Channel) httperr.Error {
err := db.Create(channel).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例5: AddUser
// AddUser adds the given User to the database, or returns an error if the
// insertion was unsuccessful.
func AddUser(user *types.User) httperr.Error {
err := db.Create(user).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例6: GetComments
func GetComments(requesterID, postID string) ([]*types.Comment, httperr.Error) {
var comments []*types.Comment
err := db.Where("cmt_postid = ?", postID).Order("cmt_time").Find(&comments).Error
if err != nil {
return nil, httperr.New(err.Error(), http.StatusInternalServerError)
}
return comments, nil
}
示例7: IsCommentCreator
func IsCommentCreator(requesterID, userID, commentID string) (bool, httperr.Error) {
var comment types.Comment
err := db.Where("cmt_commentid = ?", commentID).First(&comment).Error
if err == gorm.ErrRecordNotFound {
return false, nil
} else if err != nil {
return false, httperr.New(err.Error(), http.StatusInternalServerError)
}
return true, nil
}
示例8: GetComment
// GetComment returns a comment with the given ID, or nil if it does not exist.
// An error is returned if some issue occurred with the database.
func GetComment(requesterID, commentID string) (*types.Comment, httperr.Error) {
var comment types.Comment
err := db.Where("cmt_commentid = ?", commentID).First(&comment).Error
if err != nil {
if err == gorm.ErrRecordNotFound {
return nil, nil
}
return nil, httperr.New(err.Error(), http.StatusInternalServerError)
}
return &comment, nil
}
示例9: GetUserByID
// GetUserByID returns the user with the given ID if one exists, nil otherwise.
// Returns an error if some error occurs within the database.
func GetUserByID(userID string) (*types.User, httperr.Error) {
var user types.User
err := db.Where("u_userid = ?", userID).First(&user).Error
if err != nil {
if err == gorm.ErrRecordNotFound {
return nil, nil
}
return nil, httperr.New(err.Error(), http.StatusInternalServerError)
}
return &user, nil
}
示例10: GetChannels
func GetChannels(requesterID string) ([]*types.PersonalizedChannelInfo, httperr.Error) {
var channels []*types.PersonalizedChannelInfo
err := db.Table("channels").
Joins("LEFT JOIN user_subscriptions ON (ch_channelname = us_channelname AND us_userid = ?)", requesterID).
Joins("LEFT JOIN users ON (u_userid = ch_userid_creator)").
Select("*, (us_channelname IS NOT NULL) AS subscribed").
Order("ch_channelname").Find(&channels).Error
if err != nil {
return nil, httperr.New(err.Error(), http.StatusInternalServerError)
}
return channels, nil
}
示例11: GetPost
func GetPost(requesterID, postID string) (*types.PersonalizedPost, httperr.Error) {
var post types.PersonalizedPost
err := db.Table("posts").
Where("p_postid = ?", postID).
Joins("LEFT JOIN user_favorites ON (p_postid = uf_postid AND uf_userid = ?)", requesterID).
Joins("LEFT JOIN users ON (u_userid = p_userid_creator)").
Select("*, (uf_postid IS NOT NULL) AS favorited, ST_AsText(p_location) AS location").
First(&post).Error
if err != nil {
return nil, httperr.New(err.Error(), http.StatusInternalServerError)
}
return &post, nil
}
示例12: RemoveFavorite
// RemoveFavorite removes the given post from the user with ID userID's set of
// favorites. This transaction is executed under the permission level of the
// requester. Returns an error if the requester does not have sufficient
// permission, or if some other error occurs within the database.
func RemoveFavorite(requesterID, userID, postID string) httperr.Error {
permission, httpErr := CanModifyFavorites(requesterID, userID)
if httpErr != nil {
return httpErr
} else if !permission {
return ErrInsufficientPermission
}
err := db.Exec("DELETE FROM user_favorites WHERE uf_userid = ? AND uf_postid = ?", requesterID, postID).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例13: AddFavorite
// AddFavorite adds the given post to the set of favorites for the user with ID
// userID. This transaction is executed under the permission level of the
// requester. Returns an error if the requester does not have sufficient
// permission, or if some other error occurs within the database.
func AddFavorite(requesterID, userID, postID string) httperr.Error {
permission, httpErr := CanModifyFavorites(requesterID, userID)
if httpErr != nil {
return httpErr
} else if !permission {
return ErrInsufficientPermission
}
err := db.Exec("INSERT INTO user_favorites (uf_userid, uf_postid) VALUES (?, ?)", requesterID, postID).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例14: RemoveSubscription
func RemoveSubscription(requesterID, userID, channelname string) httperr.Error {
permission, httpErr := CanModifySubscriptions(requesterID, userID)
if httpErr != nil {
return httpErr
} else if !permission {
return ErrInsufficientPermission
}
err := db.Exec("DELETE FROM user_subscriptions WHERE us_userid = ? AND us_channelname = ?", requesterID, channelname).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}
示例15: RemoveBan
// RemoveBan removes the user with ID userID from the ban list for the given
// channel. This transaction is executed under the permission level of the given
// requester. Returns an error if the requester does not have sufficient
// permission, or if some other error occurs within the database.
func RemoveBan(requesterID, userID, channelname string) error {
permission, httpErr := CanModifyBans(requesterID, channelname)
if httpErr != nil {
return httpErr
} else if !permission {
return ErrInsufficientPermission
}
err := db.Exec("DELETE FROM channel_bans WHERE chb_userid = ? and chb_channelname = ?", userID, channelname).Error
if err != nil {
return httperr.New(err.Error(), http.StatusInternalServerError)
}
return nil
}