// 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 }