Serializers

Package source: src/srv/serializers/

Meet the Serializers — the layer that converts domain model entities to JSON for API responses. Every domain entity in the application has a corresponding serializer struct with a consistent two-method interface, making it straightforward to produce both single-resource and collection responses without writing bespoke marshaling logic in each handler.

Table of Contents

Overview

The serializers package converts domain model entities to JSON for API responses. Every serializer in the package exposes the same two-method contract, which makes it easy to produce both single-resource and collection responses with a consistent call site pattern.

OneToJson(entity *mdl.Entity) ([]byte, error)   // serializes a single entity instance
SetToJson(entities []*mdl.Entity) ([]byte, error) // serializes a slice of entities by calling OneToJson for each element and assembling a JSON array

SetToJson delegates to OneToJson for each element, so the JSON shape of an item in a collection is always identical to the shape returned for a single resource.

All serializers share the same imports pattern:

import (
    "encoding/json"
    "<module>/src/mdl"
)

The type legend below applies to the Type column in every field table throughout this page. Use it to understand the Go type behind each JSON field at a glance.

Symbol Go type
(none) string
* json.RawMessage
bool
time.Time
# int
§ inline struct

Serializers

ActorSerializer src/srv/serializers/actor_serializer.go

type ActorSerializer struct{}

func (s ActorSerializer) OneToJson(entity *mdl.Actor) ([]byte, error)
func (s ActorSerializer) SetToJson(entities []*mdl.Actor) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
kind string
data *
maestro_id string
model_id string
name string
project_id string

AdapterSerializer src/srv/serializers/adapter_serializer.go

type AdapterSerializer struct{}

func (s AdapterSerializer) OneToJson(entity *mdl.Adapter) ([]byte, error)
func (s AdapterSerializer) SetToJson(entities []*mdl.Adapter) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
interface_service_id string
dev_service_id string
prod_service_id string
test_service_id string
project_id string
type BreadcrumbSerializer struct{}

func (s BreadcrumbSerializer) OneToJson(entity *mdl.Breadcrumb) ([]byte, error)
func (s BreadcrumbSerializer) SetToJson(entities []*mdl.Breadcrumb) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
project_id string
model_id string
route_service_id string
parent_id string
breadcrumb
redirect

CommandSerializer src/srv/serializers/command_serializer.go

type CommandSerializer struct{}

func (s CommandSerializer) OneToJson(entity *mdl.Command) ([]byte, error)
func (s CommandSerializer) SetToJson(entities []*mdl.Command) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
args string
is string
name string
pre_call_code string
project_id string
service_id string

ComponentCallArgSerializer src/srv/serializers/component_call_arg_serializer.go

type ComponentCallArgSerializer struct{}

func (s ComponentCallArgSerializer) OneToJson(entity *mdl.ComponentCallArg) ([]byte, error)
func (s ComponentCallArgSerializer) SetToJson(entities []*mdl.ComponentCallArg) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
kind string
default string
component_call_id string

ComponentCallSerializer src/srv/serializers/component_call_serializer.go

type ComponentCallSerializer struct{}

func (s ComponentCallSerializer) OneToJson(entity *mdl.ComponentCall) ([]byte, error)
func (s ComponentCallSerializer) SetToJson(entities []*mdl.ComponentCall) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
component_id string

ComponentModValueSerializer src/srv/serializers/component_mod_value_serializer.go

type ComponentModValueSerializer struct{}

func (s ComponentModValueSerializer) OneToJson(entity *mdl.ComponentModValue) ([]byte, error)
func (s ComponentModValueSerializer) SetToJson(entities []*mdl.ComponentModValue) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
kind string
default string
component_id string

ComponentSerializer src/srv/serializers/component_serializer.go

type ComponentSerializer struct{}

func (s ComponentSerializer) OneToJson(entity *mdl.Component) ([]byte, error)
func (s ComponentSerializer) SetToJson(entities []*mdl.Component) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
kind string
sub_kind string
kit_id string
data *

DbSerializer src/srv/serializers/db_serializer.go

type DbSerializer struct{}

