Ejemplo n.º 1
0
//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")
		}
	}
}