37 lines
1.0 KiB
Go
37 lines
1.0 KiB
Go
package template
|
|
|
|
import (
|
|
"github.com/google/uuid"
|
|
"github.com/uptrace/bun"
|
|
)
|
|
|
|
type template struct {
|
|
bun.BaseModel `bun:"table:templates,alias:template"`
|
|
|
|
ID uuid.UUID `bun:"type:uuid,pk" json:"-"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
CreatedOn string `json:"createdOn"`
|
|
LastModifiedOn string `json:"lastModifiedOn"`
|
|
IsBuilt bool `json:"isBuilt"`
|
|
|
|
Files []*templateFile `bun:"rel:has-many,join:id=template_id" json:"-"`
|
|
FileMap map[string]*templateFile `bun:"-" json:"files"`
|
|
}
|
|
|
|
type templateFile struct {
|
|
bun.BaseModel `bun:"table:template_files,alias:template_file"`
|
|
|
|
TemplateID uuid.UUID `bun:"type:uuid" json:"-"`
|
|
FilePath string `json:"path"`
|
|
Content []byte `bun:"type:blob" json:"content"`
|
|
}
|
|
|
|
type TemplateImage struct {
|
|
bun.BaseModel `bun:"table:template_images,alias:template_images"`
|
|
|
|
TemplateID uuid.UUID `bun:"type:uuid" json:"-"`
|
|
ImageTag string `json:"imageTag"`
|
|
ImageID string `json:"imageId"`
|
|
}
|