func (s DbSerializer) OneToJson(entity *mdl.Db) ([]byte, error)
func (s DbSerializer) SetToJson(entities []*mdl.Db) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
populate
project_id string
regenerate
source string

DependencySerializer src/srv/serializers/dependency_serializer.go

type DependencySerializer struct{}

func (s DependencySerializer) OneToJson(entity *mdl.Dependency) ([]byte, error)
func (s DependencySerializer) SetToJson(entities []*mdl.Dependency) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
version string
description string
user_defined
project_id string

EventSerializer src/srv/serializers/event_serializer.go

type EventSerializer struct{}

func (s EventSerializer) OneToJson(entity *mdl.Event) ([]byte, error)
func (s EventSerializer) SetToJson(entities []*mdl.Event) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
what string
who string
when
why string
resource_id string
resource_type string

FileSerializer src/srv/serializers/file_serializer.go

type FileSerializer struct{}

func (s FileSerializer) OneToJson(entity *mdl.File) ([]byte, error)
func (s FileSerializer) SetToJson(entities []*mdl.File) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
location string
copy

FolderSerializer src/srv/serializers/folder_serializer.go

type FolderSerializer struct{}

func (s FolderSerializer) OneToJson(entity *mdl.Folder) ([]byte, error)
func (s FolderSerializer) SetToJson(entities []*mdl.Folder) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
location string
copy

FormFieldSerializer src/srv/serializers/form_field_serializer.go

type FormFieldSerializer struct{}

func (s FormFieldSerializer) OneToJson(entity *mdl.FormField) ([]byte, error)
func (s FormFieldSerializer) SetToJson(entities []*mdl.FormField) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
form_id string
kind string
name string
label string
model_field_id string
structure_field_id string

FormSerializer src/srv/serializers/form_serializer.go

type FormSerializer struct{}

func (s FormSerializer) OneToJson(entity *mdl.Form) ([]byte, error)
func (s FormSerializer) SetToJson(entities []*mdl.Form) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
model_id string
name string
project_id string
parent_id string

FormValidatorSerializer src/srv/serializers/form_validator_serializer.go

type FormValidatorSerializer struct{}

func (s FormValidatorSerializer) OneToJson(entity *mdl.FormValidator) ([]byte, error)
func (s FormValidatorSerializer) SetToJson(entities []*mdl.FormValidator) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
form_field_id string
form_id string
kind string

GoFileSerializer src/srv/serializers/go_file_serializer.go

type GoFileSerializer struct{}

func (s GoFileSerializer) OneToJson(entity *mdl.GoFile) ([]byte, error)
func (s GoFileSerializer) SetToJson(entities []*mdl.GoFile) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
class_name string
name string
package_name string
annotation string
path string

GoFunctionImportationSerializer src/srv/serializers/go_function_importation_serializer.go

type GoFunctionImportationSerializer struct{}

func (s GoFunctionImportationSerializer) OneToJson(entity *mdl.GoFunctionImportation) ([]byte, error)
func (s GoFunctionImportationSerializer) SetToJson(entities []*mdl.GoFunctionImportation) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
external
go_function_id string
path string
short string

GoFunctionInjectionSerializer src/srv/serializers/go_function_injection_serializer.go

type GoFunctionInjectionSerializer struct{}

func (s GoFunctionInjectionSerializer) OneToJson(entity *mdl.GoFunctionInjection) ([]byte, error)
func (s GoFunctionInjectionSerializer) SetToJson(entities []*mdl.GoFunctionInjection) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
go_function_id string
service_id string

GoFunctionSerializer src/srv/serializers/go_function_serializer.go

type GoFunctionSerializer struct{}

func (s GoFunctionSerializer) OneToJson(entity *mdl.GoFunction) ([]byte, error)
func (s GoFunctionSerializer) SetToJson(entities []*mdl.GoFunction) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
body string
go_file_id string
in string
name string
out string

GoStructureSerializer src/srv/serializers/go_structure_serializer.go

type GoStructureSerializer struct{}

func (s GoStructureSerializer) OneToJson(entity *mdl.GoStructure) ([]byte, error)
func (s GoStructureSerializer) SetToJson(entities []*mdl.GoStructure) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
code string
go_file_id string

