func (*MessagesController) insertTopicDM(userFrom, userTo models.User) (models.Topic, error) { var topic = models.Topic{} topicName := "/Private/" + userFrom.Username + "/DM/" + userTo.Username topic.Topic = topicName topic.Description = userTo.Fullname err := topic.Insert(&userFrom) if err != nil { log.Errorf("Error while InsertTopic %s", err) return topic, err } return topic, nil }
func (*MessagesController) checkTopicParentDM(user models.User) error { topicName := "/Private/" + user.Username + "/DM" var topicParent = models.Topic{} err := topicParent.FindByTopic(topicName, false) if err != nil { topicParent.Topic = topicName topicParent.Description = "DM Topics" err = topicParent.Insert(&user) if err != nil { log.Errorf("Error while InsertTopic Parent %s", err) return err } } return nil }
// Create creates a new topic func (*TopicsController) Create(ctx *gin.Context) { var topicIn topicCreateJSON ctx.Bind(&topicIn) var user = models.User{} err := user.FindByUsername(utils.GetCtxUsername(ctx)) if err != nil { ctx.JSON(http.StatusInternalServerError, gin.H{"error": "Error while fetching user."}) return } var topic models.Topic topic.Topic = topicIn.Topic topic.Description = topicIn.Description err = topic.Insert(&user) if err != nil { log.Errorf("Error while InsertTopic %s", err) ctx.JSON(http.StatusInternalServerError, err) return } ctx.JSON(http.StatusCreated, topic) }