Bootstrap the plugin-facing SDK module so the fleet migration (P2) becomes a mechanical block/core/X -> block/pluginsdk/X import rewrite. - abi/proto/v1: the single source-of-truth ABI proto tree, copied from the cms authoring source (cms/backend/abi/proto/v1) with go_package retargeted to git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1. Kills the hand-kept cms/core proto duplication (audit gap 4). - abi/v1: generated Go bindings (buf generate); byte-identical to core's abi/v1 save the embedded go_package path. - plugin/ (registration + DI surface), plugin/wasmguest/** (transport shim, caps stubs, bnwasm db driver, testdata fixtures + golden .pb), and the guest-facing type packages: blocks (+builtin/shared/tags), templates (+pongo/bn), auth, settings, content, gating, crypto, rbac, video, ai, subscriptions, menus, datasources. Internal imports rewritten core -> pluginsdk; zero block/core references remain. - README/AGENTS(+CLAUDE symlink)/Makefile: proto is the contract, Go is one binding; no replace directives; templates/bn is a synced copy authored in cms. Spec: cms docs/superpowers/specs/2026-07-07-proto-first-plugin-sdk-design.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2007 lines
62 KiB
Go
2007 lines
62 KiB
Go
// render.proto — block/template render payloads and the explicit
|
|
// render-context envelope (WO-WZ-001).
|
|
//
|
|
// RenderContext serializes every value blocks currently read from ctx via
|
|
// core/blocks/context.go. Function-valued context entries (SlotRenderer,
|
|
// MediaResolver, EmbedResolver, the generic Queries value) cannot cross the
|
|
// wire; see core/docs/wasm-abi.md for how each one maps.
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.36.11
|
|
// protoc (unknown)
|
|
// source: v1/render.proto
|
|
|
|
package abiv1
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
unsafe "unsafe"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// RenderBlockRequest renders one block (blocks.BlockFunc).
|
|
type RenderBlockRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
BlockKey string `protobuf:"bytes,1,opt,name=block_key,json=blockKey,proto3" json:"block_key,omitempty"`
|
|
// JSON encoding of the block's content map.
|
|
ContentJson []byte `protobuf:"bytes,2,opt,name=content_json,json=contentJson,proto3" json:"content_json,omitempty"`
|
|
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderBlockRequest) Reset() {
|
|
*x = RenderBlockRequest{}
|
|
mi := &file_v1_render_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderBlockRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderBlockRequest) ProtoMessage() {}
|
|
|
|
func (x *RenderBlockRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[0]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderBlockRequest.ProtoReflect.Descriptor instead.
|
|
func (*RenderBlockRequest) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *RenderBlockRequest) GetBlockKey() string {
|
|
if x != nil {
|
|
return x.BlockKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderBlockRequest) GetContentJson() []byte {
|
|
if x != nil {
|
|
return x.ContentJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderBlockRequest) GetRenderContext() *RenderContext {
|
|
if x != nil {
|
|
return x.RenderContext
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type RenderBlockResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// Final rendered HTML for a plain (non-template) block. Ignored when
|
|
// `powered` is set.
|
|
Html string `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
|
|
// Set when the block is "powered": instead of final HTML, the block hands
|
|
// back a template string + data map (blocks.PoweredBlock) and the HOST
|
|
// renders it (pongo2/ninjatpl, host-side) AFTER this RENDER_BLOCK call has
|
|
// returned. Because the block-invoke has already returned, the guest
|
|
// instance is free, so any plugin tag/filter the template hits (RENDER_TAG /
|
|
// APPLY_FILTER) is a fresh invoke — no re-entrancy. A singular message field
|
|
// has explicit presence: nil (GetPowered() == nil) means a plain HTML block.
|
|
Powered *PoweredBlock `protobuf:"bytes,2,opt,name=powered,proto3" json:"powered,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderBlockResponse) Reset() {
|
|
*x = RenderBlockResponse{}
|
|
mi := &file_v1_render_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderBlockResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderBlockResponse) ProtoMessage() {}
|
|
|
|
func (x *RenderBlockResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[1]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderBlockResponse.ProtoReflect.Descriptor instead.
|
|
func (*RenderBlockResponse) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *RenderBlockResponse) GetHtml() string {
|
|
if x != nil {
|
|
return x.Html
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderBlockResponse) GetPowered() *PoweredBlock {
|
|
if x != nil {
|
|
return x.Powered
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// PoweredBlock is a template-backed block result. The host renders `template`
|
|
// with `data_json` as the pongo2 data map. See core/docs/wasm-abi.md
|
|
// §"Powered blocks (render as a host capability)".
|
|
type PoweredBlock struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// ninjatpl/pongo2 template source the host renders host-side.
|
|
Template string `protobuf:"bytes,1,opt,name=template,proto3" json:"template,omitempty"`
|
|
// JSON encoding of the template data map (map[string]any).
|
|
DataJson []byte `protobuf:"bytes,2,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PoweredBlock) Reset() {
|
|
*x = PoweredBlock{}
|
|
mi := &file_v1_render_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PoweredBlock) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PoweredBlock) ProtoMessage() {}
|
|
|
|
func (x *PoweredBlock) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[2]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PoweredBlock.ProtoReflect.Descriptor instead.
|
|
func (*PoweredBlock) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *PoweredBlock) GetTemplate() string {
|
|
if x != nil {
|
|
return x.Template
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PoweredBlock) GetDataJson() []byte {
|
|
if x != nil {
|
|
return x.DataJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// RenderTemplateRequest renders one template (templates.TemplateFunc).
|
|
type RenderTemplateRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
TemplateKey string `protobuf:"bytes,1,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
|
|
// JSON encoding of the template's doc map (the page document).
|
|
DocJson []byte `protobuf:"bytes,2,opt,name=doc_json,json=docJson,proto3" json:"doc_json,omitempty"`
|
|
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderTemplateRequest) Reset() {
|
|
*x = RenderTemplateRequest{}
|
|
mi := &file_v1_render_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderTemplateRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderTemplateRequest) ProtoMessage() {}
|
|
|
|
func (x *RenderTemplateRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[3]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderTemplateRequest.ProtoReflect.Descriptor instead.
|
|
func (*RenderTemplateRequest) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *RenderTemplateRequest) GetTemplateKey() string {
|
|
if x != nil {
|
|
return x.TemplateKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderTemplateRequest) GetDocJson() []byte {
|
|
if x != nil {
|
|
return x.DocJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderTemplateRequest) GetRenderContext() *RenderContext {
|
|
if x != nil {
|
|
return x.RenderContext
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type RenderTemplateResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Html []byte `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderTemplateResponse) Reset() {
|
|
*x = RenderTemplateResponse{}
|
|
mi := &file_v1_render_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderTemplateResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderTemplateResponse) ProtoMessage() {}
|
|
|
|
func (x *RenderTemplateResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[4]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderTemplateResponse.ProtoReflect.Descriptor instead.
|
|
func (*RenderTemplateResponse) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *RenderTemplateResponse) GetHtml() []byte {
|
|
if x != nil {
|
|
return x.Html
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// RenderTagRequest invokes a plugin-declared template tag (HOOK_RENDER_TAG).
|
|
// The host wires one pongo2 tag per manifest.declared_tags name; when its
|
|
// engine hits that tag while rendering a powered block, it calls back here.
|
|
// Re-entrancy-free: the originating RENDER_BLOCK has already returned.
|
|
type RenderTagRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
TagName string `protobuf:"bytes,1,opt,name=tag_name,json=tagName,proto3" json:"tag_name,omitempty"`
|
|
// JSON encoding of the tag's parsed arguments (map[string]any).
|
|
ArgsJson []byte `protobuf:"bytes,2,opt,name=args_json,json=argsJson,proto3" json:"args_json,omitempty"`
|
|
// The active render context (same envelope RENDER_BLOCK carries), so the
|
|
// tag fn can read page/post/request state via blocks.Get*.
|
|
RenderContext *RenderContext `protobuf:"bytes,3,opt,name=render_context,json=renderContext,proto3" json:"render_context,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderTagRequest) Reset() {
|
|
*x = RenderTagRequest{}
|
|
mi := &file_v1_render_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderTagRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderTagRequest) ProtoMessage() {}
|
|
|
|
func (x *RenderTagRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[5]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderTagRequest.ProtoReflect.Descriptor instead.
|
|
func (*RenderTagRequest) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *RenderTagRequest) GetTagName() string {
|
|
if x != nil {
|
|
return x.TagName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderTagRequest) GetArgsJson() []byte {
|
|
if x != nil {
|
|
return x.ArgsJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderTagRequest) GetRenderContext() *RenderContext {
|
|
if x != nil {
|
|
return x.RenderContext
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// RenderTagResponse returns the tag's rendered HTML. A non-empty `error`
|
|
// carries the tag fn's returned error (distinct from an AbiError, which is
|
|
// reserved for transport/dispatch/panic failures).
|
|
type RenderTagResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Html string `protobuf:"bytes,1,opt,name=html,proto3" json:"html,omitempty"`
|
|
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderTagResponse) Reset() {
|
|
*x = RenderTagResponse{}
|
|
mi := &file_v1_render_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderTagResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderTagResponse) ProtoMessage() {}
|
|
|
|
func (x *RenderTagResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[6]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderTagResponse.ProtoReflect.Descriptor instead.
|
|
func (*RenderTagResponse) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *RenderTagResponse) GetHtml() string {
|
|
if x != nil {
|
|
return x.Html
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderTagResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// ApplyFilterRequest invokes a plugin-declared template filter
|
|
// (HOOK_APPLY_FILTER). The host wires one pongo2 filter per
|
|
// manifest.declared_filters name.
|
|
type ApplyFilterRequest struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
FilterName string `protobuf:"bytes,1,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"`
|
|
// The value the filter is applied to (pongo2 passes strings).
|
|
Input string `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"`
|
|
// JSON encoding of the filter's arguments (map[string]any).
|
|
ArgsJson []byte `protobuf:"bytes,3,opt,name=args_json,json=argsJson,proto3" json:"args_json,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ApplyFilterRequest) Reset() {
|
|
*x = ApplyFilterRequest{}
|
|
mi := &file_v1_render_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ApplyFilterRequest) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ApplyFilterRequest) ProtoMessage() {}
|
|
|
|
func (x *ApplyFilterRequest) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[7]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ApplyFilterRequest.ProtoReflect.Descriptor instead.
|
|
func (*ApplyFilterRequest) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *ApplyFilterRequest) GetFilterName() string {
|
|
if x != nil {
|
|
return x.FilterName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ApplyFilterRequest) GetInput() string {
|
|
if x != nil {
|
|
return x.Input
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ApplyFilterRequest) GetArgsJson() []byte {
|
|
if x != nil {
|
|
return x.ArgsJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// ApplyFilterResponse returns the filtered output. A non-empty `error`
|
|
// carries the filter fn's returned error.
|
|
type ApplyFilterResponse struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Output string `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
|
|
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *ApplyFilterResponse) Reset() {
|
|
*x = ApplyFilterResponse{}
|
|
mi := &file_v1_render_proto_msgTypes[8]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *ApplyFilterResponse) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ApplyFilterResponse) ProtoMessage() {}
|
|
|
|
func (x *ApplyFilterResponse) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[8]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ApplyFilterResponse.ProtoReflect.Descriptor instead.
|
|
func (*ApplyFilterResponse) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{8}
|
|
}
|
|
|
|
func (x *ApplyFilterResponse) GetOutput() string {
|
|
if x != nil {
|
|
return x.Output
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *ApplyFilterResponse) GetError() string {
|
|
if x != nil {
|
|
return x.Error
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// RenderContext is the explicit envelope of the context values enumerated
|
|
// from core/blocks/context.go. Absent sub-messages mean the corresponding
|
|
// ctx value was not set (the getters return nil / zero values).
|
|
type RenderContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
// blocks.GetRequest — subset of *http.Request that render code reads.
|
|
Request *RequestInfo `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
|
|
// blocks.GetBlockContext — the pongo2 template data struct.
|
|
BlockContext *BlockContext `protobuf:"bytes,2,opt,name=block_context,json=blockContext,proto3" json:"block_context,omitempty"`
|
|
// blocks.GetTemplateKey.
|
|
TemplateKey string `protobuf:"bytes,3,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
|
|
// blocks.GetCurrentPage.
|
|
Page *PageContext `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
|
|
// blocks.GetCurrentBlogPost.
|
|
Post *PostContext `protobuf:"bytes,5,opt,name=post,proto3" json:"post,omitempty"`
|
|
// blocks.GetCurrentAuthor.
|
|
Author *AuthorContext `protobuf:"bytes,6,opt,name=author,proto3" json:"author,omitempty"`
|
|
// blocks.GetCurrentCategory.
|
|
Category *CategoryContext `protobuf:"bytes,7,opt,name=category,proto3" json:"category,omitempty"`
|
|
// blocks.GetMasterPage; presence doubles as IsMasterPageContext.
|
|
MasterPage *MasterPageContext `protobuf:"bytes,8,opt,name=master_page,json=masterPage,proto3" json:"master_page,omitempty"`
|
|
// blocks.GetRequestedPath (404 pages).
|
|
RequestedPath string `protobuf:"bytes,9,opt,name=requested_path,json=requestedPath,proto3" json:"requested_path,omitempty"`
|
|
// blocks.GetInjectedSlots (master page rendering).
|
|
InjectedSlots map[string]string `protobuf:"bytes,10,rep,name=injected_slots,json=injectedSlots,proto3" json:"injected_slots,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
// blocks.IsEditor.
|
|
IsEditor bool `protobuf:"varint,11,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
|
|
// blocks.GetExpectedSlots.
|
|
ExpectedSlots []string `protobuf:"bytes,12,rep,name=expected_slots,json=expectedSlots,proto3" json:"expected_slots,omitempty"`
|
|
// blocks.GetBlockID (UUID; empty for uuid.Nil).
|
|
BlockId string `protobuf:"bytes,13,opt,name=block_id,json=blockId,proto3" json:"block_id,omitempty"`
|
|
// blocks.GetCurrentPageID (UUID; empty for uuid.Nil).
|
|
CurrentPageId string `protobuf:"bytes,14,opt,name=current_page_id,json=currentPageId,proto3" json:"current_page_id,omitempty"`
|
|
// blocks.GetHumanProofBanner.
|
|
HumanProofBanner *HumanProofBanner `protobuf:"bytes,15,opt,name=human_proof_banner,json=humanProofBanner,proto3" json:"human_proof_banner,omitempty"`
|
|
// blocks.GetDetailRow.
|
|
DetailRow *DetailRow `protobuf:"bytes,16,opt,name=detail_row,json=detailRow,proto3" json:"detail_row,omitempty"`
|
|
// Active theme variables, JSON-encoded.
|
|
ThemeJson []byte `protobuf:"bytes,17,opt,name=theme_json,json=themeJson,proto3" json:"theme_json,omitempty"`
|
|
// Site locale (BCP 47).
|
|
Locale string `protobuf:"bytes,18,opt,name=locale,proto3" json:"locale,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RenderContext) Reset() {
|
|
*x = RenderContext{}
|
|
mi := &file_v1_render_proto_msgTypes[9]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RenderContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RenderContext) ProtoMessage() {}
|
|
|
|
func (x *RenderContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[9]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RenderContext.ProtoReflect.Descriptor instead.
|
|
func (*RenderContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{9}
|
|
}
|
|
|
|
func (x *RenderContext) GetRequest() *RequestInfo {
|
|
if x != nil {
|
|
return x.Request
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetBlockContext() *BlockContext {
|
|
if x != nil {
|
|
return x.BlockContext
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetTemplateKey() string {
|
|
if x != nil {
|
|
return x.TemplateKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderContext) GetPage() *PageContext {
|
|
if x != nil {
|
|
return x.Page
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetPost() *PostContext {
|
|
if x != nil {
|
|
return x.Post
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetAuthor() *AuthorContext {
|
|
if x != nil {
|
|
return x.Author
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetCategory() *CategoryContext {
|
|
if x != nil {
|
|
return x.Category
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetMasterPage() *MasterPageContext {
|
|
if x != nil {
|
|
return x.MasterPage
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetRequestedPath() string {
|
|
if x != nil {
|
|
return x.RequestedPath
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderContext) GetInjectedSlots() map[string]string {
|
|
if x != nil {
|
|
return x.InjectedSlots
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetIsEditor() bool {
|
|
if x != nil {
|
|
return x.IsEditor
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *RenderContext) GetExpectedSlots() []string {
|
|
if x != nil {
|
|
return x.ExpectedSlots
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetBlockId() string {
|
|
if x != nil {
|
|
return x.BlockId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderContext) GetCurrentPageId() string {
|
|
if x != nil {
|
|
return x.CurrentPageId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RenderContext) GetHumanProofBanner() *HumanProofBanner {
|
|
if x != nil {
|
|
return x.HumanProofBanner
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetDetailRow() *DetailRow {
|
|
if x != nil {
|
|
return x.DetailRow
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetThemeJson() []byte {
|
|
if x != nil {
|
|
return x.ThemeJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RenderContext) GetLocale() string {
|
|
if x != nil {
|
|
return x.Locale
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// RequestInfo carries the request subset render code reads from
|
|
// blocks.GetRequest (single-valued header map, matching BlockContext).
|
|
type RequestInfo struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
|
|
Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
|
|
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
|
|
Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
|
|
RawQuery string `protobuf:"bytes,5,opt,name=raw_query,json=rawQuery,proto3" json:"raw_query,omitempty"`
|
|
Headers map[string]string `protobuf:"bytes,6,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
Cookies map[string]string `protobuf:"bytes,7,rep,name=cookies,proto3" json:"cookies,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
RemoteIp string `protobuf:"bytes,8,opt,name=remote_ip,json=remoteIp,proto3" json:"remote_ip,omitempty"`
|
|
Referrer string `protobuf:"bytes,9,opt,name=referrer,proto3" json:"referrer,omitempty"`
|
|
UserAgent string `protobuf:"bytes,10,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *RequestInfo) Reset() {
|
|
*x = RequestInfo{}
|
|
mi := &file_v1_render_proto_msgTypes[10]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *RequestInfo) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RequestInfo) ProtoMessage() {}
|
|
|
|
func (x *RequestInfo) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[10]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RequestInfo.ProtoReflect.Descriptor instead.
|
|
func (*RequestInfo) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{10}
|
|
}
|
|
|
|
func (x *RequestInfo) GetMethod() string {
|
|
if x != nil {
|
|
return x.Method
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetUrl() string {
|
|
if x != nil {
|
|
return x.Url
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetHost() string {
|
|
if x != nil {
|
|
return x.Host
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetRawQuery() string {
|
|
if x != nil {
|
|
return x.RawQuery
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetHeaders() map[string]string {
|
|
if x != nil {
|
|
return x.Headers
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RequestInfo) GetCookies() map[string]string {
|
|
if x != nil {
|
|
return x.Cookies
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *RequestInfo) GetRemoteIp() string {
|
|
if x != nil {
|
|
return x.RemoteIp
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetReferrer() string {
|
|
if x != nil {
|
|
return x.Referrer
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *RequestInfo) GetUserAgent() string {
|
|
if x != nil {
|
|
return x.UserAgent
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// PageContext mirrors blocks.PageContext.
|
|
type PageContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
|
|
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
|
|
PostType string `protobuf:"bytes,4,opt,name=post_type,json=postType,proto3" json:"post_type,omitempty"` // "page", "post", "master", "system"
|
|
Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` // "published", "draft", "scheduled"
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PageContext) Reset() {
|
|
*x = PageContext{}
|
|
mi := &file_v1_render_proto_msgTypes[11]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PageContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PageContext) ProtoMessage() {}
|
|
|
|
func (x *PageContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[11]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PageContext.ProtoReflect.Descriptor instead.
|
|
func (*PageContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{11}
|
|
}
|
|
|
|
func (x *PageContext) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PageContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PageContext) GetTitle() string {
|
|
if x != nil {
|
|
return x.Title
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PageContext) GetPostType() string {
|
|
if x != nil {
|
|
return x.PostType
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PageContext) GetStatus() string {
|
|
if x != nil {
|
|
return x.Status
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// PostContext mirrors blocks.PostContext.
|
|
type PostContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
|
|
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
|
|
Excerpt string `protobuf:"bytes,4,opt,name=excerpt,proto3" json:"excerpt,omitempty"`
|
|
FeaturedImageUrl string `protobuf:"bytes,5,opt,name=featured_image_url,json=featuredImageUrl,proto3" json:"featured_image_url,omitempty"`
|
|
AuthorId string `protobuf:"bytes,6,opt,name=author_id,json=authorId,proto3" json:"author_id,omitempty"` // UUID
|
|
PublishedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=published_at,json=publishedAt,proto3" json:"published_at,omitempty"`
|
|
ReadingTime int32 `protobuf:"varint,8,opt,name=reading_time,json=readingTime,proto3" json:"reading_time,omitempty"`
|
|
IsFeatured bool `protobuf:"varint,9,opt,name=is_featured,json=isFeatured,proto3" json:"is_featured,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *PostContext) Reset() {
|
|
*x = PostContext{}
|
|
mi := &file_v1_render_proto_msgTypes[12]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *PostContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*PostContext) ProtoMessage() {}
|
|
|
|
func (x *PostContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[12]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use PostContext.ProtoReflect.Descriptor instead.
|
|
func (*PostContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{12}
|
|
}
|
|
|
|
func (x *PostContext) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetTitle() string {
|
|
if x != nil {
|
|
return x.Title
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetExcerpt() string {
|
|
if x != nil {
|
|
return x.Excerpt
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetFeaturedImageUrl() string {
|
|
if x != nil {
|
|
return x.FeaturedImageUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetAuthorId() string {
|
|
if x != nil {
|
|
return x.AuthorId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *PostContext) GetPublishedAt() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.PublishedAt
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *PostContext) GetReadingTime() int32 {
|
|
if x != nil {
|
|
return x.ReadingTime
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *PostContext) GetIsFeatured() bool {
|
|
if x != nil {
|
|
return x.IsFeatured
|
|
}
|
|
return false
|
|
}
|
|
|
|
// AuthorContext mirrors blocks.AuthorContext.
|
|
type AuthorContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
Bio string `protobuf:"bytes,4,opt,name=bio,proto3" json:"bio,omitempty"`
|
|
AvatarUrl string `protobuf:"bytes,5,opt,name=avatar_url,json=avatarUrl,proto3" json:"avatar_url,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *AuthorContext) Reset() {
|
|
*x = AuthorContext{}
|
|
mi := &file_v1_render_proto_msgTypes[13]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *AuthorContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*AuthorContext) ProtoMessage() {}
|
|
|
|
func (x *AuthorContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[13]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use AuthorContext.ProtoReflect.Descriptor instead.
|
|
func (*AuthorContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{13}
|
|
}
|
|
|
|
func (x *AuthorContext) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthorContext) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthorContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthorContext) GetBio() string {
|
|
if x != nil {
|
|
return x.Bio
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *AuthorContext) GetAvatarUrl() string {
|
|
if x != nil {
|
|
return x.AvatarUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// CategoryContext mirrors blocks.CategoryContext.
|
|
type CategoryContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
|
|
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
|
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *CategoryContext) Reset() {
|
|
*x = CategoryContext{}
|
|
mi := &file_v1_render_proto_msgTypes[14]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *CategoryContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CategoryContext) ProtoMessage() {}
|
|
|
|
func (x *CategoryContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[14]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CategoryContext.ProtoReflect.Descriptor instead.
|
|
func (*CategoryContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{14}
|
|
}
|
|
|
|
func (x *CategoryContext) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CategoryContext) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *CategoryContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// MasterPageContext mirrors blocks.MasterPageContext.
|
|
type MasterPageContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID
|
|
Slug string `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *MasterPageContext) Reset() {
|
|
*x = MasterPageContext{}
|
|
mi := &file_v1_render_proto_msgTypes[15]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *MasterPageContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*MasterPageContext) ProtoMessage() {}
|
|
|
|
func (x *MasterPageContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[15]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use MasterPageContext.ProtoReflect.Descriptor instead.
|
|
func (*MasterPageContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{15}
|
|
}
|
|
|
|
func (x *MasterPageContext) GetId() string {
|
|
if x != nil {
|
|
return x.Id
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MasterPageContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *MasterPageContext) GetTitle() string {
|
|
if x != nil {
|
|
return x.Title
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// HumanProofBanner mirrors blocks.HumanProofBannerData.
|
|
type HumanProofBanner struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
ActiveTimeMinutes int32 `protobuf:"varint,1,opt,name=active_time_minutes,json=activeTimeMinutes,proto3" json:"active_time_minutes,omitempty"`
|
|
KeystrokeCount int32 `protobuf:"varint,2,opt,name=keystroke_count,json=keystrokeCount,proto3" json:"keystroke_count,omitempty"`
|
|
SessionCount int32 `protobuf:"varint,3,opt,name=session_count,json=sessionCount,proto3" json:"session_count,omitempty"`
|
|
PostSlug string `protobuf:"bytes,4,opt,name=post_slug,json=postSlug,proto3" json:"post_slug,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *HumanProofBanner) Reset() {
|
|
*x = HumanProofBanner{}
|
|
mi := &file_v1_render_proto_msgTypes[16]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *HumanProofBanner) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HumanProofBanner) ProtoMessage() {}
|
|
|
|
func (x *HumanProofBanner) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[16]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HumanProofBanner.ProtoReflect.Descriptor instead.
|
|
func (*HumanProofBanner) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{16}
|
|
}
|
|
|
|
func (x *HumanProofBanner) GetActiveTimeMinutes() int32 {
|
|
if x != nil {
|
|
return x.ActiveTimeMinutes
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *HumanProofBanner) GetKeystrokeCount() int32 {
|
|
if x != nil {
|
|
return x.KeystrokeCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *HumanProofBanner) GetSessionCount() int32 {
|
|
if x != nil {
|
|
return x.SessionCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *HumanProofBanner) GetPostSlug() string {
|
|
if x != nil {
|
|
return x.PostSlug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// DetailRow mirrors blocks.DetailRowInfo.
|
|
type DetailRow struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
TableId string `protobuf:"bytes,1,opt,name=table_id,json=tableId,proto3" json:"table_id,omitempty"`
|
|
RowId string `protobuf:"bytes,2,opt,name=row_id,json=rowId,proto3" json:"row_id,omitempty"`
|
|
// JSON encoding of the row data map.
|
|
DataJson []byte `protobuf:"bytes,3,opt,name=data_json,json=dataJson,proto3" json:"data_json,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *DetailRow) Reset() {
|
|
*x = DetailRow{}
|
|
mi := &file_v1_render_proto_msgTypes[17]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *DetailRow) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DetailRow) ProtoMessage() {}
|
|
|
|
func (x *DetailRow) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[17]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DetailRow.ProtoReflect.Descriptor instead.
|
|
func (*DetailRow) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{17}
|
|
}
|
|
|
|
func (x *DetailRow) GetTableId() string {
|
|
if x != nil {
|
|
return x.TableId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DetailRow) GetRowId() string {
|
|
if x != nil {
|
|
return x.RowId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *DetailRow) GetDataJson() []byte {
|
|
if x != nil {
|
|
return x.DataJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// BlockContext mirrors blocks.BlockContext (the pongo2 data struct) 1:1.
|
|
// map[string]any fields travel as JSON bytes.
|
|
type BlockContext struct {
|
|
state protoimpl.MessageState `protogen:"open.v1"`
|
|
Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
|
|
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
|
|
Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
|
|
PageId string `protobuf:"bytes,4,opt,name=page_id,json=pageId,proto3" json:"page_id,omitempty"`
|
|
PageTitle string `protobuf:"bytes,5,opt,name=page_title,json=pageTitle,proto3" json:"page_title,omitempty"`
|
|
TemplateKey string `protobuf:"bytes,6,opt,name=template_key,json=templateKey,proto3" json:"template_key,omitempty"`
|
|
IsEditor bool `protobuf:"varint,7,opt,name=is_editor,json=isEditor,proto3" json:"is_editor,omitempty"`
|
|
Timestamp int64 `protobuf:"varint,8,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
|
|
Now *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=now,proto3" json:"now,omitempty"`
|
|
IsLoggedIn bool `protobuf:"varint,10,opt,name=is_logged_in,json=isLoggedIn,proto3" json:"is_logged_in,omitempty"`
|
|
UserId string `protobuf:"bytes,11,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
|
|
UserEmail string `protobuf:"bytes,12,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
|
|
UserRole string `protobuf:"bytes,13,opt,name=user_role,json=userRole,proto3" json:"user_role,omitempty"`
|
|
Method string `protobuf:"bytes,14,opt,name=method,proto3" json:"method,omitempty"`
|
|
Host string `protobuf:"bytes,15,opt,name=host,proto3" json:"host,omitempty"`
|
|
Query map[string]string `protobuf:"bytes,16,rep,name=query,proto3" json:"query,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
Referrer string `protobuf:"bytes,17,opt,name=referrer,proto3" json:"referrer,omitempty"`
|
|
UserAgent string `protobuf:"bytes,18,opt,name=user_agent,json=userAgent,proto3" json:"user_agent,omitempty"`
|
|
Ip string `protobuf:"bytes,19,opt,name=ip,proto3" json:"ip,omitempty"`
|
|
Cookies map[string]string `protobuf:"bytes,20,rep,name=cookies,proto3" json:"cookies,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
Headers map[string]string `protobuf:"bytes,21,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
|
Country string `protobuf:"bytes,22,opt,name=country,proto3" json:"country,omitempty"`
|
|
City string `protobuf:"bytes,23,opt,name=city,proto3" json:"city,omitempty"`
|
|
Timezone string `protobuf:"bytes,24,opt,name=timezone,proto3" json:"timezone,omitempty"`
|
|
CurrentAuthorJson []byte `protobuf:"bytes,25,opt,name=current_author_json,json=currentAuthorJson,proto3" json:"current_author_json,omitempty"`
|
|
CurrentPostJson []byte `protobuf:"bytes,26,opt,name=current_post_json,json=currentPostJson,proto3" json:"current_post_json,omitempty"`
|
|
CurrentCategoryJson []byte `protobuf:"bytes,27,opt,name=current_category_json,json=currentCategoryJson,proto3" json:"current_category_json,omitempty"`
|
|
SiteJson []byte `protobuf:"bytes,28,opt,name=site_json,json=siteJson,proto3" json:"site_json,omitempty"`
|
|
IsPublicLoggedIn bool `protobuf:"varint,29,opt,name=is_public_logged_in,json=isPublicLoggedIn,proto3" json:"is_public_logged_in,omitempty"`
|
|
PublicUserId string `protobuf:"bytes,30,opt,name=public_user_id,json=publicUserId,proto3" json:"public_user_id,omitempty"`
|
|
PublicUsername string `protobuf:"bytes,31,opt,name=public_username,json=publicUsername,proto3" json:"public_username,omitempty"`
|
|
PublicDisplayName string `protobuf:"bytes,32,opt,name=public_display_name,json=publicDisplayName,proto3" json:"public_display_name,omitempty"`
|
|
PublicEmailVerified bool `protobuf:"varint,33,opt,name=public_email_verified,json=publicEmailVerified,proto3" json:"public_email_verified,omitempty"`
|
|
DetailRowId string `protobuf:"bytes,34,opt,name=detail_row_id,json=detailRowId,proto3" json:"detail_row_id,omitempty"`
|
|
DetailTableId string `protobuf:"bytes,35,opt,name=detail_table_id,json=detailTableId,proto3" json:"detail_table_id,omitempty"`
|
|
DetailRowDataJson []byte `protobuf:"bytes,36,opt,name=detail_row_data_json,json=detailRowDataJson,proto3" json:"detail_row_data_json,omitempty"`
|
|
BlogIndexUrl string `protobuf:"bytes,37,opt,name=blog_index_url,json=blogIndexUrl,proto3" json:"blog_index_url,omitempty"`
|
|
CategoryPageUrl string `protobuf:"bytes,38,opt,name=category_page_url,json=categoryPageUrl,proto3" json:"category_page_url,omitempty"`
|
|
unknownFields protoimpl.UnknownFields
|
|
sizeCache protoimpl.SizeCache
|
|
}
|
|
|
|
func (x *BlockContext) Reset() {
|
|
*x = BlockContext{}
|
|
mi := &file_v1_render_proto_msgTypes[18]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
|
|
func (x *BlockContext) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*BlockContext) ProtoMessage() {}
|
|
|
|
func (x *BlockContext) ProtoReflect() protoreflect.Message {
|
|
mi := &file_v1_render_proto_msgTypes[18]
|
|
if x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use BlockContext.ProtoReflect.Descriptor instead.
|
|
func (*BlockContext) Descriptor() ([]byte, []int) {
|
|
return file_v1_render_proto_rawDescGZIP(), []int{18}
|
|
}
|
|
|
|
func (x *BlockContext) GetUrl() string {
|
|
if x != nil {
|
|
return x.Url
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetSlug() string {
|
|
if x != nil {
|
|
return x.Slug
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPageId() string {
|
|
if x != nil {
|
|
return x.PageId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPageTitle() string {
|
|
if x != nil {
|
|
return x.PageTitle
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetTemplateKey() string {
|
|
if x != nil {
|
|
return x.TemplateKey
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetIsEditor() bool {
|
|
if x != nil {
|
|
return x.IsEditor
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *BlockContext) GetTimestamp() int64 {
|
|
if x != nil {
|
|
return x.Timestamp
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *BlockContext) GetNow() *timestamppb.Timestamp {
|
|
if x != nil {
|
|
return x.Now
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetIsLoggedIn() bool {
|
|
if x != nil {
|
|
return x.IsLoggedIn
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *BlockContext) GetUserId() string {
|
|
if x != nil {
|
|
return x.UserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetUserEmail() string {
|
|
if x != nil {
|
|
return x.UserEmail
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetUserRole() string {
|
|
if x != nil {
|
|
return x.UserRole
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetMethod() string {
|
|
if x != nil {
|
|
return x.Method
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetHost() string {
|
|
if x != nil {
|
|
return x.Host
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetQuery() map[string]string {
|
|
if x != nil {
|
|
return x.Query
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetReferrer() string {
|
|
if x != nil {
|
|
return x.Referrer
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetUserAgent() string {
|
|
if x != nil {
|
|
return x.UserAgent
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetIp() string {
|
|
if x != nil {
|
|
return x.Ip
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetCookies() map[string]string {
|
|
if x != nil {
|
|
return x.Cookies
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetHeaders() map[string]string {
|
|
if x != nil {
|
|
return x.Headers
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetCountry() string {
|
|
if x != nil {
|
|
return x.Country
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetCity() string {
|
|
if x != nil {
|
|
return x.City
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetTimezone() string {
|
|
if x != nil {
|
|
return x.Timezone
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetCurrentAuthorJson() []byte {
|
|
if x != nil {
|
|
return x.CurrentAuthorJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetCurrentPostJson() []byte {
|
|
if x != nil {
|
|
return x.CurrentPostJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetCurrentCategoryJson() []byte {
|
|
if x != nil {
|
|
return x.CurrentCategoryJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetSiteJson() []byte {
|
|
if x != nil {
|
|
return x.SiteJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetIsPublicLoggedIn() bool {
|
|
if x != nil {
|
|
return x.IsPublicLoggedIn
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *BlockContext) GetPublicUserId() string {
|
|
if x != nil {
|
|
return x.PublicUserId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPublicUsername() string {
|
|
if x != nil {
|
|
return x.PublicUsername
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPublicDisplayName() string {
|
|
if x != nil {
|
|
return x.PublicDisplayName
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetPublicEmailVerified() bool {
|
|
if x != nil {
|
|
return x.PublicEmailVerified
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *BlockContext) GetDetailRowId() string {
|
|
if x != nil {
|
|
return x.DetailRowId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetDetailTableId() string {
|
|
if x != nil {
|
|
return x.DetailTableId
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetDetailRowDataJson() []byte {
|
|
if x != nil {
|
|
return x.DetailRowDataJson
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *BlockContext) GetBlogIndexUrl() string {
|
|
if x != nil {
|
|
return x.BlogIndexUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *BlockContext) GetCategoryPageUrl() string {
|
|
if x != nil {
|
|
return x.CategoryPageUrl
|
|
}
|
|
return ""
|
|
}
|
|
|
|
var File_v1_render_proto protoreflect.FileDescriptor
|
|
|
|
const file_v1_render_proto_rawDesc = "" +
|
|
"\n" +
|
|
"\x0fv1/render.proto\x12\x06abi.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x92\x01\n" +
|
|
"\x12RenderBlockRequest\x12\x1b\n" +
|
|
"\tblock_key\x18\x01 \x01(\tR\bblockKey\x12!\n" +
|
|
"\fcontent_json\x18\x02 \x01(\fR\vcontentJson\x12<\n" +
|
|
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\"Y\n" +
|
|
"\x13RenderBlockResponse\x12\x12\n" +
|
|
"\x04html\x18\x01 \x01(\tR\x04html\x12.\n" +
|
|
"\apowered\x18\x02 \x01(\v2\x14.abi.v1.PoweredBlockR\apowered\"G\n" +
|
|
"\fPoweredBlock\x12\x1a\n" +
|
|
"\btemplate\x18\x01 \x01(\tR\btemplate\x12\x1b\n" +
|
|
"\tdata_json\x18\x02 \x01(\fR\bdataJson\"\x93\x01\n" +
|
|
"\x15RenderTemplateRequest\x12!\n" +
|
|
"\ftemplate_key\x18\x01 \x01(\tR\vtemplateKey\x12\x19\n" +
|
|
"\bdoc_json\x18\x02 \x01(\fR\adocJson\x12<\n" +
|
|
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\",\n" +
|
|
"\x16RenderTemplateResponse\x12\x12\n" +
|
|
"\x04html\x18\x01 \x01(\fR\x04html\"\x88\x01\n" +
|
|
"\x10RenderTagRequest\x12\x19\n" +
|
|
"\btag_name\x18\x01 \x01(\tR\atagName\x12\x1b\n" +
|
|
"\targs_json\x18\x02 \x01(\fR\bargsJson\x12<\n" +
|
|
"\x0erender_context\x18\x03 \x01(\v2\x15.abi.v1.RenderContextR\rrenderContext\"=\n" +
|
|
"\x11RenderTagResponse\x12\x12\n" +
|
|
"\x04html\x18\x01 \x01(\tR\x04html\x12\x14\n" +
|
|
"\x05error\x18\x02 \x01(\tR\x05error\"h\n" +
|
|
"\x12ApplyFilterRequest\x12\x1f\n" +
|
|
"\vfilter_name\x18\x01 \x01(\tR\n" +
|
|
"filterName\x12\x14\n" +
|
|
"\x05input\x18\x02 \x01(\tR\x05input\x12\x1b\n" +
|
|
"\targs_json\x18\x03 \x01(\fR\bargsJson\"C\n" +
|
|
"\x13ApplyFilterResponse\x12\x16\n" +
|
|
"\x06output\x18\x01 \x01(\tR\x06output\x12\x14\n" +
|
|
"\x05error\x18\x02 \x01(\tR\x05error\"\x80\a\n" +
|
|
"\rRenderContext\x12-\n" +
|
|
"\arequest\x18\x01 \x01(\v2\x13.abi.v1.RequestInfoR\arequest\x129\n" +
|
|
"\rblock_context\x18\x02 \x01(\v2\x14.abi.v1.BlockContextR\fblockContext\x12!\n" +
|
|
"\ftemplate_key\x18\x03 \x01(\tR\vtemplateKey\x12'\n" +
|
|
"\x04page\x18\x04 \x01(\v2\x13.abi.v1.PageContextR\x04page\x12'\n" +
|
|
"\x04post\x18\x05 \x01(\v2\x13.abi.v1.PostContextR\x04post\x12-\n" +
|
|
"\x06author\x18\x06 \x01(\v2\x15.abi.v1.AuthorContextR\x06author\x123\n" +
|
|
"\bcategory\x18\a \x01(\v2\x17.abi.v1.CategoryContextR\bcategory\x12:\n" +
|
|
"\vmaster_page\x18\b \x01(\v2\x19.abi.v1.MasterPageContextR\n" +
|
|
"masterPage\x12%\n" +
|
|
"\x0erequested_path\x18\t \x01(\tR\rrequestedPath\x12O\n" +
|
|
"\x0einjected_slots\x18\n" +
|
|
" \x03(\v2(.abi.v1.RenderContext.InjectedSlotsEntryR\rinjectedSlots\x12\x1b\n" +
|
|
"\tis_editor\x18\v \x01(\bR\bisEditor\x12%\n" +
|
|
"\x0eexpected_slots\x18\f \x03(\tR\rexpectedSlots\x12\x19\n" +
|
|
"\bblock_id\x18\r \x01(\tR\ablockId\x12&\n" +
|
|
"\x0fcurrent_page_id\x18\x0e \x01(\tR\rcurrentPageId\x12F\n" +
|
|
"\x12human_proof_banner\x18\x0f \x01(\v2\x18.abi.v1.HumanProofBannerR\x10humanProofBanner\x120\n" +
|
|
"\n" +
|
|
"detail_row\x18\x10 \x01(\v2\x11.abi.v1.DetailRowR\tdetailRow\x12\x1d\n" +
|
|
"\n" +
|
|
"theme_json\x18\x11 \x01(\fR\tthemeJson\x12\x16\n" +
|
|
"\x06locale\x18\x12 \x01(\tR\x06locale\x1a@\n" +
|
|
"\x12InjectedSlotsEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc4\x03\n" +
|
|
"\vRequestInfo\x12\x16\n" +
|
|
"\x06method\x18\x01 \x01(\tR\x06method\x12\x10\n" +
|
|
"\x03url\x18\x02 \x01(\tR\x03url\x12\x12\n" +
|
|
"\x04path\x18\x03 \x01(\tR\x04path\x12\x12\n" +
|
|
"\x04host\x18\x04 \x01(\tR\x04host\x12\x1b\n" +
|
|
"\traw_query\x18\x05 \x01(\tR\brawQuery\x12:\n" +
|
|
"\aheaders\x18\x06 \x03(\v2 .abi.v1.RequestInfo.HeadersEntryR\aheaders\x12:\n" +
|
|
"\acookies\x18\a \x03(\v2 .abi.v1.RequestInfo.CookiesEntryR\acookies\x12\x1b\n" +
|
|
"\tremote_ip\x18\b \x01(\tR\bremoteIp\x12\x1a\n" +
|
|
"\breferrer\x18\t \x01(\tR\breferrer\x12\x1d\n" +
|
|
"\n" +
|
|
"user_agent\x18\n" +
|
|
" \x01(\tR\tuserAgent\x1a:\n" +
|
|
"\fHeadersEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
|
|
"\fCookiesEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"|\n" +
|
|
"\vPageContext\x12\x0e\n" +
|
|
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
|
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
|
|
"\x05title\x18\x03 \x01(\tR\x05title\x12\x1b\n" +
|
|
"\tpost_type\x18\x04 \x01(\tR\bpostType\x12\x16\n" +
|
|
"\x06status\x18\x05 \x01(\tR\x06status\"\xaf\x02\n" +
|
|
"\vPostContext\x12\x0e\n" +
|
|
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
|
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
|
|
"\x05title\x18\x03 \x01(\tR\x05title\x12\x18\n" +
|
|
"\aexcerpt\x18\x04 \x01(\tR\aexcerpt\x12,\n" +
|
|
"\x12featured_image_url\x18\x05 \x01(\tR\x10featuredImageUrl\x12\x1b\n" +
|
|
"\tauthor_id\x18\x06 \x01(\tR\bauthorId\x12=\n" +
|
|
"\fpublished_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\vpublishedAt\x12!\n" +
|
|
"\freading_time\x18\b \x01(\x05R\vreadingTime\x12\x1f\n" +
|
|
"\vis_featured\x18\t \x01(\bR\n" +
|
|
"isFeatured\"x\n" +
|
|
"\rAuthorContext\x12\x0e\n" +
|
|
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
|
|
"\x04slug\x18\x03 \x01(\tR\x04slug\x12\x10\n" +
|
|
"\x03bio\x18\x04 \x01(\tR\x03bio\x12\x1d\n" +
|
|
"\n" +
|
|
"avatar_url\x18\x05 \x01(\tR\tavatarUrl\"I\n" +
|
|
"\x0fCategoryContext\x12\x0e\n" +
|
|
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
|
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
|
|
"\x04slug\x18\x03 \x01(\tR\x04slug\"M\n" +
|
|
"\x11MasterPageContext\x12\x0e\n" +
|
|
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
|
"\x04slug\x18\x02 \x01(\tR\x04slug\x12\x14\n" +
|
|
"\x05title\x18\x03 \x01(\tR\x05title\"\xad\x01\n" +
|
|
"\x10HumanProofBanner\x12.\n" +
|
|
"\x13active_time_minutes\x18\x01 \x01(\x05R\x11activeTimeMinutes\x12'\n" +
|
|
"\x0fkeystroke_count\x18\x02 \x01(\x05R\x0ekeystrokeCount\x12#\n" +
|
|
"\rsession_count\x18\x03 \x01(\x05R\fsessionCount\x12\x1b\n" +
|
|
"\tpost_slug\x18\x04 \x01(\tR\bpostSlug\"Z\n" +
|
|
"\tDetailRow\x12\x19\n" +
|
|
"\btable_id\x18\x01 \x01(\tR\atableId\x12\x15\n" +
|
|
"\x06row_id\x18\x02 \x01(\tR\x05rowId\x12\x1b\n" +
|
|
"\tdata_json\x18\x03 \x01(\fR\bdataJson\"\x85\f\n" +
|
|
"\fBlockContext\x12\x10\n" +
|
|
"\x03url\x18\x01 \x01(\tR\x03url\x12\x12\n" +
|
|
"\x04path\x18\x02 \x01(\tR\x04path\x12\x12\n" +
|
|
"\x04slug\x18\x03 \x01(\tR\x04slug\x12\x17\n" +
|
|
"\apage_id\x18\x04 \x01(\tR\x06pageId\x12\x1d\n" +
|
|
"\n" +
|
|
"page_title\x18\x05 \x01(\tR\tpageTitle\x12!\n" +
|
|
"\ftemplate_key\x18\x06 \x01(\tR\vtemplateKey\x12\x1b\n" +
|
|
"\tis_editor\x18\a \x01(\bR\bisEditor\x12\x1c\n" +
|
|
"\ttimestamp\x18\b \x01(\x03R\ttimestamp\x12,\n" +
|
|
"\x03now\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x03now\x12 \n" +
|
|
"\fis_logged_in\x18\n" +
|
|
" \x01(\bR\n" +
|
|
"isLoggedIn\x12\x17\n" +
|
|
"\auser_id\x18\v \x01(\tR\x06userId\x12\x1d\n" +
|
|
"\n" +
|
|
"user_email\x18\f \x01(\tR\tuserEmail\x12\x1b\n" +
|
|
"\tuser_role\x18\r \x01(\tR\buserRole\x12\x16\n" +
|
|
"\x06method\x18\x0e \x01(\tR\x06method\x12\x12\n" +
|
|
"\x04host\x18\x0f \x01(\tR\x04host\x125\n" +
|
|
"\x05query\x18\x10 \x03(\v2\x1f.abi.v1.BlockContext.QueryEntryR\x05query\x12\x1a\n" +
|
|
"\breferrer\x18\x11 \x01(\tR\breferrer\x12\x1d\n" +
|
|
"\n" +
|
|
"user_agent\x18\x12 \x01(\tR\tuserAgent\x12\x0e\n" +
|
|
"\x02ip\x18\x13 \x01(\tR\x02ip\x12;\n" +
|
|
"\acookies\x18\x14 \x03(\v2!.abi.v1.BlockContext.CookiesEntryR\acookies\x12;\n" +
|
|
"\aheaders\x18\x15 \x03(\v2!.abi.v1.BlockContext.HeadersEntryR\aheaders\x12\x18\n" +
|
|
"\acountry\x18\x16 \x01(\tR\acountry\x12\x12\n" +
|
|
"\x04city\x18\x17 \x01(\tR\x04city\x12\x1a\n" +
|
|
"\btimezone\x18\x18 \x01(\tR\btimezone\x12.\n" +
|
|
"\x13current_author_json\x18\x19 \x01(\fR\x11currentAuthorJson\x12*\n" +
|
|
"\x11current_post_json\x18\x1a \x01(\fR\x0fcurrentPostJson\x122\n" +
|
|
"\x15current_category_json\x18\x1b \x01(\fR\x13currentCategoryJson\x12\x1b\n" +
|
|
"\tsite_json\x18\x1c \x01(\fR\bsiteJson\x12-\n" +
|
|
"\x13is_public_logged_in\x18\x1d \x01(\bR\x10isPublicLoggedIn\x12$\n" +
|
|
"\x0epublic_user_id\x18\x1e \x01(\tR\fpublicUserId\x12'\n" +
|
|
"\x0fpublic_username\x18\x1f \x01(\tR\x0epublicUsername\x12.\n" +
|
|
"\x13public_display_name\x18 \x01(\tR\x11publicDisplayName\x122\n" +
|
|
"\x15public_email_verified\x18! \x01(\bR\x13publicEmailVerified\x12\"\n" +
|
|
"\rdetail_row_id\x18\" \x01(\tR\vdetailRowId\x12&\n" +
|
|
"\x0fdetail_table_id\x18# \x01(\tR\rdetailTableId\x12/\n" +
|
|
"\x14detail_row_data_json\x18$ \x01(\fR\x11detailRowDataJson\x12$\n" +
|
|
"\x0eblog_index_url\x18% \x01(\tR\fblogIndexUrl\x12*\n" +
|
|
"\x11category_page_url\x18& \x01(\tR\x0fcategoryPageUrl\x1a8\n" +
|
|
"\n" +
|
|
"QueryEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
|
|
"\fCookiesEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
|
|
"\fHeadersEntry\x12\x10\n" +
|
|
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
|
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B5Z3git.dev.alexdunmow.com/block/pluginsdk/abi/v1;abiv1b\x06proto3"
|
|
|
|
var (
|
|
file_v1_render_proto_rawDescOnce sync.Once
|
|
file_v1_render_proto_rawDescData []byte
|
|
)
|
|
|
|
func file_v1_render_proto_rawDescGZIP() []byte {
|
|
file_v1_render_proto_rawDescOnce.Do(func() {
|
|
file_v1_render_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_v1_render_proto_rawDesc), len(file_v1_render_proto_rawDesc)))
|
|
})
|
|
return file_v1_render_proto_rawDescData
|
|
}
|
|
|
|
var file_v1_render_proto_msgTypes = make([]protoimpl.MessageInfo, 25)
|
|
var file_v1_render_proto_goTypes = []any{
|
|
(*RenderBlockRequest)(nil), // 0: abi.v1.RenderBlockRequest
|
|
(*RenderBlockResponse)(nil), // 1: abi.v1.RenderBlockResponse
|
|
(*PoweredBlock)(nil), // 2: abi.v1.PoweredBlock
|
|
(*RenderTemplateRequest)(nil), // 3: abi.v1.RenderTemplateRequest
|
|
(*RenderTemplateResponse)(nil), // 4: abi.v1.RenderTemplateResponse
|
|
(*RenderTagRequest)(nil), // 5: abi.v1.RenderTagRequest
|
|
(*RenderTagResponse)(nil), // 6: abi.v1.RenderTagResponse
|
|
(*ApplyFilterRequest)(nil), // 7: abi.v1.ApplyFilterRequest
|
|
(*ApplyFilterResponse)(nil), // 8: abi.v1.ApplyFilterResponse
|
|
(*RenderContext)(nil), // 9: abi.v1.RenderContext
|
|
(*RequestInfo)(nil), // 10: abi.v1.RequestInfo
|
|
(*PageContext)(nil), // 11: abi.v1.PageContext
|
|
(*PostContext)(nil), // 12: abi.v1.PostContext
|
|
(*AuthorContext)(nil), // 13: abi.v1.AuthorContext
|
|
(*CategoryContext)(nil), // 14: abi.v1.CategoryContext
|
|
(*MasterPageContext)(nil), // 15: abi.v1.MasterPageContext
|
|
(*HumanProofBanner)(nil), // 16: abi.v1.HumanProofBanner
|
|
(*DetailRow)(nil), // 17: abi.v1.DetailRow
|
|
(*BlockContext)(nil), // 18: abi.v1.BlockContext
|
|
nil, // 19: abi.v1.RenderContext.InjectedSlotsEntry
|
|
nil, // 20: abi.v1.RequestInfo.HeadersEntry
|
|
nil, // 21: abi.v1.RequestInfo.CookiesEntry
|
|
nil, // 22: abi.v1.BlockContext.QueryEntry
|
|
nil, // 23: abi.v1.BlockContext.CookiesEntry
|
|
nil, // 24: abi.v1.BlockContext.HeadersEntry
|
|
(*timestamppb.Timestamp)(nil), // 25: google.protobuf.Timestamp
|
|
}
|
|
var file_v1_render_proto_depIdxs = []int32{
|
|
9, // 0: abi.v1.RenderBlockRequest.render_context:type_name -> abi.v1.RenderContext
|
|
2, // 1: abi.v1.RenderBlockResponse.powered:type_name -> abi.v1.PoweredBlock
|
|
9, // 2: abi.v1.RenderTemplateRequest.render_context:type_name -> abi.v1.RenderContext
|
|
9, // 3: abi.v1.RenderTagRequest.render_context:type_name -> abi.v1.RenderContext
|
|
10, // 4: abi.v1.RenderContext.request:type_name -> abi.v1.RequestInfo
|
|
18, // 5: abi.v1.RenderContext.block_context:type_name -> abi.v1.BlockContext
|
|
11, // 6: abi.v1.RenderContext.page:type_name -> abi.v1.PageContext
|
|
12, // 7: abi.v1.RenderContext.post:type_name -> abi.v1.PostContext
|
|
13, // 8: abi.v1.RenderContext.author:type_name -> abi.v1.AuthorContext
|
|
14, // 9: abi.v1.RenderContext.category:type_name -> abi.v1.CategoryContext
|
|
15, // 10: abi.v1.RenderContext.master_page:type_name -> abi.v1.MasterPageContext
|
|
19, // 11: abi.v1.RenderContext.injected_slots:type_name -> abi.v1.RenderContext.InjectedSlotsEntry
|
|
16, // 12: abi.v1.RenderContext.human_proof_banner:type_name -> abi.v1.HumanProofBanner
|
|
17, // 13: abi.v1.RenderContext.detail_row:type_name -> abi.v1.DetailRow
|
|
20, // 14: abi.v1.RequestInfo.headers:type_name -> abi.v1.RequestInfo.HeadersEntry
|
|
21, // 15: abi.v1.RequestInfo.cookies:type_name -> abi.v1.RequestInfo.CookiesEntry
|
|
25, // 16: abi.v1.PostContext.published_at:type_name -> google.protobuf.Timestamp
|
|
25, // 17: abi.v1.BlockContext.now:type_name -> google.protobuf.Timestamp
|
|
22, // 18: abi.v1.BlockContext.query:type_name -> abi.v1.BlockContext.QueryEntry
|
|
23, // 19: abi.v1.BlockContext.cookies:type_name -> abi.v1.BlockContext.CookiesEntry
|
|
24, // 20: abi.v1.BlockContext.headers:type_name -> abi.v1.BlockContext.HeadersEntry
|
|
21, // [21:21] is the sub-list for method output_type
|
|
21, // [21:21] is the sub-list for method input_type
|
|
21, // [21:21] is the sub-list for extension type_name
|
|
21, // [21:21] is the sub-list for extension extendee
|
|
0, // [0:21] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_v1_render_proto_init() }
|
|
func file_v1_render_proto_init() {
|
|
if File_v1_render_proto != nil {
|
|
return
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_v1_render_proto_rawDesc), len(file_v1_render_proto_rawDesc)),
|
|
NumEnums: 0,
|
|
NumMessages: 25,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_v1_render_proto_goTypes,
|
|
DependencyIndexes: file_v1_render_proto_depIdxs,
|
|
MessageInfos: file_v1_render_proto_msgTypes,
|
|
}.Build()
|
|
File_v1_render_proto = out.File
|
|
file_v1_render_proto_goTypes = nil
|
|
file_v1_render_proto_depIdxs = nil
|
|
}
|