templates

package
v0.0.39 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 5, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandleCreateTemplate

func HandleCreateTemplate(c *gin.Context)

TemplateCreate godoc @Summary Create template @Schemes @Description Create a template @Tags Templates @Accept json @Produce json @Param request body CreateTemplateRequestBody true "Template data" @Success 201 {object} []models.WorkspaceTemplate @Router /api/v1/templates [post]

func HandleCreateTemplateVersionEntry

func HandleCreateTemplateVersionEntry(c *gin.Context)

CreateTemplateVersionEntry godoc @Summary Create new template version entry @Schemes @Description Create new template version entry @Tags Templates @Accept json @Produce json @Param request body CreateTemplateVersionEntryRequestBody true "Template version entry data" @Success 201 {object} targz.TarEntry @Router /api/v1/templates/:templateId/versions/:templateId/entries [post]

func HandleDeleteTemplateVersionEntry

func HandleDeleteTemplateVersionEntry(c *gin.Context)

DeleteTemplateVersionEntry godoc @Summary Delete template version entry @Schemes @Description Delete template version entry @Tags Templates @Accept json @Produce json @Success 204 @Router /api/v1/templates/:templateId/versions/:templateId/entries/:path [delete]

func HandleDeleteWorkspace

func HandleDeleteWorkspace(c *gin.Context)

TemplateDelete godoc @Summary Delete template @Schemes @Description Delete a template @Tags Templates @Accept json @Produce json @Success 204 {object} []models.WorkspaceTemplate @Router /api/v1/templates/:templateId [delete]

func HandleListTemplateVersionEntries

func HandleListTemplateVersionEntries(c *gin.Context)

ListTemplateVersionEntries godoc @Summary List template version entries @Schemes @Description List template version entries @Tags Templates @Accept json @Produce json @Success 201 {object} []targz.TarTreeItem @Router /api/v1/templates/:templateId/versions/:versionId/entries [get]

func HandleListTemplateVersionsByTemplate

func HandleListTemplateVersionsByTemplate(c *gin.Context)

TemplateVersionByTemplateList godoc @Summary List template versions by template @Schemes @Description List all template versions by template @Tags Templates @Accept json @Produce json @Success 200 {object} []models.WorkspaceTemplateVersion @Router /api/v1/templates/:templateId/versions [get]

func HandleListTemplates

func HandleListTemplates(c *gin.Context)

TemplatesList godoc @Summary List templates @Schemes @Description List all templates @Tags Templates @Accept json @Produce json @Success 200 {object} []models.WorkspaceTemplate @Router /api/v1/templates [get]

func HandleListWorkspacesByTemplate

func HandleListWorkspacesByTemplate(c *gin.Context)

ListWorkspacesByTemplate godoc @Summary List workspaces that use a template @Schemes @Description List workspaces that use a template @Tags Templates @Accept json @Produce json @Success 204 {object} []models.Workspace @Router /api/v1/templates/:templateId [put]

func HandleRetrieveLatestTemplateVersionByTemplate

func HandleRetrieveLatestTemplateVersionByTemplate(c *gin.Context)

HandleRetrieveLatestTemplateVersionByTemplate godoc @Summary Retrieve the latest template version @Schemes @Description Retrieve the latest template version @Tags Templates @Accept json @Produce json @Success 200 {object} models.WorkspaceTemplateVersion @Router /api/v1/templates/:templateId/latest-version [get]

func HandleRetrieveTemplate

func HandleRetrieveTemplate(c *gin.Context)

TemplatesRetrieve godoc @Summary Retrieve template by id @Schemes @Description Retrieve a template by id @Tags Templates @Param id path string true "Template ID" @Accept json @Produce json @Success 200 {object} models.WorkspaceTemplate @Router /api/v1/templates/:id [get]

func HandleRetrieveTemplateByName

func HandleRetrieveTemplateByName(c *gin.Context)

TemplatesRetrieve godoc @Summary Retrieve template by name @Schemes @Description Retrieve a template by name @Tags Templates @Param name path string true "Template name" @Accept json @Produce json @Success 200 {object} models.WorkspaceTemplate @Router /api/v1/templates-by-name/:name [get]

func HandleRetrieveTemplateVersionByTemplate

func HandleRetrieveTemplateVersionByTemplate(c *gin.Context)

RetrieveTemplateVersionByTemplate godoc @Summary Retrieve template version by id @Schemes @Description Retrieve template version by id @Tags Templates @Accept json @Produce json @Success 200 {object} models.WorkspaceTemplateVersion @Router /api/v1/templates/:templateId/versions/:versionId [get]

func HandleRetrieveTemplateVersionFile

func HandleRetrieveTemplateVersionFile(c *gin.Context)

RetrieveTemplateVersionFile godoc @Summary Retrieve template version entry @Schemes @Description Retrieve template version entry @Tags Templates @Accept json @Produce json @Success 201 {object} targz.TarEntry @Router /api/v1/templates/:templateId/versions/:versionId/entries/:path [get]

func HandleUpdateTemplate

func HandleUpdateTemplate(c *gin.Context)

TemplateUpdate godoc @Summary Update template @Schemes @Description Update a template @Tags Templates @Accept json @Produce json @Param request body UpdateTemplateRequestBody true "Template data" @Success 200 {object} []models.WorkspaceTemplate @Router /api/v1/templates/:templateId [put]

func HandleUpdateTemplateVersionByTemplate

func HandleUpdateTemplateVersionByTemplate(c *gin.Context)

UpdateTemplateversionByTemplate godoc @Summary Update a template version @Schemes @Description Update a template version @Tags Templates @Accept json @Produce json @Param request body UpdateTemplateVersionRequestBody true "Template version data" @Success 200 {object} models.WorkspaceTemplateVersion @Router /api/v1/templates/:templateId/versions/:versionId [put]

func HandleUpdateTemplateVersionEntry

func HandleUpdateTemplateVersionEntry(c *gin.Context)

CreateTemplateVersionEntry godoc @Summary Updates a template version entry @Schemes @Description Updates a template version entry @Tags Templates @Accept json @Produce json @Param request body UpdateTemplateVersionEntryRequestBody true "Template version entry data" @Success 200 {object} targz.TarEntry @Router /api/v1/templates/:templateId/versions/:templateId/entries/:path [put]

Types

type CreateTemplateRequestBody

type CreateTemplateRequestBody struct {
	Name        string `json:"name" binding:"required"`
	Type        string `json:"type" binding:"required"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
}

type CreateTemplateVersionEntryRequestBody

type CreateTemplateVersionEntryRequestBody struct {
	Path    string `json:"path" binding:"required"` // must start with a .
	Type    string `json:"type" binding:"required"`
	Content string `json:"content"`
}

type UpdateTemplateRequestBody

type UpdateTemplateRequestBody struct {
	Name        string `json:"name" binding:"required"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
}

type UpdateTemplateVersionEntryRequestBody

type UpdateTemplateVersionEntryRequestBody struct {
	Path    string  `json:"path" binding:"required"`
	Content *string `json:"content" binding:"required"`
}

type UpdateTemplateVersionRequestBody

type UpdateTemplateVersionRequestBody struct {
	Name           string `json:"name" binding:"required,min=1"`
	Published      bool   `json:"published"`
	ConfigFilePath string `json:"config_file_path"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL