// Code generated by hertz generator. package user import ( "acquaintances/biz/dal/mysql" "acquaintances/biz/model" user "acquaintances/biz/model/user" "acquaintances/biz/utils" "context" "github.com/cloudwego/hertz/pkg/app" "github.com/cloudwego/hertz/pkg/protocol/consts" ) // CreateChatGroup . // @router /v1/cg/ [POST] func CreateChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.CreateChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } data := &model.ChatGroupInfo{ChatGroupID: utils.GenerateChatGroupID(), ChatGroupName: req.ChatGroupName} err = mysql.CreateChatGroupInfo(req.UserID, data) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.CreateChatGroupRes) c.JSON(consts.StatusOK, resp) } // DeleteChatGroup . // @router /v1/cg/ [DELETE] func DeleteChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.DeleteChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } err = mysql.DeleteChatGroupInfo(req.ChatGroupID, req.UserID) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.DeleteChatGroupRes) c.JSON(consts.StatusOK, resp) } // UpdateChatGroup . // @router /v1/cg/ [PUT] func UpdateChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.UpdateChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } err = mysql.UpdatesChatGroupInfo(&req) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.UpdateChatGroupRes) c.JSON(consts.StatusOK, resp) } // ListChatGroupByUser . // @router /v1/cg/ [GET] func ListChatGroupByUser(ctx context.Context, c *app.RequestContext) { var err error var req user.ListChatGroupByUserReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } data, err := mysql.GetChatGroupListByUser(&req) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.ListChatGroupByUserRes) resp.ChatGroups = data resp.Total = int64(len(data)) c.JSON(consts.StatusOK, resp) } // ListUserChatGroup . // @router /v1/cg/users/ [GET] func ListUserChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.ListUserChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } data, err := mysql.GetUserListByChatGroup(&req) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.ListUserChatGroupRes) resp.Users = data resp.Total = int64(len(data)) c.JSON(consts.StatusOK, resp) } // JoinChatGroup . // @router /v1/cg/join/ [POST] func JoinChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.JoinChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } err = mysql.JoinChatGroup(&req) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.JoinChatGroupRes) c.JSON(consts.StatusOK, resp) } // ExitChatGroup . // @router /v1/cg/exit/ [POST] func ExitChatGroup(ctx context.Context, c *app.RequestContext) { var err error var req user.ExitChatGroupReq err = c.BindAndValidate(&req) if err != nil { c.JSON(consts.StatusBadRequest, err.Error()) return } err = mysql.ExitChatGroup(&req) if err != nil { c.JSON(consts.StatusInternalServerError, err.Error()) return } resp := new(user.ExitChatGroupRes) c.JSON(consts.StatusOK, resp) }