Ejemplo n.º 1
0
func CreateTemplateResource(c *gin.Context) {
	template_hash := c.Params.ByName("template_hash")
	resource_type := c.Params.ByName("file_or_release")

	//DEBUG
	fmt.Println(template_hash)
	fmt.Println(resource_type)

	if resource_type != "files" && resource_type != "release_info" {
		c.String(http.StatusBadRequest, "Unsupport method")
	} else {
		var template tf.Template
		template.Template_hash = template_hash

		if resource_type == "release_info" {
			var payload tf.ReleaseInfo
			c.Bind(&payload)
			if err := template.CreateTemplateRelease(payload); err != nil {
				c.String(http.StatusInternalServerError, fmt.Sprintf("Failed to created template release.  Error %s", err))
			} else {
				c.String(http.StatusOK, "A release has been created successfully")
			}
		} else {
			var payload tf.File
			c.Bind(&payload)

			if err := template.AddTemplateFile(payload); err != nil {
				c.String(http.StatusInternalServerError, fmt.Sprintf("Failed to add template file.  Error: %s", err))
			} else {
				c.String(http.StatusOK, "A template file has been add successfully")
			}

		}
	}
}