GocDsItemArgSerializer src/srv/serializers/goc_ds_item_arg_serializer.go

type GocDsItemArgSerializer struct{}

func (s GocDsItemArgSerializer) OneToJson(entity *mdl.GocDsItemArg) ([]byte, error)
func (s GocDsItemArgSerializer) SetToJson(entities []*mdl.GocDsItemArg) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
goc_ds_item_id string
component_call_arg_id string
value string

GocDsItemSerializer src/srv/serializers/goc_ds_item_serializer.go

type GocDsItemSerializer struct{}

func (s GocDsItemSerializer) OneToJson(entity *mdl.GocDsItem) ([]byte, error)
func (s GocDsItemSerializer) SetToJson(entities []*mdl.GocDsItem) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
mod_config §
component_id string
component_call_id string
goc_item_id string

GocItemSerializer src/srv/serializers/goc_item_serializer.go

type GocItemSerializer struct{}

func (s GocItemSerializer) OneToJson(entity *mdl.GocItem) ([]byte, error)
func (s GocItemSerializer) SetToJson(entities []*mdl.GocItem) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
goc_id string
name string
kind string
parent_id string
position #
wrap string
skip string
params string
sliced_return
data *

GocPlainItemAttributeSerializer src/srv/serializers/goc_plain_item_attribute_serializer.go

type GocPlainItemAttributeSerializer struct{}

func (s GocPlainItemAttributeSerializer) OneToJson(entity *mdl.GocPlainItemAttribute) ([]byte, error)
func (s GocPlainItemAttributeSerializer) SetToJson(entities []*mdl.GocPlainItemAttribute) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
dynamic
goc_plain_item_id string
key string
value string

GocPlainItemSerializer src/srv/serializers/goc_plain_item_serializer.go

type GocPlainItemSerializer struct{}

func (s GocPlainItemSerializer) OneToJson(entity *mdl.GocPlainItem) ([]byte, error)
func (s GocPlainItemSerializer) SetToJson(entities []*mdl.GocPlainItem) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
goc_item_id string
node_type string
component_call string
value string

GocSerializer src/srv/serializers/goc_serializer.go

type GocSerializer struct{}

func (s GocSerializer) OneToJson(entity *mdl.Goc) ([]byte, error)
func (s GocSerializer) SetToJson(entities []*mdl.Goc) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
service_id string

ImplementationSerializer src/srv/serializers/implementation_serializer.go

type ImplementationSerializer struct{}

func (s ImplementationSerializer) OneToJson(entity *mdl.Implementation) ([]byte, error)
func (s ImplementationSerializer) SetToJson(entities []*mdl.Implementation) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
service_id string
adapter_id string

ImportationSerializer src/srv/serializers/importation_serializer.go

type ImportationSerializer struct{}

func (s ImportationSerializer) OneToJson(entity *mdl.Importation) ([]byte, error)
func (s ImportationSerializer) SetToJson(entities []*mdl.Importation) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
external
path string
short string

InstructionSerializer src/srv/serializers/instruction_serializer.go

type InstructionSerializer struct{}

func (s InstructionSerializer) OneToJson(entity *mdl.Instruction) ([]byte, error)
func (s InstructionSerializer) SetToJson(entities []*mdl.Instruction) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
kind string
position #
service_function_id string

KitSerializer src/srv/serializers/kit_serializer.go

type KitSerializer struct{}

func (s KitSerializer) OneToJson(entity *mdl.Kit) ([]byte, error)
func (s KitSerializer) SetToJson(entities []*mdl.Kit) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
type MenuItemSerializer struct{}

func (s MenuItemSerializer) OneToJson(entity *mdl.MenuItem) ([]byte, error)
func (s MenuItemSerializer) SetToJson(entities []*mdl.MenuItem) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
link string
menu_id string
name string
type MenuSerializer struct{}

func (s MenuSerializer) OneToJson(entity *mdl.Menu) ([]byte, error)
func (s MenuSerializer) SetToJson(entities []*mdl.Menu) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
is string
name string
project_id string

ModelConfigSerializer src/srv/serializers/model_config_serializer.go

type ModelConfigSerializer struct{}

