Files
insertr/internal/db/postgresql/collection_templates.sql.go
Joakim 2315ba4750 Implement complete collection persistence with database-backed survival across server restarts
• Add full multi-table schema for collections with normalized design (collections, collection_templates, collection_items, collection_item_versions)
• Implement collection detection and processing in enhancement pipeline for .insertr-add elements
• Add template extraction and storage from existing HTML children with multi-variant support
• Enable collection reconstruction from database on server restart with proper DOM rebuilding
• Extend ContentClient interface with collection operations and full database integration
• Update enhance command to use engine.DatabaseClient for collection persistence support
2025-09-22 18:29:58 +02:00

218 lines
5.8 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: collection_templates.sql
package postgresql
import (
"context"
)
const createCollectionTemplate = `-- name: CreateCollectionTemplate :one
INSERT INTO collection_templates (collection_id, site_id, name, html_template, is_default)
VALUES ($1, $2, $3, $4, $5)
RETURNING template_id, collection_id, site_id, name, html_template, is_default, created_at
`
type CreateCollectionTemplateParams struct {
CollectionID string `json:"collection_id"`
SiteID string `json:"site_id"`
Name string `json:"name"`
HtmlTemplate string `json:"html_template"`
IsDefault bool `json:"is_default"`
}
func (q *Queries) CreateCollectionTemplate(ctx context.Context, arg CreateCollectionTemplateParams) (CollectionTemplate, error) {
row := q.db.QueryRowContext(ctx, createCollectionTemplate,
arg.CollectionID,
arg.SiteID,
arg.Name,
arg.HtmlTemplate,
arg.IsDefault,
)
var i CollectionTemplate
err := row.Scan(
&i.TemplateID,
&i.CollectionID,
&i.SiteID,
&i.Name,
&i.HtmlTemplate,
&i.IsDefault,
&i.CreatedAt,
)
return i, err
}
const deleteCollectionTemplate = `-- name: DeleteCollectionTemplate :exec
DELETE FROM collection_templates
WHERE template_id = $1
`
func (q *Queries) DeleteCollectionTemplate(ctx context.Context, templateID int32) error {
_, err := q.db.ExecContext(ctx, deleteCollectionTemplate, templateID)
return err
}
const deleteCollectionTemplates = `-- name: DeleteCollectionTemplates :exec
DELETE FROM collection_templates
WHERE collection_id = $1 AND site_id = $2
`
type DeleteCollectionTemplatesParams struct {
CollectionID string `json:"collection_id"`
SiteID string `json:"site_id"`
}
func (q *Queries) DeleteCollectionTemplates(ctx context.Context, arg DeleteCollectionTemplatesParams) error {
_, err := q.db.ExecContext(ctx, deleteCollectionTemplates, arg.CollectionID, arg.SiteID)
return err
}
const getCollectionTemplate = `-- name: GetCollectionTemplate :one
SELECT template_id, collection_id, site_id, name, html_template, is_default, created_at
FROM collection_templates
WHERE template_id = $1
`
// Collection templates table queries
func (q *Queries) GetCollectionTemplate(ctx context.Context, templateID int32) (CollectionTemplate, error) {
row := q.db.QueryRowContext(ctx, getCollectionTemplate, templateID)
var i CollectionTemplate
err := row.Scan(
&i.TemplateID,
&i.CollectionID,
&i.SiteID,
&i.Name,
&i.HtmlTemplate,
&i.IsDefault,
&i.CreatedAt,
)
return i, err
}
const getCollectionTemplates = `-- name: GetCollectionTemplates :many
SELECT template_id, collection_id, site_id, name, html_template, is_default, created_at
FROM collection_templates
WHERE collection_id = $1 AND site_id = $2
ORDER BY is_default DESC, created_at ASC
`
type GetCollectionTemplatesParams struct {
CollectionID string `json:"collection_id"`
SiteID string `json:"site_id"`
}
func (q *Queries) GetCollectionTemplates(ctx context.Context, arg GetCollectionTemplatesParams) ([]CollectionTemplate, error) {
rows, err := q.db.QueryContext(ctx, getCollectionTemplates, arg.CollectionID, arg.SiteID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []CollectionTemplate
for rows.Next() {
var i CollectionTemplate
if err := rows.Scan(
&i.TemplateID,
&i.CollectionID,
&i.SiteID,
&i.Name,
&i.HtmlTemplate,
&i.IsDefault,
&i.CreatedAt,
); err != nil {
return nil, err
}
items = append(items, i)
}
if err := rows.Close(); err != nil {
return nil, err
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const getDefaultTemplate = `-- name: GetDefaultTemplate :one
SELECT template_id, collection_id, site_id, name, html_template, is_default, created_at
FROM collection_templates
WHERE collection_id = $1 AND site_id = $2 AND is_default = TRUE
LIMIT 1
`
type GetDefaultTemplateParams struct {
CollectionID string `json:"collection_id"`
SiteID string `json:"site_id"`
}
func (q *Queries) GetDefaultTemplate(ctx context.Context, arg GetDefaultTemplateParams) (CollectionTemplate, error) {
row := q.db.QueryRowContext(ctx, getDefaultTemplate, arg.CollectionID, arg.SiteID)
var i CollectionTemplate
err := row.Scan(
&i.TemplateID,
&i.CollectionID,
&i.SiteID,
&i.Name,
&i.HtmlTemplate,
&i.IsDefault,
&i.CreatedAt,
)
return i, err
}
const setTemplateAsDefault = `-- name: SetTemplateAsDefault :exec
UPDATE collection_templates
SET is_default = CASE
WHEN template_id = $1 THEN TRUE
ELSE FALSE
END
WHERE collection_id = $2 AND site_id = $3
`
type SetTemplateAsDefaultParams struct {
TemplateID int32 `json:"template_id"`
CollectionID string `json:"collection_id"`
SiteID string `json:"site_id"`
}
func (q *Queries) SetTemplateAsDefault(ctx context.Context, arg SetTemplateAsDefaultParams) error {
_, err := q.db.ExecContext(ctx, setTemplateAsDefault, arg.TemplateID, arg.CollectionID, arg.SiteID)
return err
}
const updateCollectionTemplate = `-- name: UpdateCollectionTemplate :one
UPDATE collection_templates
SET name = $1, html_template = $2, is_default = $3
WHERE template_id = $4
RETURNING template_id, collection_id, site_id, name, html_template, is_default, created_at
`
type UpdateCollectionTemplateParams struct {
Name string `json:"name"`
HtmlTemplate string `json:"html_template"`
IsDefault bool `json:"is_default"`
TemplateID int32 `json:"template_id"`
}
func (q *Queries) UpdateCollectionTemplate(ctx context.Context, arg UpdateCollectionTemplateParams) (CollectionTemplate, error) {
row := q.db.QueryRowContext(ctx, updateCollectionTemplate,
arg.Name,
arg.HtmlTemplate,
arg.IsDefault,
arg.TemplateID,
)
var i CollectionTemplate
err := row.Scan(
&i.TemplateID,
&i.CollectionID,
&i.SiteID,
&i.Name,
&i.HtmlTemplate,
&i.IsDefault,
&i.CreatedAt,
)
return i, err
}