//create a new templates func CreateTemplate(c *gin.Context) { type TemplatePayload struct { Template_name string `json:"template_name" binding:"required"` Commit_message string `json:"commit_message" binding:"required"` Files []tf.File `json:"files"` } var payload TemplatePayload c.Bind(&payload) var template tf.Template if &payload.Template_name == nil { c.String(http.StatusOK, "Template name is not provided") } else if &payload.Commit_message == nil { c.String(http.StatusOK, "Commit message is not provided") } else { template.Template_hash = tf.GenerateHashString() template.Template_name = payload.Template_name template.Release_info = tf.ReleaseInfo{"NULL", ""} template.Commit_info = tf.CommitInfo{"nguyener", time.Now().String(), payload.Commit_message, ""} template.Files = payload.Files if err := template.CreateTemplate(); err != nil { c.String(http.StatusInternalServerError, fmt.Sprintf("Failed to create new template. Error: %s", err)) } else { c.String(http.StatusOK, "A new template has been created successfully") } } }