2022-08-09 15:25:22 +00:00
|
|
|
package plugintypes
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
|
|
|
"database/sql"
|
|
|
|
|
2022-08-12 10:48:16 +00:00
|
|
|
"go.goblog.app/app/pkgs/htmlbuilder"
|
|
|
|
)
|
2022-08-09 15:25:22 +00:00
|
|
|
|
|
|
|
// App is used to access GoBlog's app instance.
|
|
|
|
type App interface {
|
|
|
|
GetDatabase() Database
|
|
|
|
}
|
|
|
|
|
|
|
|
// Database is used to provide access to GoBlog's database.
|
|
|
|
type Database interface {
|
|
|
|
Exec(string, ...any) (sql.Result, error)
|
|
|
|
ExecContext(context.Context, string, ...any) (sql.Result, error)
|
|
|
|
Query(string, ...any) (*sql.Rows, error)
|
|
|
|
QueryContext(context.Context, string, ...any) (*sql.Rows, error)
|
|
|
|
QueryRow(string, ...any) (*sql.Row, error)
|
|
|
|
QueryRowContext(context.Context, string, ...any) (*sql.Row, error)
|
|
|
|
}
|
|
|
|
|
2022-08-12 10:48:16 +00:00
|
|
|
// Post
|
|
|
|
type Post interface {
|
|
|
|
GetParameters() map[string][]string
|
2022-08-09 15:25:22 +00:00
|
|
|
}
|
|
|
|
|
2022-08-12 10:48:16 +00:00
|
|
|
// RenderType
|
|
|
|
type RenderType string
|
2022-08-09 15:25:22 +00:00
|
|
|
|
2022-08-12 10:48:16 +00:00
|
|
|
// RenderData
|
|
|
|
type RenderData interface {
|
|
|
|
// Empty
|
2022-08-09 15:25:22 +00:00
|
|
|
}
|
|
|
|
|
2022-08-12 10:48:16 +00:00
|
|
|
// RenderNextFunc
|
|
|
|
type RenderNextFunc func(*htmlbuilder.HtmlBuilder)
|
|
|
|
|
|
|
|
// Render main element content on post page, data = PostRenderData
|
|
|
|
const PostMainElementRenderType RenderType = "post-main-content"
|
|
|
|
|
|
|
|
// PostRenderData is RenderData containing a Post
|
|
|
|
type PostRenderData interface {
|
|
|
|
RenderData
|
|
|
|
GetPost() Post
|
2022-08-09 15:25:22 +00:00
|
|
|
}
|