func (s ModelConfigSerializer) OneToJson(entity *mdl.ModelConfig) ([]byte, error)
func (s ModelConfigSerializer) SetToJson(entities []*mdl.ModelConfig) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
model_field_id string

ModelFieldSerializer src/srv/serializers/model_field_serializer.go

type ModelFieldSerializer struct{}

func (s ModelFieldSerializer) OneToJson(entity *mdl.ModelField) ([]byte, error)
func (s ModelFieldSerializer) SetToJson(entities []*mdl.ModelField) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
kind string
model_id string
name string
position #
structure_field_id string
allow_empty
utility
config *
data *

ModelKinshipSerializer src/srv/serializers/model_kinship_serializer.go

type ModelKinshipSerializer struct{}

func (s ModelKinshipSerializer) OneToJson(entity *mdl.ModelKinship) ([]byte, error)
func (s ModelKinshipSerializer) SetToJson(entities []*mdl.ModelKinship) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
model_id string
through_id string

ModelRelationSerializer src/srv/serializers/model_relation_serializer.go

type ModelRelationSerializer struct{}

func (s ModelRelationSerializer) OneToJson(entity *mdl.ModelRelation) ([]byte, error)
func (s ModelRelationSerializer) SetToJson(entities []*mdl.ModelRelation) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
kind string
model_id string
name string
owner
position #
reversed_id string
to_id string
via_id string
project_id string

ModelSerializer src/srv/serializers/model_serializer.go

type ModelSerializer struct{}

func (s ModelSerializer) OneToJson(entity *mdl.Model) ([]byte, error)
func (s ModelSerializer) SetToJson(entities []*mdl.Model) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
description string
is string
project_id string
data *
crud

ModelValidationSerializer src/srv/serializers/model_validation_serializer.go

type ModelValidationSerializer struct{}

func (s ModelValidationSerializer) OneToJson(entity *mdl.ModelValidation) ([]byte, error)
func (s ModelValidationSerializer) SetToJson(entities []*mdl.ModelValidation) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
kind string
model_field_id string
model_id string

PopulationSerializer src/srv/serializers/population_serializer.go

type PopulationSerializer struct{}

func (s PopulationSerializer) OneToJson(entity *mdl.Population) ([]byte, error)
func (s PopulationSerializer) SetToJson(entities []*mdl.Population) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
count #
model_id string

ProjectConfigSerializer src/srv/serializers/project_config_serializer.go

type ProjectConfigSerializer struct{}

func (s ProjectConfigSerializer) OneToJson(entity *mdl.ProjectConfig) ([]byte, error)
func (s ProjectConfigSerializer) SetToJson(entities []*mdl.ProjectConfig) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
input_dir string
name string
output_dir string
package string
project_id string
reference_path string
sync_id string
data *

ProjectSerializer src/srv/serializers/project_serializer.go

type ProjectSerializer struct{}

func (s ProjectSerializer) OneToJson(entity *mdl.Project) ([]byte, error)
func (s ProjectSerializer) SetToJson(entities []*mdl.Project) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
description string
userbase string
discovery
depicting

ResourceSerializer src/srv/serializers/resource_serializer.go

type ResourceSerializer struct{}

func (s ResourceSerializer) OneToJson(entity *mdl.Resource) ([]byte, error)
func (s ResourceSerializer) SetToJson(entities []*mdl.Resource) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
filepath string
project_id string

RouteSerializer src/srv/serializers/route_serializer.go

type RouteSerializer struct{}

func (s RouteSerializer) OneToJson(entity *mdl.Route) ([]byte, error)
func (s RouteSerializer) SetToJson(entities []*mdl.Route) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
actor_id string
data *
has_id_param
kind string
method string
name string
project_id string
section string
service_id string
url string

ServiceFunctionSerializer src/srv/serializers/service_function_serializer.go

type ServiceFunctionSerializer struct{}

func (s ServiceFunctionSerializer) OneToJson(entity *mdl.ServiceFunction) ([]byte, error)
func (s ServiceFunctionSerializer) SetToJson(entities []*mdl.ServiceFunction) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
data *
kind string
name string
service_id string

ServiceImportSerializer src/srv/serializers/service_import_serializer.go

type ServiceImportSerializer struct{}

func (s ServiceImportSerializer) OneToJson(entity *mdl.ServiceImport) ([]byte, error)
func (s ServiceImportSerializer) SetToJson(entities []*mdl.ServiceImport) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
importation_id string
service_id string

ServiceInjectionSerializer src/srv/serializers/service_injection_serializer.go

type ServiceInjectionSerializer struct{}

func (s ServiceInjectionSerializer) OneToJson(entity *mdl.ServiceInjection) ([]byte, error)
func (s ServiceInjectionSerializer) SetToJson(entities []*mdl.ServiceInjection) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
injected_service_id string
service_id string

ServiceKindSerializer src/srv/serializers/service_kind_serializer.go

type ServiceKindSerializer struct{}

func (s ServiceKindSerializer) OneToJson(entity *mdl.ServiceKind) ([]byte, error)
func (s ServiceKindSerializer) SetToJson(entities []*mdl.ServiceKind) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
description string
user_defined
project_id string

ServiceSerializer src/srv/serializers/service_serializer.go

type ServiceSerializer struct{}

func (s ServiceSerializer) OneToJson(entity *mdl.Service) ([]byte, error)
func (s ServiceSerializer) SetToJson(entities []*mdl.Service) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
code string
free
go_file_id string
is string
kind string
location string
model_id string
name string
parent_id string
position #
interfaced
support
project_id string
sub_kind string
data *
sub_data *

StorySerializer src/srv/serializers/story_serializer.go

type StorySerializer struct{}

func (s StorySerializer) OneToJson(entity *mdl.Story) ([]byte, error)
func (s StorySerializer) SetToJson(entities []*mdl.Story) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
description string
text string
free
kind string
project_id string

StructureFieldSerializer src/srv/serializers/structure_field_serializer.go

type StructureFieldSerializer struct{}

func (s StructureFieldSerializer) OneToJson(entity *mdl.StructureField) ([]byte, error)
func (s StructureFieldSerializer) SetToJson(entities []*mdl.StructureField) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
annotations string
array
embedded
kind string
name string
pointer
primitive string
structure_id string
to_structure_id string

StructureSerializer src/srv/serializers/structure_serializer.go

type StructureSerializer struct{}

func (s StructureSerializer) OneToJson(entity *mdl.Structure) ([]byte, error)
func (s StructureSerializer) SetToJson(entities []*mdl.Structure) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
importation_path string
kind string
name string
project_id string

TailwindGroupSerializer src/srv/serializers/tailwind_group_serializer.go

type TailwindGroupSerializer struct{}

func (s TailwindGroupSerializer) OneToJson(entity *mdl.TailwindGroup) ([]byte, error)
func (s TailwindGroupSerializer) SetToJson(entities []*mdl.TailwindGroup) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
section_id string

TailwindSectionSerializer src/srv/serializers/tailwind_section_serializer.go

type TailwindSectionSerializer struct{}

func (s TailwindSectionSerializer) OneToJson(entity *mdl.TailwindSection) ([]byte, error)
func (s TailwindSectionSerializer) SetToJson(entities []*mdl.TailwindSection) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
division string

TailwindValueSerializer src/srv/serializers/tailwind_value_serializer.go

type TailwindValueSerializer struct{}

func (s TailwindValueSerializer) OneToJson(entity *mdl.TailwindValue) ([]byte, error)
func (s TailwindValueSerializer) SetToJson(entities []*mdl.TailwindValue) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
stepped
group_id string

TemplateSerializer src/srv/serializers/template_serializer.go

type TemplateSerializer struct{}

func (s TemplateSerializer) OneToJson(entity *mdl.Template) ([]byte, error)
func (s TemplateSerializer) SetToJson(entities []*mdl.Template) ([]byte, error)
JSON field Type
id string
created_at string
updated_at string
name string
key string
description string

Next Steps

  • Appliers — understand the post-creation orchestration that produces the entities serializers convert
  • Handler — see how entities are written to the database before they reach a serializer
  • Fetcher — learn how entities are retrieved so they can be passed to serializers